# 《黄昏公主》：GameCube 版代码完全一致的反编译

> 重建《塞尔达传说 黄昏公主》的源码，使其能重新编译出与原版一致的二进制文件；GameCube、Wii 与 Nvidia Shield 各版本通过条件编译共用同一套代码。README 报告 GameCube 版代码已完全一致，但尚未链接全部翻译单元，调试版与 Wii 版的对齐仍在进行；仓库不含素材或汇编，也不会制作移植。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-18
- 收录于：2026-10-18
- 原始资源：<https://github.com/zeldaret/tp>
- 一手来源：<https://github.com/zeldaret/tp/blob/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/twilight-princess-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/twilight-princess-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/twilight-princess-decomp-case/index.md)

## 使用条件与局限

- **前提条件：**构建需要使用者自备所选版本的光盘镜像，格式可为 ISO／GCM、RVZ、WIA、WBFS、CISO、NFS、GCZ 或 TGC，首次构建后即可删除。仓库不含游戏素材或汇编；decomp-toolkit 在本地拆分原文件。
- **前提条件：**在 Windows 上可直接用 Python 与 ninja 构建；Linux／macOS 需 ninja，并会自动下载 wibo 包装器。configure.py 固定 decomp-toolkit v1.8.0、objdiff v3.6.1、binutils 2.42-1 及 20251118 编译器包，并按目标版本和库选用相应的 Metrowerks 编译器版本；objdiff 用于逐个对象比对。
- **范围：**README 将其描述为进行中的反编译，列出十个目标版本：三个 GameCube 发行版（GZ2E01、GZ2P01、GZ2J01）、包括体验版在内的五个 Wii 版本，以及两个 Nvidia Shield 中国版。产物是原平台的可执行文件和 REL 模块；README 说明项目不会制作 PC 或其他平台的移植，Dusklight 是基于这些代码的独立项目。
- **测试证据：**默认构建对标为完成的单元链接由源码编译的对象，其余单元使用从原文件提取的对象，再按各版本的 build.sha1 校验输出（GZ2E01 有 758 条记录）。decomp.dev 针对该固定提交的报告显示，三个 GameCube 版本的代码均已 100% 匹配，2,608 个单元中有 2,583 个已完成；ShieldD 为 54.47%，Wii 版 RZDE01_00 为 47.06%。CI 在存有游戏文件的私有容器中运行。
- **许可：**LICENSE.md 采用 CC0-1.0，不涵盖任天堂的游戏、光盘内容或下载的编译器。

## 一手来源

1. <https://github.com/zeldaret/tp/blob/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0/README.md>
2. <https://github.com/zeldaret/tp/blob/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0/configure.py>
3. <https://github.com/zeldaret/tp/blob/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0/tools/project.py>
4. <https://github.com/zeldaret/tp/blob/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0/config/GZ2E01/build.sha1>
5. <https://github.com/zeldaret/tp/blob/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0/LICENSE.md>
6. <https://github.com/zeldaret/tp/blob/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0/.github/workflows/build.yml>
7. <https://github.com/zeldaret/tp/actions/runs/28052837187>
8. <https://decomp.dev/zeldaret/tp>
9. <https://web.archive.org/web/20261020041317/https://decomp.dev/zeldaret/tp/GZ2E01/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0.json>
10. <https://web.archive.org/web/20261020041405/https://decomp.dev/zeldaret/tp/GZ2P01/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0.json>
11. <https://web.archive.org/web/20261020041412/https://decomp.dev/zeldaret/tp/GZ2J01/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0.json>
12. <https://web.archive.org/web/20261020041419/https://decomp.dev/zeldaret/tp/ShieldD/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0.json>
13. <https://web.archive.org/web/20261020042930/https://decomp.dev/zeldaret/tp/RZDE01_00/c8fa8c9e2aab72cf4e5db0e5d1c84a9ea6ee6eb0.json>

## 同分区更多条目：游戏

- [Underworld Exhumed：重建 Ultima Underworld I 与 II](https://awesomerea.org/zh/resources/underworld-exhumed-case/index.md) · 案例
- [wii-ipl：Wii Menu（System Menu 4.3）的反编译重建](https://awesomerea.org/zh/resources/wii-menu-ipl-decomp-case/index.md) · 案例
- [c1：PlayStation 版《古惑狼》的 C 语言移植](https://awesomerea.org/zh/resources/crash-bandicoot-c1-port-case/index.md) · 案例
- [Firefighter：将反编译的 DOS 游戏移植为 Rust](https://awesomerea.org/zh/resources/firefighter-rust-port-case/index.md) · 案例
- [Halo: Combat Evolved：逐步重新实现并修补进原版 Xbox 可执行文件](https://awesomerea.org/zh/resources/halo-ce-xbox-reimplementation-case/index.md) · 案例
- [keen-clone：Commander Keen 1 的 C/SDL2 移植](https://awesomerea.org/zh/resources/keen-clone-rea-commander-keen-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
