Page 1 of 1

Notes on Setting up Development Environment and Decompiling

Posted: Fri Jul 25, 2014 12:32 pm
by eriol
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.

Re: Notes on Setting up Development Environment and Decompil

Posted: Sat Jul 26, 2014 7:51 am
by Dominus
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).

Re: Notes on Setting up Development Environment and Decompil

Posted: Sat Jul 26, 2014 7:28 pm
by eriol
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 :)