Skip to content

About

Going Commando USA v1.01: byte-exact reconstruction tools and native-port research. No game assets.

Topics

Resources

Contributing

Stars

16 stars

Watchers

1 watching

Forks

Repository files navigation

RAC2 — Going Commando

Ratchet & Clank: Going Commando

Progress PlayStation 2 USA version 1.01

A matching decompilation of Ratchet & Clank: Going Commando for the PlayStation 2 (USA v1.01, SCUS_972.68): C that compiles to the game's own bytes, on the way to a native PC port.

No game files, disc images, rebuilt executables or proprietary tools are distributed: bring your own copy of the game.

Progress

Every distinct function counts once: the boot executable's 3,390 and the levels' 5,711 that the boot does not also have. A function many levels share is one function, however many places it has. A function is C when its C links into a program that comes out equal to the retail one (progress/report.json, tools/progress.py).

Functions Code
Boot executable 1,411 of 3,390 161,996 of 1,049,464 bytes
Levels 1,470 of 5,710 147,828 of 4,484,136 bytes
Total 2,881 of 9,100 309,824 of 5,533,600 bytes (5.60%)

The 27 levels hold 106,337 function placements; C covers 36,986 of them. 84 of the matched functions are the original's own assembly (ASM_FUNC), kept as assembly.

How it works

  • tools/levels.py dump reads the boot executable and the 27 level programs from the disc.
  • config/boot/functions.tsv and config/levels/functions.tsv list every function once, with its places (docs/LEVELS.md).
  • src/ lists every function once, in address order, as its C or as an INCLUDE_ASM marker, as rac1-decomp does.
  • tools/build.py all disassembles each program, links the C in place of its assembly, and compares every loaded byte with the retail program (docs/BUILDING.md).

Layout

Path What
src/core/ the boot's core code (SDK, libc), one file per original object
src/game/ the boot's own program
src/levels/shared/, src/levels/NN_name/ level functions in several levels, and in one
nonmatching/ near misses, never linked
config/ the function catalogues, per-file compiler flags, naming research
tools/ disc reader and catalogue, build, progress, the compiler recipes
include/ shared headers
ports/pal-functional/ functional C for the PAL release (not matching)
docs/ building, the level format, the compiler, game research

Contributing

See CONTRIBUTING.md. Related projects: the rac1-decomp and UYA decompilations, and OpenRAC. Outside work used here is credited in CREDITS.md.

Licence

GPL-3.0, see LICENSE, like rac1-decomp and OpenRAC. Code released earlier under MIT keeps its notice in THIRD_PARTY_NOTICES.md. The licence covers this repository's own code, never the game, its assets or proprietary toolchains.

About

Going Commando USA v1.01: byte-exact reconstruction tools and native-port research. No game assets.

Topics

Resources

Contributing

Stars

16 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages