One of the big mysteries inside the Ultima Online DAT file were the .m (.m.q) files. Those files, like the directory name suggests, contain code. As it turns out, the scripts are obfuscated but by analyzing the script execution engine inside uodemo.exe I was able to figure it all out.
More technical explanation can be found on the wiki :
There are 1615 scripts in total, 814 of them assign behaviours to objects. The other 801 are the behaviours themselves, the skills & dungeon scripts (quests). OSI magery is spread over more than 120 scripts (2 scripts per spell).
How to "decompile" the scripts:
1) Extract the "scripts" directory from the DAT file :
2) Download the Mass M Decompiler :
3) Run the "Mass M Decompiler" and point it to the "scripts" directory
4) Press the Dump All button when decompilation is complete
You will find that the variable names inside the scripts are obfuscated.
Click to visit: JoinUO free shard list
Decompiling/Deobfuscating the Ultima Online Demo scripts
9 posts
• Page 1 of 1
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything
|
|
Nothing is changed.. Mass decompile button doesnt work.
|
|
Hello xantier
You have to press the "..." button and select the directory that contains the .m files & the sdb.txt file.
If you have VB.Net installed (Express editions should work), set a break-point at the ScanAndDecompileAll procedure at see what happens there. <Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything
|
|
Link doesn't work for me.
|
|
I can't get the Mass Decompile to work either. I've selected the correct directory, but still nothing.
edit: Nevermind, I got it working after messing around with it in visual studio a bit. Btw, thank you for all of this Batlin. Now I just gotta figure out a way to re-compile the scripts. ;p |
|
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything
|
|
|
|
I've uploaded a new version of the Mass M Decompiler which fixes a bug that Garret reported me 9 months ago. Sorry for the delay.
To fix the bug manually in your already decompiled scripts: replace "location usedon" by "location place" in those scripts that implement the "targetloc" event. <Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything
|
|
<Derrick> RunUO AI is kind of a functional prototype, which i have hacked into something resembling OSI behavior, but only by complitcating everything
|
|
9 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 0 guests