{
  "added_at": "2026-10-28",
  "additional_evidence_urls": [
    "https://github.com/doldecomp/brawl/blob/b96b501ff127b29e8946ee9a352a7bdc2ef5f38a/configure.py",
    "https://github.com/doldecomp/brawl/blob/b96b501ff127b29e8946ee9a352a7bdc2ef5f38a/config/RSBE01_02/config.yml",
    "https://github.com/doldecomp/brawl/blob/b96b501ff127b29e8946ee9a352a7bdc2ef5f38a/config/RSBE01_02/build.sha1",
    "https://github.com/doldecomp/brawl/blob/b96b501ff127b29e8946ee9a352a7bdc2ef5f38a/tools/project.py",
    "https://github.com/doldecomp/brawl/blob/b96b501ff127b29e8946ee9a352a7bdc2ef5f38a/.gitmodules",
    "https://github.com/doldecomp/brawl/blob/b96b501ff127b29e8946ee9a352a7bdc2ef5f38a/.github/workflows/build.yml",
    "https://github.com/doldecomp/brawl/blob/b96b501ff127b29e8946ee9a352a7bdc2ef5f38a/LICENSE",
    "https://github.com/Sammi-Husky/BrawlHeaders/tree/29c4ff16ce06241ea672ffd54e6415fbd02c0743",
    "https://decomp.dev/doldecomp/brawl"
  ],
  "category": "reconstruction-cases",
  "description_en": "A work-in-progress matching decompilation of Super Smash Bros. Brawl that targets the USA Rev 2 Wii release (RSBE01_02), splitting main.dol and 126 REL modules from a user-supplied disc image and checking the rebuilt binaries against stored SHA-1 values. objdiff compares objects during development, and six other regional revisions are listed but commented out of the supported set. decomp.dev reported 1.27% of code matched at the reviewed commit.",
  "description_zh": "《任天堂明星大乱斗X》（Super Smash Bros. Brawl）的进行中一致性反编译，目标为美版 Rev 2 Wii 版本（RSBE01_02）：从使用者自备的光盘镜像中拆分 main.dol 和 126 个 REL 模块，并按仓库保存的 SHA-1 校验重建出的二进制。开发时用 objdiff 比对目标文件；另外六个地区修订版虽已列出，但在支持列表中被注释掉。decomp.dev 报告所审提交有 1.27% 的代码已匹配。",
  "entry_url": "https://awesomerea.org/resources/smash-bros-brawl-decomp-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/smash-bros-brawl-decomp-case/",
  "evidence_url": "https://github.com/doldecomp/brawl/blob/b96b501ff127b29e8946ee9a352a7bdc2ef5f38a/README.md",
  "group": "cases",
  "id": "smash-bros-brawl-decomp-case",
  "json_url": "https://awesomerea.org/resources/smash-bros-brawl-decomp-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/smash-bros-brawl-decomp-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/smash-bros-brawl-decomp-case/index.md",
  "name": "Super Smash Bros. Brawl: an early matching Wii decompilation",
  "name_zh": "《任天堂明星大乱斗X》：早期阶段的 Wii 一致性反编译",
  "reconstruction_method": "matching-decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "README lists one supported version, RSBE01_02 (USA Rev 2), with the Japan, USA Rev 1, PAL and Korea revisions commented out; configure.py names all seven, but only RSBE01_02 has a configuration and CI builds only it. The output is a Wii main.dol and REL set, not a PC port.",
    "Copy your own disc image to orig/RSBE01_02; ISO (GCM), RVZ, WIA, WBFS, CISO, NFS, GCZ and TGC images are accepted. README says the repository contains no game assets or assembly: decomp-toolkit splits the DOL and RELs using committed per-module symbol and split tables, and extracts one embedded binary (HomeBtnIcon) from the DOL locally. Game headers come from the BrawlHeaders submodule (Sammi-Husky/BrawlHeaders), which README says to initialize before building.",
    "Builds need Python and ninja on Windows (native tooling recommended), macOS (with wine-crossover) or Linux (an automatically downloaded wibo on x86, Wine elsewhere). configure.py pins decomp-toolkit v1.7.5, objdiff v3.4.4, binutils 2.42-1, sjiswrap v1.2.2, wibo 1.0.0 and the 20250812 compiler bundle, compiling and linking with Metrowerks GC/3.0a5.2.",
    "Objects marked Matching (184 in configure.py; 20 remain NonMatching) are compiled from source and the rest come from the split originals; the default ninja target checks main.dol and the RELs against config/RSBE01_02/build.sha1 before reporting progress. CI builds RSBE01_02 in a container that supplies the disc files and compilers and uploads a progress report. decomp.dev’s report for the pinned commit lists 201,252 of 15,833,548 code bytes (1.27%) and 2,504 of 92,523 functions matched, with 516 of 4,415 units complete.",
    "The repository carries CC0-1.0; Nintendo’s game, disc contents and the downloaded compilers fall outside that dedication, and the BrawlHeaders submodule declares no license on GitHub."
  ],
  "requirements_zh": [
    "README 只列出一个支持版本 RSBE01_02（美版 Rev 2），日版、美版 Rev 1、PAL 版和韩版修订版均被注释掉；configure.py 列出全部七个版本，但只有 RSBE01_02 有配置，CI 也只构建该版本。产物是 Wii 的 main.dol 和 REL 组，不是 PC 移植。",
    "需将自己的光盘镜像复制到 orig/RSBE01_02，可接受 ISO（GCM）、RVZ、WIA、WBFS、CISO、NFS、GCZ 和 TGC 格式。README 称仓库不含任何游戏素材或汇编：decomp-toolkit 依据仓库提交的各模块符号表和拆分表拆分 DOL 与 REL，并在本地从 DOL 中提取一个内嵌二进制（HomeBtnIcon）。游戏头文件来自 BrawlHeaders 子模块（Sammi-Husky/BrawlHeaders），README 要求构建前先初始化子模块。",
    "构建需要 Python 与 ninja，可在 Windows（推荐原生工具）、macOS（需 wine-crossover）或 Linux（x86 上自动下载 wibo，其他架构用 Wine）上进行。configure.py 固定 decomp-toolkit v1.7.5、objdiff v3.4.4、binutils 2.42-1、sjiswrap v1.2.2、wibo 1.0.0 及 20250812 编译器包，编译和链接均使用 Metrowerks GC/3.0a5.2。",
    "标为 Matching 的目标文件（configure.py 中有 184 个，另有 20 个仍为 NonMatching）由源码编译，其余取自拆分出的原始文件；默认 ninja 目标会先按 config/RSBE01_02/build.sha1 校验 main.dol 和各 REL，再报告进度。CI 在提供光盘文件和编译器的容器中构建 RSBE01_02，并上传进度报告。decomp.dev 针对该固定提交的报告显示，15,833,548 个代码字节中有 201,252 个（1.27%）、92,523 个函数中有 2,504 个已匹配，4,415 个单元中有 516 个已完成。",
    "仓库采用 CC0-1.0；任天堂的游戏、光盘内容和下载的编译器不在该声明范围内，BrawlHeaders 子模块在 GitHub 上也未声明许可证。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/doldecomp/brawl",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
