Just for fun, I tried looking into the inner workings of Ultima 7 using Exult, and followed the well written document "Readme.win32" into how to set up a development environment on a 32 bit Windows machine using MinGW+MSys.
All steps are clear and proved to be correct, but I did find a missing package that needed to be installed :
http://sourceforge.net/projects/mingw/f ... a/download
If this package is not found, "make" will complain about missing libgmp-10.dll.
So I got that sorted out, everything compiled beautifully and off I went to run ucxt, no luck with ucxt unable to locate my static folder, but I finally figured it out:
1. Looking into exult.cfg, I changed my tags to , and tags to
the reason for that is the GameManager was insisting for the correct configurations when trying to find the STATIC folder. I point my finger at the Exult installer's configuration screen, it only configured installations for BlackGate and SerpentIsle.
2. My ucxt command line had to look something like this:
ucxt -fov -uc -fs -ousecode.uc 0x6a4
The point here is also not mixing up -bg and -fov flags, which I had the misfortune of doing that.
In conclusion, it was a rewarding experience, and now I can run Exult, launch Exult Studio using ctrl+alt+m, look at an egg's usecode fucntion reference, see the original usecode function, and play around with the code as I like, and even I can change some exult source code, compile, and run. Amazing stuff.
Anyways, thought I'd share this for anyone who might run into issues similar to what I did.
Notes on Setting up Development Environment and Decompiling
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
Re: Notes on Setting up Development Environment and Decompil
Thanks for the report, Kirben fixed the Readme.win32 with the missing package. Good to know that the instructions still work
as for the ucxt thing, there might be a mixup with exult.cfg tags and the command line. By default we only use the and tag because most people don't have the original non-add-on games anymore. And then ucxt might get confused. Will perhaps have time to look into this later tonight.
Have fun with the tinkering. To see what is possible with all this, take a look at the sources for the keyring and sifixes mod (in /contents of our source).
as for the ucxt thing, there might be a mixup with exult.cfg tags and the command line. By default we only use the and tag because most people don't have the original non-add-on games anymore. And then ucxt might get confused. Will perhaps have time to look into this later tonight.
Have fun with the tinkering. To see what is possible with all this, take a look at the sources for the keyring and sifixes mod (in /contents of our source).
--
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!
Re: Notes on Setting up Development Environment and Decompil
Thanks, I'm indeed having fun tinkering with the code, and truly the sources for keyring and sifixes are indispensable in order to understand what's what.
For example the enumerations found in /content/bgkeyring/src/headers/bg/ and similar in /content/sifixes/src/header/si are like the Rosetta Stone for usecode, plus the methods found in /docs/exult_intrinsics.txt.
Of course I'm taking things little by little. Maybe some day I can be of use
For example the enumerations found in /content/bgkeyring/src/headers/bg/ and similar in /content/sifixes/src/header/si are like the Rosetta Stone for usecode, plus the methods found in /docs/exult_intrinsics.txt.
Of course I'm taking things little by little. Maybe some day I can be of use