Decompilation progress
How much of Sonic Heroes has been rebuilt from source so far, measured from the objdiff report that every build on main produces.
By part of the game
The game is one main executable (main.dol) plus 17 REL modules loaded per stage or screen. The Dolphin SDK libraries are counted separately.
Engine, RenderWare, CRI middleware, the SDK and shared game code.
Stages, menus and the objects that live in them.
Nintendo's GameCube libraries linked into the game.
What the numbers mean
Code matched
Bytes of machine code whose source has been rewritten and compiles to exactly the original instructions.
Data matched
Bytes of tables, strings and constants that the rewritten source now owns and emits identically.
Functions matched
Functions that are byte-identical to the original, counted one by one.
Complete units
Translation units (the original source files, as best they can be reconstructed) in which everything matches.
The rebuilt main.dol and all 17 RELs already hash identically to the retail disc. That does not mean the game is fully decompiled: parts that have not been rewritten yet are still carried through the build, which is why progress is read from objdiff and not from the final SHA-1.
Timeline
Milestones as reported in the project's Discord and pull requests. Percentages are code matched at the time.
Repository created
The project starts from the GameCube decompilation template, configured for the North American disc (G9SE8P).
Discord opens and the first contributor arrives
Cypress, a Dreamcast homebrew developer, joins with matching functions ready. The rule that AI use is disclosed and verified is agreed the same day.
First community pull requests merged
The Dolphin SDK operating-system modules start landing, beginning with the OS stopwatch (#3).
2% of code
Progress doubles in two days as SDK and CRI middleware libraries are matched.
Game code moves to C++
A language audit, backed by mangled names, vtables and class records, settles that the game's own code is C++ (discussion #117).
The front end is complete
The whole
advertiseDoverlay (attract sequence, title screen, file select, menus and staff roll) is reconstructed by Cypress (#125). Progress passes 4%.7% of code
Stage modules and shared engine code start falling into place.
61 reconstruction pull requests integrated
A large batch from Cypress lands in one integration (#612).
23.7% of code
Code shared between stages is written once and linked into every module that uses it, sometimes 13 at a time.
decomp.dev closes its public index
The progress tracker the project used since July stops listing projects. Tracking moves to ByteMatch, which reads the same CI reports.
35.4% of code, over half of all functions
20,559 of 39,062 functions match, and every SDK library function is done.
Trackers
Progress is published on ByteMatch, which reads the CI report directly. decomp.dev, which tracked the project from July 2026, stopped listing new projects in October 2026 and keeps its existing page for now.