Skip to content

The Sims 2 GameCube

Matching decompilation of The Sims 2 for Nintendo GameCube (G4ZE69)

4,145,724 / 4,145,724 .text bytes matched 18,458 / 18,458 functions matched

Status

Code (.text) 100.00% 4,145,724 / 4,145,724 B
Functions 18,458 all matched
Data sections 9.21% 62,778 / 681,400 B
Hand-written C++ ~57% of matched functions

matched_code_percent is verified on every commit via tools/verify_match.sh and regenerated into build/G4ZE69/report.json for decomp.dev.

What this project is

The Sims 2 for Nintendo GameCube (G4ZE69) is a matching decompilation: every byte in the compiled .text section equals the retail DOL. The source builds to a bit-identical binary.

Two further axes of work remain:

  • Hand-written C++ source. ~57% of matched functions express their logic as readable C++. The remaining functions byte-match but are wrapped raw bytes (ASMPROC inject_before directives). Stub-to-real-C++ conversion is the ongoing work.
  • Data sections. .rodata, .data, .sdata, etc. are currently 9.21% byte-matched. Vtables, string tables, and initialized globals are the open work here.

Live progress Build instructions Contribute

Documentation

  • Status — current numbers and per-section breakdown
  • Methodology — toolchain, build pipeline, verification
  • Techniques — matching technique reference (ASMPROC mutators, decoder cascade, etc.)
  • Contributing — workflow, hard rules, tooling guide
  • Subsystem Map — what's done, what's open
  • Roadmap — open work