Case study

Super Smash Bros. Brawl: an early matching Wii decompilation

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.

Requirements & limits

  • 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; this collection ran no build.
  • 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. The reviewed sources establish no AI or REA use, and no runtime reproduction is claimed.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · doldecomp/brawl · Revision b96b501
  2. configure.py GitHub · doldecomp/brawl · Revision b96b501
  3. config/RSBE01_02/config.yml GitHub · doldecomp/brawl · Revision b96b501
  4. config/RSBE01_02/build.sha1 GitHub · doldecomp/brawl · Revision b96b501
  5. tools/project.py GitHub · doldecomp/brawl · Revision b96b501
  6. .gitmodules GitHub · doldecomp/brawl · Revision b96b501
  7. .github/workflows/build.yml GitHub · doldecomp/brawl · Revision b96b501
  8. LICENSE GitHub · doldecomp/brawl · Revision b96b501
  9. https://github.com/Sammi-Husky/BrawlHeaders/tree/29c4ff16ce06241ea672ffd54e6415fbd02c0743
  10. https://decomp.dev/doldecomp/brawl

More in Games

All 231 entries in GamesGames case studies (189)