Hit & Run's asset files hold values; what those values mean lives in Simpsons.exe. SAHRDiag reads the executable and writes down what it finds, without a disassembler or a debugger.
The game shipped with full compiler type information, so every class with virtual functions carries its own name and the address of its function table. SAHRDiag walks all of it and recovers the class model whole: name, table, functions. That walk is how DonutsSDK's class tables were made, and SAHRDiag re-derives them on demand.
Two ways to run it
- From the file. It opens
Simpsons.exe, lays it out as Windows would, and analyses that. - From the running game, read-only. This adds what a file can't show: the objects alive in the world, matched to their classes and counted, with their bytes recorded, which is what confirms where each class keeps its fields.
What it writes
Spreadsheet files of the classes, their function tables, the strings that name each engine subsystem, and the live objects and counts; and a report on how the result compares with DonutsSDK's catalogue, so any drift shows up.