案例
Animal Crossing:生成一致产物的 GameCube 反编译重建
将 Animal Crossing 的 GameCube 代码重建为 C 与 C++ 源码,可重新构建美版的主可执行文件及 foresta.rel 模块。基于 dtk-template 的构建从使用者自备的光盘镜像读取原始二进制与素材,再用 SHA-1 哈希校验两个产物。另有原生 PC 移植以它为基础;此处的完成度数字仍为项目报告。
- 目标
- 游戏
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 来源复核于
使用条件与局限
- 前提条件:需使用者自备 Animal Crossing(美版)光盘镜像;README 声明仓库不含任何游戏素材或汇编。构建配置要求光盘中的 main.dol 与记录的 SHA-1 一致后才进行拆分,因此其他修订版或改动过的镜像不是受支持的输入。
- 前提条件:Windows 构建使用原生 Python 与 ninja;macOS 另需 wine-crossover,Linux 在 x86 上自动下载 wibo 包装器,其他架构使用 Wine。configure.py 会下载固定版本的 decomp-toolkit、binutils、Metrowerks CodeWarrior GameCube 编译器、objdiff 和 sjiswrap;objdiff 用于逐个目标文件比对。
- 范围:README 列出唯一支持的版本为美版 Rev 0(GAFE01_00)。configure.py 另定义了澳洲版 Rev 0(GAFU01_00)目标,但 CI 只构建美版,且有 19 个目标文件仅对美版标为一致。产物是 GameCube DOL 与 REL 模块,不是 PC 可执行文件。
- 测试证据:默认 ninja 目标会用 decomp-toolkit 依据 build.sha1 校验 static.dol 和 foresta.rel 的 SHA-1。configure.py 将 4,005 个目标文件标为一致,没有标为不一致的项;CI 在提供原始文件的私有容器中构建。可变的 decomp.dev 页面报告此提交已 100.00% 反编译并完全链接。
- 许可:仓库以 CC0 1.0 释出。原游戏内容及下载的工具链二进制不在该释出范围内,各自保留权利。
关于此条目
说明已依据一手来源复核。
一手来源
- README.md GitHub · ACreTeam/ac-decomp · 修订 09ca8e8
- configure.py GitHub · ACreTeam/ac-decomp · 修订 09ca8e8
- config/GAFE01_00/build.sha1 GitHub · ACreTeam/ac-decomp · 修订 09ca8e8
- config/GAFE01_00/config.yml GitHub · ACreTeam/ac-decomp · 修订 09ca8e8
- tools/project.py GitHub · ACreTeam/ac-decomp · 修订 09ca8e8
- .github/workflows/build.yml GitHub · ACreTeam/ac-decomp · 修订 09ca8e8
- LICENSE GitHub · ACreTeam/ac-decomp · 修订 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 · 修订 4099d24