Skip to content

CodeWarrior

shibboleet edited this page Aug 26, 2023 · 1 revision

CodeWarrior is the name of the compiler that Nintendo used for the Gamecube and the Wii. There were many builds of CodeWarrior for both consoles, so narrowing down to the compiler version and build that the developers used for Super Mario Galaxy 1 was difficult. There are a lot of things to consider when figuring out a compiler version:

  • The build date. This can pinpoint when the game was compiled, so finding the most recent build near that build date has a chance to be the compiler
  • The code generation (often shortened to codegen) can change slightly between versions. Trial and error shows what compilers could work and what compilers could not work.
  • For the SDK libraries such as NW4R and RLV_SDK, the initialization functions for some libraries print out the compiler build.

For Super Mario Galaxy 1, a lot of testing has gone into finding the correct compiler for every library and also having the correct compiler arguments to match code perfectly.

Library Compiler Version Used (or closest)
Game (SMG1) GC 3.0a3
RVL_SDK GC 3.0
NW4R GC 3.0
JSystem GC 3.0
MSL GC 3.0
MetroTRK GC 2.5
Clone this wiki locally