Jump to content

MAJOR undertaking with the Infinity Engine


Recommended Posts

Ok, don't get too excited because this is going to be a huge undertaking, but I think I can get it done. I'm going to attempt to do a complete disassembly of torment.exe I'm just starting, my disassembler has been running for a hour now so like I said, don't expect too much too soon.

Some things are starting to come out though, looks like the data formats are there, at least the code that accesses them and they have some meaningful labels. Some odd strings are popping up, "Tastesgreat" "Lessfilling" are two back to back strings that stand out.

Anyway I'm no stranger to doing this sort of thing, albet not a project of this size. You can see my current work at Wasteland.wikispaces.com

 

Anyway wish me luck, and any help would be welcome!

Link to comment

Ah, one of the Wasteland guys! You've found some interesting stuff in recent times. Let me know when it's possible to mod in a Christina romance.

 

Aside from your general exploration, you might consider polling the IESDP and GemRB maintainers to see if there's any long-standing assumptions they'd like more information or validations about, or mysteries still to be uncovered...

 

(before anybody starts hyperventilating... to take nothing away from Displacer's efforts, others have disassembled the engine in the past and poked around, so the fact that somebody is having a look again does not necessarily mean that the seas will be parted and all mysteries revealed.)

Link to comment

Good luck.

 

I recently looked at BG2 in a dissassembler, though it's not quite my field. I did manage to override the SetCurrentXP command to give a fixed XP amount (as opposed to using the value passed), however thats pretty useless :)

 

Anyway, good luck, and keep us informed.

Link to comment

After studying BG1's EXE for awhile, I arrived at the conclusion it would be easier to code my own engine based on the data than to waste time on Bioware's mess. (The GemRB crew apparently agrees to some extent.) However, I'm currently editing DLLs for another game, so my IE projects are shelved.

 

If you want to experiment with live data, another thing you can do is use a run-time debugger, such as Ollydbg (free) or SoftIce. They let you set breakpoints in places where you think something's happening, in order to track down what you're after. Handy if you want to know register states and passed parameters at a particular address. Or you can just trace the code from the start and find things along the way. Depends on how many years you want to spend on it. :)

Link to comment

Well, i would be extremely happy (almost hyperventillating) if someone decompiled the torment, bg2/bg1 or any other IE engine.

I've did some debugging of the effects in bg2/torment, but only scratched the surface.

 

[edit]

smoketest: a simple ms visual studio 6 is enough to do run-time debugging of bg2 or torment. Didn't try iwd2, i think some versions of iwd2 are not easily debugged (they are encrypted and probably armed against debuggers).

 

displacer: on your site i saw only the wasteland project, please notify me, if you have anything about an IE engine.

Link to comment
Well, i would be extremely happy (almost hyperventillating) if someone decompiled the torment, bg2/bg1 or any other IE engine.

I've did some debugging of the effects in bg2/torment, but only scratched the surface.

 

[edit]

smoketest: a simple ms visual studio 6 is enough to do run-time debugging of bg2 or torment. Didn't try iwd2, i think some versions of iwd2 are not easily debugged (they are encrypted and probably armed against debuggers).

 

displacer: on your site i saw only the wasteland project, please notify me, if you have anything about an IE engine.

 

I have the .exe disassembly completed, took over an hour to get the job done and the resulting database is almost 60 megs, so don't expect anything soon.

 

The wasteland page was just to let ya know I know what I'm doing, although I've never took on anything this large! I may start another wiki for this, but I don't know for sure if I will or not.

 

I'm going to try and use turbo debugger32, its kinda old but I know my way around it well. I'll have to test it to see if it will work with this though. I saw some strings in the exe that refered to debuggers such as softice and others so there may be some anti-debugging code, but I used to disassemble viruses so I can probably work around anything.

 

I'm still working on my wasteland project also so I'll have to split what little time I have between them.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...