Case study
The Wind Waker: a GameCube decompilation with hash-checked relinking
Reconstructs source for The Wind Waker’s GameCube executable and REL modules across the USA/Korea, PAL and Japanese releases and a Japanese kiosk demo. Matched units are compiled from source and linked with objects split from the user’s disc, then checked against per-version SHA-1 hashes; the repository ships no assets or assembly and covers the GameCube game, not the HD remaster.
- Targets
- Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Building needs the user’s own disc image of the chosen version in a supported format (ISO/GCM, RVZ, WIA, WBFS, CISO, NFS, GCZ or TGC), which can be deleted after the first build. The repository contains no game assets or assembly; decomp-toolkit splits the original locally.
- Prerequisites: Builds run natively on Windows with Python and ninja, or on Linux/macOS with ninja and the automatically downloaded wibo wrapper. configure.py pins decomp-toolkit v1.8.3, objdiff v3.7.3, binutils 2.42-1 and a 20251118 compiler bundle; README also describes a shared Ghidra project as an aid whose output is not accurate enough to copy directly.
- Scope: README describes a work-in-progress GameCube decompilation supporting every GameCube version: GZLE01 (USA Rev 0 and Korea Rev 48), GZLP01 (PAL), GZLJ01 (Japan) and the D44J01 Japanese kiosk demo. Output is the original executable and REL modules, not a port.
- Testing evidence: The default build links source-built objects only for units marked complete, uses original extracted objects for the rest and checks the result against the version’s build.sha1 (415–417 entries per version). decomp.dev’s reports for the pinned commit list 79.58% of GZLE01 code (32,968 of 39,324 functions) matched, 78.38–78.65% for the other retail versions and 74.08% for the demo. CI runs in a private container holding game files.
- License: The repository carries CC0-1.0, which does not cover Nintendo’s game, disc content or the downloaded compilers. CONTRIBUTING.md rejects primarily AI-generated pull requests.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · zeldaret/tww · Revision 8b93b37
- configure.py GitHub · zeldaret/tww · Revision 8b93b37
- tools/project.py GitHub · zeldaret/tww · Revision 8b93b37
- config/GZLE01/build.sha1 GitHub · zeldaret/tww · Revision 8b93b37
- CONTRIBUTING.md GitHub · zeldaret/tww · Revision 8b93b37
- LICENSE GitHub · zeldaret/tww · Revision 8b93b37
- .github/workflows/build.yml GitHub · zeldaret/tww · Revision 8b93b37
- https://github.com/zeldaret/tww/actions/runs/38619222013
- https://decomp.dev/zeldaret/tww
- https://web.archive.org/web/20261020041528/https://decomp.dev/zeldaret/tww/GZLE01/8b93b372dc8e841f12ddfb7e0215626f62b05417.json
- https://web.archive.org/web/20261020041536/https://decomp.dev/zeldaret/tww/GZLJ01/8b93b372dc8e841f12ddfb7e0215626f62b05417.json
- https://web.archive.org/web/20261020041545/https://decomp.dev/zeldaret/tww/GZLP01/8b93b372dc8e841f12ddfb7e0215626f62b05417.json
- https://web.archive.org/web/20261020041613/https://decomp.dev/zeldaret/tww/D44J01/8b93b372dc8e841f12ddfb7e0215626f62b05417.json
More in Games
- Touhou 6: reconstructing Embodiment of Scarlet Devil 1.02h source · Case study
- Touhou 7: reconstructing Perfect Cherry Blossom 1.00b source · Case study
- Twilight Princess: a decompilation with fully matching GameCube code · Case study
- Underworld Exhumed: reconstructing Ultima Underworld I and II · Case study
- wii-ipl: a decompilation of the Wii Menu (System Menu 4.3) · Case study
- c1: a C port of PlayStation Crash Bandicoot · Case study