HN
Today

Resident Evil 4 (GameCube) – complete byte-identical decompilation to C/C++

This project achieves a complete, byte-identical decompilation of Resident Evil 4 for GameCube, meticulously reconstructing the original C/C++ source code to perfectly match the compiled binaries. It's an astonishing feat of reverse engineering, leveraging debug symbols and deep compiler knowledge to recreate the game's internal workings. Hacker News is fascinated by the technical rigor, though some debate the philosophy of "byte-identical" matching versus human readability.

21
Score
5
Comments
#8
Highest Rank
5h
on Front Page
First Seen
Sep 20, 6:00 PM
Last Seen
Sep 20, 10:00 PM
Rank Over Time
88171718

The Lowdown

This GitHub project presents an extraordinary achievement in game preservation and reverse engineering: a complete, byte-identical decompilation of Resident Evil 4 for the Nintendo GameCube. Targeting the G4BE08 debug build, this meticulous effort reconstructs the game's C/C++ source code to perfectly match the original compiled binaries, a testament to deep technical understanding and painstaking work.

  • Target & Scope: The project focuses on the "Nov 25 2004" prototype debug build of RE4, including main.dol and all 114 REL overlays.
  • Scale: It involves recreating 1083 objects and 15641 functions, resulting in approximately 555,000 lines of C/C++ source code.
  • Methodology: Byte-identical matching is achieved by compiling the reconstructed source with the original compilers, SN Systems ProDG GCC 2.95.3 and Metrowerks CodeWarrior.
  • Compiler Nuances: The project extensively documents how various compiler quirks, register choices, and scheduling differences were handled to maintain byte-identity, sometimes requiring specific source shapes marked with // COMPILER-DIFF: comments. Very little original assembly remains, primarily for specific hardware kernels.
  • Naming & Assets: Function names are derived from Capcom's original Bio4.sym debug files, while struct and field names are either from PS2 debug info or newly reconstructed. The repository contains no game assets; users must provide their own disc images to build.
  • Legal Status: The reconstructed game and SDK source are for research and preservation, while the project's own tools and documentation are CC0 licensed.

This ambitious project provides an unparalleled level of insight into the inner workings of a classic game, serving as a vital resource for preservationists, modders, and anyone interested in the intricacies of game development on legacy platforms.

The Gossip

Byte-Perfect Bafflement

Commenters debate the philosophical and practical merits of pursuing byte-identical decompilation. While acknowledging the technical prowess, some question whether forcing an exact byte match by introducing compiler-specific "slop" or "hacks" in the source code detracts from the goal of human-readable understanding. The original bytes are already preserved, so the value of decompilation is seen by some as reconstructing the original *intent* and clarity, not just the exact output.

Artificial Authorship Accusations

Several users immediately suspected the project's README was written by an AI, specifically mentioning "Claude" due to what they perceive as a "dense Claudish style" and the frequent use of phrases like "byte-identical." This highlights a growing sensitivity on HN to AI-generated text and its stylistic fingerprints.