Case study
Animal Crossing: matching GameCube decompilation
Reconstructs Animal Crossing’s GameCube code as C and C++ source that rebuilds the USA release’s main executable and its foresta.rel module. The dtk-template build reads the original binaries and assets from a user-supplied disc image, then checks both outputs against SHA-1 hashes. A separate native PC port builds on it; completeness figures remain project-reported here.
- Targets
- Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Requires the user’s own Animal Crossing (USA) disc image; README states the repository contains no game assets or assembly. The build configuration expects the disc’s main.dol to match a recorded SHA-1 before splitting it, so other revisions or modified images are not supported inputs.
- Prerequisites: Windows builds use native Python and ninja; macOS adds wine-crossover, and Linux uses an automatically downloaded wibo wrapper on x86 or Wine elsewhere. configure.py downloads pinned decomp-toolkit, binutils, Metrowerks CodeWarrior GameCube compiler, objdiff and sjiswrap releases; objdiff supports per-object diffing.
- Scope: README lists one supported version, USA Rev 0 (GAFE01_00). configure.py also defines an Australia Rev 0 (GAFU01_00) target, but CI builds only the USA version and 19 objects are marked matching for USA alone. The outputs are a GameCube DOL and REL module, not a PC executable.
- Testing evidence: The default ninja target runs decomp-toolkit’s SHA-1 check of static.dol and foresta.rel against build.sha1. configure.py lists 4,005 objects as matching and none as non-matching, and CI builds with a private container that supplies the original files. The mutable decomp.dev page reports 100.00% decompiled and fully linked at this commit.
- License: The repository is dedicated under CC0 1.0. Original game content and the downloaded toolchain binaries are outside that dedication and keep their own rights.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · ACreTeam/ac-decomp · Revision 09ca8e8
- configure.py GitHub · ACreTeam/ac-decomp · Revision 09ca8e8
- config/GAFE01_00/build.sha1 GitHub · ACreTeam/ac-decomp · Revision 09ca8e8
- config/GAFE01_00/config.yml GitHub · ACreTeam/ac-decomp · Revision 09ca8e8
- tools/project.py GitHub · ACreTeam/ac-decomp · Revision 09ca8e8
- .github/workflows/build.yml GitHub · ACreTeam/ac-decomp · Revision 09ca8e8
- LICENSE GitHub · ACreTeam/ac-decomp · Revision 09ca8e8
- https://decomp.dev/ACreTeam/ac-decomp
- https://web.archive.org/web/20261020041854/https://decomp.dev/ACreTeam/ac-decomp/GAFE01_00/09ca8e8b5b24e6ab44047ee980cf0088ad7ecb4c.json
- README.md GitHub · flyngmt/ACGC-PC-Port · Revision 4099d24
More in Games
- Animal Crossing: Wild World: matching Korean DS decompilation with differential runtime checks · Case study
- Animal Forest: an in-progress matching N64 decompilation · Case study
- BFM-decomp: Brave Fencer Musashi matching decompilation · Case study
- Breath of the Wild: per-function matching decompilation of the Switch executable · Case study
- Castlevania: Symphony of the Night: matching decompilation across PlayStation, PSP and Saturn builds · Case study
- DX-Ball: an REA-guided function-level reconstruction with Codex · Case study