UI_create_barge_object intrinsic
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
-
- Posts: 565
- Joined: Thu May 14, 2020 1:34 pm
UI_create_barge_object intrinsic
I've noticed the UI_create_barge_object intrinsic doesn't work. I tried to use it but it wasn't declared. I looked up the actual number in the exult source code and it said 0xd5 so it should be there and useable like the others, but I couldn't get it to work. Is there a reason it isn't working?
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
It compiled okay for me:
I'm not able to manipulate it the same way I can with one created manually in ES. Double-clicking on the code-created one does not do anything.var avatar_position = UI_get_object_position(AVATAR);
UI_create_barge_object(8, 8, NORTH);
UI_update_last_created([avatar_position]);
-
- Posts: 565
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
When I use "UI_create_barge_object" it tells me 'UI_create_barge_object' not declared. I'm using BG though. hmm..
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
Did you check using the latest UCC.exe?
And did you create a bug for this? There's an issue with changing egg shapes as well, in that they aren't treated like they are "special" but just plain old shapes with no additional modifications available in ES. So this barge issue might be connected to that.
And did you create a bug for this? There's an issue with changing egg shapes as well, in that they aren't treated like they are "special" but just plain old shapes with no additional modifications available in ES. So this barge issue might be connected to that.
Re: UI_create_barge_object intrinsic
I can see why the eggs created in Usecode don't work, and am thinking about a solution. We might need to add a 'create_egg' intrinsic.
But the barges *ought* to work, so I'm looking at that too. Something's wrong...
But the barges *ought* to work, so I'm looking at that too. Something's wrong...
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
I would lean towards a new egg intrinsic rather than adding to an existing intrinsic, both for troubleshooting purposes and simplicity for modders. It would be awesome to get all egg types available this way, not just Usecode eggs.
The only correlating fact I can see between these two shapes is that they work fine when added via ES, but not via Usecode.
Your help on these things is much appreciated, DrCode.
The only correlating fact I can see between these two shapes is that they work fine when added via ES, but not via Usecode.
Your help on these things is much appreciated, DrCode.
Re: UI_create_barge_object intrinsic
Playing around:
1. I noticed that creating a barge through the shape browser wasn't doing it correctly, so I'm fixing that.
2. But double-clicking a barge itself doesn't do anything; you need to have barge 'parts' on top of it. For example, placing a piece of the cart over the new barge and double-clicking that will execute code to find the barge, and then looks for a horse as well.
3. You probably already know that the 'e' key turns on display of eggs and barges. If the barge is created correctly, you'll see a yellow outline of its size, in addition to the red square. As a test, put a horse and a cart piece inside it and double-click one of them (BG).
1. I noticed that creating a barge through the shape browser wasn't doing it correctly, so I'm fixing that.
2. But double-clicking a barge itself doesn't do anything; you need to have barge 'parts' on top of it. For example, placing a piece of the cart over the new barge and double-clicking that will execute code to find the barge, and then looks for a horse as well.
3. You probably already know that the 'e' key turns on display of eggs and barges. If the barge is created correctly, you'll see a yellow outline of its size, in addition to the red square. As a test, put a horse and a cart piece inside it and double-click one of them (BG).
-
- Posts: 565
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
wow didn't know that, thanks for all your work on these things DrCode!
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Re: UI_create_barge_object intrinsic
How useful would it be to have a UI_create_egg intrinsic? It would have to be a bit complicated, with parameters to set all the criteria, plus different ones for each egg type. Are there things you can only do this way, vs creating an egg in ES and then, say, changing its usecode function?
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
Very useful to me.
It's complicated, but more "no" than "yes".
I had requested a create-egg-via-usecode feature for a few technical reasons:
A) The mod I am doing is going to require tens of eggs. I would need to manually track and place those rather than just script them. Woe to me if I want to change them.
B) Map editing is fraught with danger, and a wrong change can require reverting and retrying. This has tripped up other modders.
C) Maps are not broken out into source code but rather use a compressed binary, so change tracking relies solely on the submitter's description. SIfixes uses an altered map, mostly due to the inn keeper key collection eggs, but there's no way to prove that via source.
D) Usecode eggs are visibly different from others, so conditional eggs for weather, monsters, etc won't stand out via map editing or show egg mode.
E) Adding many eggs from the start could have a tiny performance impact since each would need to check flags as the player walks around.
F) The only mod storyline part I have written to require egg replacement is in one of the original-but-missed caverns in the Mountains of Freedom. I may be able to change the existing eggs via usecode_array or script blocks.
Ideally we'd have multiple commands like UI_create_usecode_egg, UI_create_teleporter_egg, UI_create_spawn_egg, etc, so the syntax for each is clear. Each would have the coordinates first, then relevant inputs.
While I'd love this feature, I think as a limited resource you're more valuable fixing Combat since that impacts all players not just a few modders.
It's complicated, but more "no" than "yes".
I had requested a create-egg-via-usecode feature for a few technical reasons:
A) The mod I am doing is going to require tens of eggs. I would need to manually track and place those rather than just script them. Woe to me if I want to change them.
B) Map editing is fraught with danger, and a wrong change can require reverting and retrying. This has tripped up other modders.
C) Maps are not broken out into source code but rather use a compressed binary, so change tracking relies solely on the submitter's description. SIfixes uses an altered map, mostly due to the inn keeper key collection eggs, but there's no way to prove that via source.
D) Usecode eggs are visibly different from others, so conditional eggs for weather, monsters, etc won't stand out via map editing or show egg mode.
E) Adding many eggs from the start could have a tiny performance impact since each would need to check flags as the player walks around.
F) The only mod storyline part I have written to require egg replacement is in one of the original-but-missed caverns in the Mountains of Freedom. I may be able to change the existing eggs via usecode_array or script blocks.
Ideally we'd have multiple commands like UI_create_usecode_egg, UI_create_teleporter_egg, UI_create_spawn_egg, etc, so the syntax for each is clear. Each would have the coordinates first, then relevant inputs.
While I'd love this feature, I think as a limited resource you're more valuable fixing Combat since that impacts all players not just a few modders.
-
- Posts: 565
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
I agree, combat is probably the highest priority since it's the most broken and is probably the most glaring bug in all of Exult and impacts all players. But whatever you do , it's greatly appreciated!
I've not tried the changes yet to the barge object intrinsic yet, since i've been doing map work. As far as the U6 mod goes, I need to be able to create the barge with the proper x, y values and place it where the balloon shape would be, and have it useable with the shape. I'm not sure exactly which route I'm going for the balloon yet, but one idea is to make it similar to the magic carpet where the party would stand in the "basket", doubleclick would raise start the balloon frames to inflate the balloon then double clicking again would lower it then, then being able to deflate the balloon and pack it. The easier way would be not rendering the party once the shape is doubleclicked and a few other things to make it look nice. Both require better looking shapes from Crowley than I'm using right now for a stand in lol
I've not tried the changes yet to the barge object intrinsic yet, since i've been doing map work. As far as the U6 mod goes, I need to be able to create the barge with the proper x, y values and place it where the balloon shape would be, and have it useable with the shape. I'm not sure exactly which route I'm going for the balloon yet, but one idea is to make it similar to the magic carpet where the party would stand in the "basket", doubleclick would raise start the balloon frames to inflate the balloon then double clicking again would lower it then, then being able to deflate the balloon and pack it. The easier way would be not rendering the party once the shape is doubleclicked and a few other things to make it look nice. Both require better looking shapes from Crowley than I'm using right now for a stand in lol
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
How did the expansions add eggs in addition to the map changes? Might there a clue there?
Re: UI_create_barge_object intrinsic
Didn't they just make map changes?
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
If I recall right, it was possible to install the expansions and keep going with existing saved games. So how would they update those saves?
Re: UI_create_barge_object intrinsic
Looking through the usecode disassembly for the copy of SI+SS that I have, the only time I see an egg shape # (0113H) used is in calls to 'find_nearby'.
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
That's a valid point. I have a mostly pulled-apart version of SI+SS Usecode I can share with you.
For the UCC issue I have, I'll need to check with the latest build of Exult Tools.
For the UCC issue I have, I'll need to check with the latest build of Exult Tools.
-
- Posts: 565
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
I was thinking of some new exult intrinsics / features that could be useful. Would it be possible to make something to where you could place combos from combos.flx in Exult studio via usecode? Maybe the parameters could be something like x, y, z location to place, then # of combo in the combos.flx file. It would be fun to make randomized camps of enemies / monsters in the wilderness like that in an easy way rather than having to manually set the x, y offsets and placing individual objects, but using something like UI_place_combo that will check for space to place the combo and place the combo if true.
Other possible uses for this would be modifying the bedroll code where the Avatar makes a camp that you create in ES with the combo, and places it near the bedroll (Maybe a campfire, pot with food, etc.).
Would also be useful in creating barges maybe... instead of manually creating the barge line by line in code, you create the combo first in ES then you could place the entire combo via exult intrinsic in the code?
Would this be possible?
Other possible uses for this would be modifying the bedroll code where the Avatar makes a camp that you create in ES with the combo, and places it near the bedroll (Maybe a campfire, pot with food, etc.).
Would also be useful in creating barges maybe... instead of manually creating the barge line by line in code, you create the combo first in ES then you could place the entire combo via exult intrinsic in the code?
Would this be possible?
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Re: UI_create_barge_object intrinsic
Could be possible. Interesting idea.
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
One of the things I've written as new Usecode function is to create the SI game start boat piece by piece (at once to the player). I did hard code the placement, but it would be possible to make it either an egg and set the placements + or - based on that, or send the position coordinates and then set the placements + or - based on that. Doing something similar for the balloon or barge would be possible.
I like the idea of randomized camps!
I like the idea of randomized camps!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
I just got wiped out by a Z level height limit:
https://sourceforge.net/p/exult/bugs/1532/
The manor for Selina that I had planned is unusable due to this bug.
https://sourceforge.net/p/exult/bugs/1532/
The manor for Selina that I had planned is unusable due to this bug.
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
This is all via Usecode:
This is the result of the limit on the Z-axis:
The highest Z-axis point I've found in SI is the tower NW of Moonshade, with fence pieces at the top at Z-14.
This is the result of the limit on the Z-axis:
The highest Z-axis point I've found in SI is the tower NW of Moonshade, with fence pieces at the top at Z-14.
Re: UI_create_barge_object intrinsic
That's odd. I think I built higher than that with Studio and it kept.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
Highest surviving levels:
-
- Posts: 565
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
Why did you build it via code, instead of manually? Looks pretty cool though!
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
To show that time had passed while the Avatar was unconscious after Batlin's death.
Re: UI_create_barge_object intrinsic
Can you confirm that it is happening with both manual and usecode building?
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
Both, via Edit Mode and via Usecode.
0x10 -> 0x0
0x11 -> 0x1
etc.
I'm also not able to save manually placed z-0 flat shapes at z-0 if there's already grass there.
0x10 -> 0x0
0x11 -> 0x1
etc.
I'm also not able to save manually placed z-0 flat shapes at z-0 if there's already grass there.
Re: UI_create_barge_object intrinsic
Can you give me an easy to trigger example code? Best a mod with a savegame to trigger it. It may be a regression and I might be able to quickly test with my collection of snapshots where it broke (if it broke in the last couple of years). I'm not able to test with Exult Studio as I didn't keep OS X snapshots of that.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
Sure, I'll email you my latest mod code.
I'm also seeing that importing PNG files into ES is not working correctly, but haven't tracked that down yet. Might be my image editor?
I'm also seeing that importing PNG files into ES is not working correctly, but haven't tracked that down yet. Might be my image editor?
Re: UI_create_barge_object intrinsic
No idea. I generally avoid that and save to shp and import from sho.
Side note, I'd rather see you start new topics than going off topic again and again (this thread is a prime example )
Side note, I'd rather see you start new topics than going off topic again and again (this thread is a prime example )
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: UI_create_barge_object intrinsic
Yeah, it was GIMP. Anyway, the file is over to you.