Jump to content
Taimon

Various ToB hacks

Recommended Posts

I'm trying to install your EXE hacks (mostly for the songlist "fix"), and it's not working. I have an otherwise ordinary ToB install, latest patch (26498), English language, and so forth. Ascension64's EXE patches work just fine, but none of yours will install ("Target bytes don't match"). And I mean literally none of them. Exactly which version of ToB are they designed for?

ToB v26498 on Windows. This is the same executable for all languages.

 

A64 does some scanning to find the correct place while I use fixed offsets.

What is the md5sum of your officially patched executable?

Share this post


Link to post
Guest Guest_Anonymous_*
What is the md5sum of your officially patched executable?

 

A little md5sum tool I found via Google returns, for my unmodified (backup) BGMain.exe, 064b6287db3be4d849dbc1d9c81ae323.

Share this post


Link to post

Here is the data from my executable:

md5sum:		 b519702eec18da69c846c3bdbebac438
sha1:		   8c3ac2807fb36bb9446911062e695bb50c7d7f3d

size:		   7839790 Bytes
file version:   2.5.0.2
private build:  26498

 

Not sure why yours is different. Is the file size the same?

Share this post


Link to post
Guest Guest_Anonymous_*
Not sure why yours is different. Is the file size the same?

 

D'oh! Apparently I have 26499, not 26498. It's been in my ancient (5 years old, maybe?) clean install so long I forgot it was there. According to this it "fixes 26498 if slow load times appear." Must've sounded good at the time.

 

Any chance you could be bothered to rewrite your patches to scan for the relevant code like A64's stuff? Or at worst write a separate version for 26499? If not, I can always reinstall and use 26498 instead.

 

I'm sorry about the confusion/trouble.

Share this post


Link to post

26499 is buggy, because it removes information from the save games to speed the load times. Use 26498 instead (you can simply install 26498 over 26499 to downgrade if you haven't installed any mods).

Edited by the bigg

Share this post


Link to post
Any chance you could be bothered to rewrite your patches to scan for the relevant code like A64's stuff?

Nope. Some patches modify (and depend on) too many things. And some of them might need to be modified for different game versions.

 

Or at worst write a separate version for 26499?

I guess you don't have any idea on how much time reversing/creating patches takes. :)

Sorry, not gonna happen. It's v26498 or nothing for me.

Share this post


Link to post

Any chance you could publish/link to a tutorial and/or publish a list of useful effects and constants? There's an heap of those annoying race/class/whatever hardcoded restrictions that look like they might be broken with not too much effort...

Share this post


Link to post

Sorry, I don't really understand what you are asking for. Can you rephrase?

(A tutorial for reversing? The scope would be a bit too much for me. It's all about learning data structures and execution flow and giving names to addresses.)

Share this post


Link to post

Well, I decided to try and make it so that non-fighters get the specialization attacks per round. I've downloaded a trainer creator and managed to hunt down the point in the executable where attacks per round are set; however, NOPping various jmp instructions right before that didn't work. So, I was wondering if there's a better way to understand the program flow than reading assembler (there's a couple of EXE->C code generators on the net, but all those I've tried are 16 bit only or can't translate bgmain.exe).

Share this post


Link to post

Have you guys thought of the whole JA 2 1.13 "externalize the .exe to xml libraries" thing? I realize that JA2 is an older game than BG2, but it also feels like Taimon has gotten where the JA2 folks did just before they decided to simply farm the whole thing out. I am not talking about rebuilding the whole set of game resources, just hooking existing calls to externalized libraries. (Like I even know what I am talking about. Heh.)

Share this post


Link to post

Calls are externalized to dlls (there is such a mod for IWD2). XML libraries don't exist ???

Share this post


Link to post

cmorgan, you're forgetting a key thing there - ja2 was open sourced.

Share this post


Link to post
So, I was wondering if there's a better way to understand the program flow than reading assembler

I can only speak for me, but I actually read asm instructions. However, I'm using an interactive disassembler, that allows me to give names to things (local vars, addresses, etc.). It also does some structure decoding, if you provide the structure. (IDA Pro)

That coupled with the debugger (hw breakpoints) and knowledge about the structures allows me to understand/trace what the exe is doing.

The key point for me was getting familiar with the executable (building a DB of names and structures). Some parts now almost read like source code. I invested large amounts of time, though.

(Also keep in mind that this is my first reversing project.)

Share this post


Link to post
Have you guys thought of the whole JA 2 1.13 "externalize the .exe to xml libraries" thing?

 

As lynx already said, JA2 was open sourced, they can recompile the executable - not an option for us.

 

I'm trying to externalize things to 2DA whenever possible. However, my list is too large and I don't have much time right now.

 

I've been thinking about moving some things to a LUA lib, to make investigating easier for other people. Still on the design boards, though.

Share this post


Link to post
I can only speak for me, but I actually read asm instructions. However, I'm using an interactive disassembler, that allows me to give names to things (local vars, addresses, etc.). It also does some structure decoding, if you provide the structure. (IDA Pro)

Thanks for giving a googlable name. Unfortunately the price is out of my $0~$0 acceptable range, and I mistrust torrenting stuff that costly, so I'll pass the opportunity ???

Share this post


Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...