750
edits
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
This page | '''Version Differences''' are differences in Super Mario 64 between different releases. Most differences, like translated text, are obvious; however, there are some subtle differences in the game's logic that aren't as readily apparent. Thanks to the [[decompilation]] of Super Mario 64, version differences are easier to spot and make sense of. This page aims to be a complete list of all the version differences in the game's source code (i.e. not text, sounds, etc.) between the original [[Super Mario 64#Japanese|Japanese version]] (NTSC-J) and the [[Super Mario 64#English|North American version]] (NTSC-U). | ||
==Background== | |||
The Japanese version of Super Mario 64 was released on June 23, 1996, and the North American version 3 months later, on September 29. Between finalization of the Japanese version and release of the North American version, over 200 changes were made to the game's main code. Some of these are simple bugfixes, some are additions to the game, and some are as yet undeciphered. | |||
This article keeps track of the version differences in the currently decompiled source code. 2 audio library files are as yet undecompiled and still remain as mostly ASM; though they contain version differences, the fact that they are in ASM makes them too opaque to fully understand. They are not listed here. | |||
Version differences are found in the audio library and in the main game code. There are no version differences in the game's core engine, nor in the Goddard subsystem (a separate area of the code written in C++ by Giles Goddard and responsible for the draggable Mario head). | |||
==Differences== | |||
This list is in the form of a color-coded table. Green differences are fully understood; red differences are completely opaque; and yellow differences are in-between, relatively simple but with unexplored effects on the game. | |||
{| class="wikitable" | {| class="wikitable" | ||
! File !! Difference | ! File !! Difference | ||
Line 59: | Line 62: | ||
| game/behaviors/bbh_tilt_floor.c.inc || style="background-color: #9F9" | (Nim is making a video on this) | | game/behaviors/bbh_tilt_floor.c.inc || style="background-color: #9F9" | (Nim is making a video on this) | ||
|- | |- | ||
| game/behaviors/boo.c.inc || style="background-color: #9F9" | In [[Go on a Ghost Hunt]], there is a single boo upstairs which spawns in the Eye-to-Eye Secret Room. The premise of the star is that you must kill all of the boos, but since you aren't intended to go upstairs in that star the boo upstairs | | game/behaviors/boo.c.inc || style="background-color: #9F9" | In [[Go on a Ghost Hunt]], there is a single boo upstairs which spawns in the Eye-to-Eye Secret Room. The premise of the star is that you must kill all of the boos, but since you aren't intended to go upstairs in that star the boo upstairs shouldn't count. Mario is required to kill 5 boos. In the U version, a check was added to make sure that killing the upstairs boo doesn't contribute to spawning the Big Boo. In the J version, you can kill 4 boos downstairs and 1 boo upstairs in any order and the Big Boo will spawn. If you kill the upstairs boo last, the text that normally appears when unlocking the Big Boo doesn't appear, nor does the "Correct Solution" jingle play. | ||
|- | |- | ||
| game/behaviors/boo.c.inc || style="background-color: #FFFF90" | In the J version, a part of an if statement's condition in ActionBooGivingStar0 is o->oUnk1AC_S32 >= 5 . On the U version, the debug parameter gDebugInfo[5][0] is added to 5. | | game/behaviors/boo.c.inc || style="background-color: #FFFF90" | In the J version, a part of an if statement's condition in ActionBooGivingStar0 is o->oUnk1AC_S32 >= 5 . On the U version, the debug parameter gDebugInfo[5][0] is added to 5. | ||
Line 447: | Line 450: | ||
| game/star_select.c || | | game/star_select.c || | ||
|} | |} | ||