Version differences: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
This page only covers version differences in the game's decompiled source code (audio_interface_1 and audio_playback_2 are not included since they aren't decomped yet), not things like changes to level geometry<br>
'''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).
It also only covers differences between the original Japanese N64 version (J version) and the next-released NTSC-U version (U version)<br>


List of version differences:<br>
==Background==
Green = Understood well and observed in the game OR there are no consequences at all (ex. due to extra unused functions)<br>
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.
Yellow = Almost understood but not observed in the game OR simple to understand but no consequences have been found yet in the game<br>
 
Red = The difference leads to a complex chain of events that is opaque and hasn't been deciphered yet and so the consequences haven't been figured out OR directly undeciphered/indecipherable with current level of documentation
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.


The color codes aren't hard rules set in stone; generally speaking, if the difference can be directly explained in English, it's a yellow or above
{| 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 doesn'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: #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 ||  
|}
|}
Files with version differences (52 files):<br>
Audio (6 files):<br>
./audio/dac.c<br>
./audio/data.c<br>
./audio/dma.c<br>
./audio/interface_2.c<br>
./audio/playback.c<br>
./audio/something.c
Behavior (23 files):<br>
./game/behavior_actions.c<br>
./game/behaviors/bbh_tilt_floor.c.inc<br>
./game/behaviors/boo.c.inc<br>
./game/behaviors/bowser.c.inc<br>
./game/behaviors/bowser_key.c.inc<br>
./game/behaviors/bully.c.inc<br>
./game/behaviors/camera_lakitu.c.inc<br>
./game/behaviors/celebration_star.c.inc<br>
./game/behaviors/coin.c.inc<br>
./game/behaviors/cruiser.c.inc<br>
./game/behaviors/dorrie.c.inc<br>
./game/behaviors/hidden_star.c.inc<br>
./game/behaviors/king_bobomb.c.inc<br>
./game/behaviors/mips.c.inc<br>
./game/behaviors/moneybag.c.inc<br>
./game/behaviors/mr_i.c.inc<br>
./game/behaviors/piranha_plant.c.inc<br>
./game/behaviors/racing_penguin.c.inc<br>
./game/behaviors/red_coin.c.inc<br>
./game/behaviors/sparkle_spawn_star.c.inc<br>
./game/behaviors/tox_box.c.inc<br>
./game/behaviors/tuxie.c.inc<br>
./game/behaviors/water_ring.c.inc
Mario (8 files):<br>
./game/mario.c<br>
./game/mario_actions_airborne.c<br>
./game/mario_actions_automatic.c<br>
./game/mario_actions_cutscene.c<br>
./game/mario_actions_moving.c<br>
./game/mario_actions_object.c<br>
./game/mario_actions_stationary.c<br>
./game/mario_step.c
Other (15 files):<br>
./game/camera.c<br>
./game/file_select.c<br>
./game/hud.c<br>
./game/ingame_menu.c<br>
./game/ingame_menu.h<br>
./game/interaction.c<br>
./game/level_select_menu.c<br>
./game/level_update.c<br>
./game/main.c<br>
./game/object_helpers.c<br>
./game/object_helpers2.h<br>
./game/object_list_processor.c<br>
./game/platform_displacement.c<br>
./game/platform_displacement.h<br>
./game/star_select.c

Navigation menu