工具

dtk-template GameCube/Wii 反编译项目模板

用于围绕 decomp-toolkit 创建 GameCube 和 Wii 匹配反编译仓库的项目模板。其 configure.py 生成 ninja 构建:依据各版本的 config.yml、symbols.txt 和 splits.txt 分析并拆分游戏的 DOL 和 REL 文件,用当年的 Metrowerks 编译器编译反编译出的 C/C++ 代码,重新链接后与记录的 SHA-1 哈希核对。模板还集成了用于逐目标文件比对的 objdiff、面向 decomp.dev 的进度报告,以及一个 GitHub Actions 工作流示例。

使用条件与局限

  • 这是脚手架而非成品项目:使用者需替换 GAMEID 占位名称、为每个版本编写配置,并在初步分析后不断修正符号和拆分点。README 称几乎所有活跃的 GameCube 和 Wii 反编译项目都采用这一结构。项目没有发布版本或标签;所审阅的提交(2026-04-26)固定了 decomp-toolkit v1.8.3、objdiff v3.6.1、binutils 2.42-2 以及 20251118 版编译器包。
  • 使用者需将自己的光盘镜像或已提取的游戏文件放入被忽略的 orig/[GAMEID] 目录,仓库不提交任何游戏资产。CI 指南要求把构建所需的游戏文件存放在单独的构建容器仓库中,并提醒该仓库必须保持私有,以免泄露游戏资产。
  • 在 Windows、macOS 或 Linux 上需要 Python 和 ninja;在 Windows 以外的平台上,由自动下载的 wibo 包装器或使用者自备的 Wine 运行 32 位 Windows 编译器。configure.py 会下载固定版本的 decomp-toolkit、GameCube/Wii binutils、objdiff、sjiswrap 和 wibo,以及由 decomp.dev 而非本仓库托管的 Metrowerks CodeWarrior 编译器压缩包。
  • 验证由各项目自行完成:构建会将重新生成的 DOL 和 REL 文件与 build.sha1 中的哈希比对,objdiff 和 decomp.dev 则报告逐目标文件的匹配进度。模板本身不附带任何游戏配置,也不作任何匹配声明。
  • 以 CC0-1.0 发布,README 建议各项目换成自己的许可证;下载的工具保留各自的许可,CodeWarrior 编译器属于专有软件。所审阅资料未提及使用 REA,本目录也未运行该模板。

关于此条目

类型
工具
类别
游戏分析工具
关联
基础工具
目标
游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · encounter/dtk-template · 修订 95a941f
  2. docs/getting_started.md GitHub · encounter/dtk-template · 修订 95a941f
  3. docs/dependencies.md GitHub · encounter/dtk-template · 修订 95a941f
  4. docs/github_actions.md GitHub · encounter/dtk-template · 修订 95a941f
  5. configure.py GitHub · encounter/dtk-template · 修订 95a941f
  6. tools/download_tool.py GitHub · encounter/dtk-template · 修订 95a941f
  7. LICENSE GitHub · encounter/dtk-template · 修订 95a941f