Originally Posted by MethodGit
jotd: I took your suggestion of looking at the WHDLoad slave sources but the way it's written I can't quite understand how to translate it into hex offsets.
Besides, it seems slaves for all-pre-MI1 games do memory patching. MI1 source is the only one which seems to specifically reference a data file, and Loom/Maniac/Zak don't include any sources.
Surprised you managed to translate your Amiga MI2 hacking code into a match for the PC port though. The Amiga version divides the game data into several files whereas on the PC it's all in one big file. Did you have to extensively search each and every data file for a matching offset?
Most of cracks I have made use a "replay" technique: I store memory when the test is OK, and replay it by hacking the executable => no transposition to ScummVM. Used that for most of my Sierra loaders, Cruise, Zak, Indy III & IV.
Hacked Operation Stealth in a very smart way 15 years ago, so smart I don't remember why I did that and how I came to that solution (replacing a 0x60 by a 0x93 somewhere in the exe). Took me 10+ hours.
For Future Wars, the "replay" technique worked to an extent but there were problems, so I adapted a crack, and I don't know how it works but it works flawlessly even for the Interplay version using a different protection screen.
But for MI2 and Another World, I used datafile patch (not by me!), and I did that also for MI1.
To adapt the patch for PC, don't look for the offset, but for the hex string to be replaced, in the big file. It works (same for MI1).
It's ASM code for the VM and it's the same (but I don't have a clue about how it works