Resident Evil 4 GameCube decompilation completed byte-for-byte
A developer has published a complete reverse-engineered C/C++ reconstruction of RE4's Nov 2004 prototype that compiles identically to the original.
What to know
- A complete reverse-engineered source code reconstruction of Resident Evil 4 GameCube (Nov 2004 prototype) is now publicly available on GitHub, matching the original binary byte-for-byte.
- The decompilation recovers function names from the game's debug symbols and compiles identically using period-accurate compilers, verified through SHA1 checksums on every build.
- The project requires users to provide their own debug disc images to build; no game assets or code are included, positioning it as research and preservation rather than redistribution.
adonis-singh decompilation project authorCapcom copyright holder
How it unfolded 1 development · click the chart to see its coverage articlesposts
-
1
“A complete, byte-identical decompilation of Resident Evil 4 for the Nintendo GameCube: the G4BE08 debug build (the "Nov 25 2004" prototype, both discs), whose Bio4.sym files name every function.”
— github.com/adonis-singh/re4 repository -
1 outlet first by HN Frontpage, 3d ago · read ↗
-
From a preservation perspective, this is one of the least useful decomps ever, given how committed Capcom is to making sure RE4 is ported absolutely everywhere (kidding!)Made using the leaked debug build and its symbols, which shows how meaningful the work the game preservation community that acquires and distributes these things is.OTOH this is…
2 more of the top 3 · 10 posts in this stretch
-
I opened a file at random. This looks more like emulating the behavior in compilable C syntax rather than recovering the game's programmingvoid Em1eWeaponSet(cEm10* em) { Em10Work* w = EM10_WK(em); w->mot[41] = 0; w->mot[42] = 0; … w->mot[62] = 0; w->mot[63] = ARC(0x26C); w->mot[64] = ARC(0x26D); w->mot[65] = ARC(0x276); w->mot[66] = ARC(0x277)…
-
Despite all "hate" against AI in the (retro)-gaming scene I'm genuinely excited to see these kind of projects (not sure if this one involved any kind of AI) and emulation.From a technical perspective emulation is absolutely amazing, it requires deep technical knowledge, an excellent understanding of the source system and the optimisations are on…
-
-
background
Hand-written assembly replaced with C code in decompilation — An earlier phase of the project that contained approximately 100 hand-placed assembly instructions in game code and 100 register-pinning blocks in CRI libraries was completed, with all replaced by C equivalents.
What people are saying 7 voices from 1 site · best of 10 · verbatim
- Sep 21
-
Yes, that is how decompilation projects work.The puzzle is then trying to piece the context back together by probing the game to recover something that approximately resembles what the original code might have looked like.Eventually you can do things like Dusklight for advanced modding and feature implementation.
-
- special and maybe even a stupid request- can someone skilled and passionate look into doing some of the older ubi titles?- like maybe rainbow six vegas 1/2 or- splinter cell games?
- Sep 20
-
Not a surprise. Now the fun works starts: Deriving semantics from psuedo-assembly.
-
CC0, on the decompilation of a copyrighted work? That's... Not the way it works.You inherit the copyright from the original, as this is derivative.There's a reason decompilation has always been a grey area of seeing whether or not the copyright holder cares.
-
There is more normal looking code in other files. It sounds like the original game had animation data (or similar) embedded in the C code.
-
I hope that the CC0 license doesn't make any problems. It might though since decompilation does not remove the copyright of Capcom. Maybe just hope that they just don't care anymore
-
I'm so emotionally torn about all the awesome decompilation work done.Too bad all the cool decompilation is happening for games on early 3D centric consoles. I say this a Quake fanatic. Low res textures combined with that blurry bilinear style filtering is a look that's not easy to love. It's just a generational thing I guess.