This page is also available in Portuguese.
Sonic Heroes Decomp

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.

Code matched
35.4%
4,618,108 / 13,039,060 bytes
Data matched
9.47%
679,064 / 7,167,586 bytes
Functions matched
52.6%
20,559 / 39,062 functions
Complete units
66.6%
11,012 / 16,538 units
Last published: 2026-10-24 Latest commit: …

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.

Main executable

Engine, RenderWare, CRI middleware, the SDK and shared game code.

Code28.1%
Data27.6%
Functions43.3%
Units19.4%
REL modules

Stages, menus and the objects that live in them.

Code36.9%
Data1.90%
Functions54.4%
Units72.7%
Dolphin SDK

Nintendo's GameCube libraries linked into the game.

Code100%
Data99.8%
Functions100%
Units100%

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.

  1. Repository created

    The project starts from the GameCube decompilation template, configured for the North American disc (G9SE8P).

  2. 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.

  3. First community pull requests merged

    The Dolphin SDK operating-system modules start landing, beginning with the OS stopwatch (#3).

  4. 2% of code

    Progress doubles in two days as SDK and CRI middleware libraries are matched.

  5. 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).

  6. The front end is complete

    The whole advertiseD overlay (attract sequence, title screen, file select, menus and staff roll) is reconstructed by Cypress (#125). Progress passes 4%.

  7. 7% of code

    Stage modules and shared engine code start falling into place.

  8. 61 reconstruction pull requests integrated

    A large batch from Cypress lands in one integration (#612).

  9. 23.7% of code

    Code shared between stages is written once and linked into every module that uses it, sometimes 13 at a time.

  10. 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.

  11. 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.