-
Notifications
You must be signed in to change notification settings - Fork 5
Decompiling LEGO Rock Raiders
The process of decompiling, identifying, and labeling code in LRR is being done using the tool Ghidra, an open source reverse engineering tool that's on par with IDA.
The project for OpenLRR decompilation is being hosted using Ghidra's version control server. At the moment, giving access to this server is a bit difficult, as it requires manually creating individual users (which also require the username to be that of their computer user). How access should be requested for this server hasn't been decided yet.
LEGO Rock Raiders is programmed in C (with exception of the Movie and Animation modules, which are in C++).
Decompilation efforts are heavily focused on working with the Masterpiece executable, as its the most universally used version of the game. There are also a handful of debug builds available from earlier on in the game's development life. These debug builds have no optimizations, no merged functions, and include unused functions and modules that never made it in to the final release.
Partial source code is available for the GODS engine used by LRR, and PSX game, which has helped greatly in naming and identifying functions and types.
For snapshots of the decompilation progress, Ghidra project archives, and exported decompiled source code are occasionally uploaded to the legorockraiders-analysis repo.
-
ddi/ - partial source code, debug symbols, and project configurations used by DDI during/and after LRR's development.
- Gods98/ - source code for a newer version of the engine framework used by LegoRR. Many functions and types remain identical, but what has been changed is pretty much already identified.
- GodsPSX/ - a half-implemented engine framework used for PSX builds. This contains some additional data that's not found in Gods98, but none of it has yet to be a direct help with reversing LegoRR (PC).
- RRPSX/ - incomplete game code used for PSX builds. There are numerous helpful similarities between the PSX and PC builds.
- RRPSX-D/ - debug symbols for a LEGO Rock Raiders (PSX) build. Although gameplay varies greatly between these two releases, many names may give hints at what PC is doing.
- ghidra_archive/ - the Ghidra project containing the brunt of all LRR research.
- source_dump/ - decompilation export of C code from the Ghidra project.