# Petari：Super Mario Galaxy 一致性反编译重建

> 将 Super Mario Galaxy 的 Wii 代码重建为 C++，并以使用者从自有日版、北美版、PAL 版或韩版光盘中提取的 main.dol 为目标，逐个目标文件重建。已匹配的目标文件由源码链接，并通过 objdiff 和目标哈希检查。项目自称仍在进行中，与任何 PC 移植无关，并表示不接受 AI 生成的反编译代码。

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

## 使用条件与局限

- **前提条件：**需用 Dolphin 将自有游戏中所选地区的版本提取到 orig/RMG<地区>01，只需要 sys/main.dol。仓库声明不包含任何游戏素材或汇编。各版本配置在 config.yml 和 build.sha1 中记录预期的 DOL SHA-1。
- **前提条件：**构建需在 Windows、macOS 或 Linux 上安装 Python 和 Ninja；在 macOS 和 Linux 上通过 wibo 运行 Windows 工具。configure.py 固定使用 GC 2.7–3.0a5.2 与 Wii 1.0 系列的 Metrowerks 编译器包。GitHub Actions 工作流在注释所称的私有构建容器中构建全部四个版本。
- **范围：**configure.py 支持 RMGJ01、RMGE01、RMGP01 和 RMGK01，默认构建韩版 RMGK01。除非使用 --non-matching，否则只链接标记为 Matching 的目标文件。在所审阅的提交上，decomp.dev 报告 RMGK01 代码已反编译 100.00%、完全链接 68.75%；其余三个版本反编译 99.70%，链接比例为 55.61%–58.17%。这些是项目进度追踪结果。
- **测试证据：**CONTRIBUTING.md 要求标记为已反编译的目标文件必须 1:1 匹配，须通过 objdiff 检查并成功链接。拉取请求中的每个非一致函数都必须附上 decomp.me 草稿链接，且不得直接复制反编译器输出。README 注明部分代码和头文件来自 doldecomp bte、zeldaret tp（JSystem）及 ogws。
- **署名：**README 声明 AI／LLM 未参与反编译，并将允许的 AI 用途限于代码清理、格式化、文档和命名。这是项目自述。仓库声明采用 CC0-1.0，任天堂内容、提取的文件及工具链另有权利约束。README 提到的独立 PC 移植 AstroCore 在此没有公开源码。

## 一手来源

1. <https://github.com/SMGCommunity/Petari/blob/86ae7a3d3241adf07d5d3f9949e0462cccc583c1/README.md>
2. <https://github.com/SMGCommunity/Petari/blob/86ae7a3d3241adf07d5d3f9949e0462cccc583c1/configure.py>
3. <https://github.com/SMGCommunity/Petari/blob/86ae7a3d3241adf07d5d3f9949e0462cccc583c1/CONTRIBUTING.md>
4. <https://github.com/SMGCommunity/Petari/blob/86ae7a3d3241adf07d5d3f9949e0462cccc583c1/config/RMGK01/config.yml>
5. <https://github.com/SMGCommunity/Petari/blob/86ae7a3d3241adf07d5d3f9949e0462cccc583c1/config/RMGK01/build.sha1>
6. <https://github.com/SMGCommunity/Petari/blob/86ae7a3d3241adf07d5d3f9949e0462cccc583c1/.github/workflows/build.yml>
7. <https://github.com/SMGCommunity/Petari/blob/86ae7a3d3241adf07d5d3f9949e0462cccc583c1/LICENSE>
8. <https://decomp.dev/SMGCommunity/Petari>
9. <https://web.archive.org/web/20261020041620/https://decomp.dev/SMGCommunity/Petari/RMGK01/86ae7a3d3241adf07d5d3f9949e0462cccc583c1.json>
10. <https://web.archive.org/web/20261020041653/https://decomp.dev/SMGCommunity/Petari/RMGJ01/86ae7a3d3241adf07d5d3f9949e0462cccc583c1.json>
11. <https://web.archive.org/web/20261020041719/https://decomp.dev/SMGCommunity/Petari/RMGE01/86ae7a3d3241adf07d5d3f9949e0462cccc583c1.json>
12. <https://web.archive.org/web/20261020041726/https://decomp.dev/SMGCommunity/Petari/RMGP01/86ae7a3d3241adf07d5d3f9949e0462cccc583c1.json>

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

- [《幻影沙漏》：早期阶段的 Nintendo DS 一致性反编译](https://awesomerea.org/zh/resources/phantom-hourglass-ds-decomp-case/index.md) · 案例
- [《皮克敏2》：覆盖五个版本、已完全匹配的 GameCube 反编译](https://awesomerea.org/zh/resources/pikmin-2-matching-decomp-case/index.md) · 案例
- [pokecrystal：一致构建的《精灵宝可梦 水晶》反汇编](https://awesomerea.org/zh/resources/pokecrystal-disassembly-case/index.md) · 案例
- [pokered：一致构建的《精灵宝可梦 红／蓝》反汇编](https://awesomerea.org/zh/resources/pokered-disassembly-case/index.md) · 案例
- [pokeruby：一致构建的《精灵宝可梦 红宝石／蓝宝石》反编译](https://awesomerea.org/zh/resources/pokeruby-decomp-case/index.md) · 案例
- [《宝可梦 绿宝石》：生成一致 ROM 的 Game Boy Advance 反编译重建](https://awesomerea.org/zh/resources/pokemon-emerald-decomp-case/index.md) · 案例

## 关于此条目

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