Version differences: Difference between revisions

m
fixed incorrect unit
(worst for last)
m (fixed incorrect unit)
 
(37 intermediate revisions by 10 users not shown)
Line 12: Line 12:
! File !! Difference
! File !! Difference
|-
|-
| audio/dac.c || style="background-color: #F99" | In func_80316928, D_80226D7C is (in the U version) set to 172,320 times what it would be set to in the J version.
| audio/heap.c || style="background-color: #FFFF90" | In audio_reset_session, gTempoInternalToExternal holds the conversion ratio from the internal tatums/tick to beats/minute in the J version and tatums/minute in the U version.
|-
|-
| audio/data.c || style="background-color: #F99" | D_80332190 has different data in J and U versions. This may be related to sound glitch.
| audio/data.c || style="background-color: #F99" | gAudioSessionPresets has different data in J and U versions.
|-
|-
| audio/dma.c || style="background-color: #F99" | In func_80317270, osInvalDCache isn't called on the J version.
| audio/dma.c || style="background-color: #F99" | In dma_sample_data, osInvalDCache is called on the U version.
|-
|-
| audio/interface_1.c || style="background-color: #F99" | 15 separate numeric literals are doubles in J but floats in U.
| audio/interface_1.c || style="background-color: #F99" | 15 separate numeric literals are doubles in J but floats in U.
Line 50: Line 50:
| audio/interface_2.c || style="background-color: #F99" | In the J version of func_8031ED70, "level" is set to "(gCurrLevelNum > LEVEL_MAX ? LEVEL_MAX : gCurrLevelNum)" and "area" is set to "gCurrAreaIndex - 1". "area" is then capped at 2. In the U version, if the 0x20 flag of D_80360C48[listIndex][item].unk14 is set, "level" and "area" will both be set to 0 instead.
| audio/interface_2.c || style="background-color: #F99" | In the J version of func_8031ED70, "level" is set to "(gCurrLevelNum > LEVEL_MAX ? LEVEL_MAX : gCurrLevelNum)" and "area" is set to "gCurrAreaIndex - 1". "area" is then capped at 2. In the U version, if the 0x20 flag of D_80360C48[listIndex][item].unk14 is set, "level" and "area" will both be set to 0 instead.
|-
|-
| audio/interface_2.c || style="background-color: #F99" | In the J version of func_8031EEF8, if D_80360C48[listIndex][index].unk14 & 0xF == 0, func_8031E0E4 and func_8031DFE8 will be called with D_80222A18[2].unk2C[k]->unk54 set to 0 in between. In the U version, if D_80222A18[2].unk2C[k]->unk44 == 0 the same code is run except setting D_80360C48[listIndex][index].unk18 to 0 instead; if D_80222A18[2].unk2C[k]->unk44 != 0, D_80222A18[2].unk2C[k]->unk44->unk0b40 == 0, D_80360C48[listIndex][index].unk14 & 0xF == 0, the same code as in the J version is run.
| audio/interface_2.c || style="background-color: #F99" | In the J version of func_8031EEF8, if D_80360C48[listIndex][index].unk14 & 0xF == 0, func_8031E0E4 and func_8031DFE8 will be called with D_80222A18[2].unk2C[k]->unk54 set to 0 in between. In the U version, if D_80222A18[2].unk2C[k]->unk44 == 0 the same code is run except setting D_80360C48[listIndex][index].unk18 to 0 instead; if D_80222A18[2].unk2C[k]->unk44 != 0, D_80222A18[2].unk2C[k]->unk44->unk0b40 == 0, D_80360C48[listIndex][index].unk14 & 0xF == 0, the same code as in the J version is run. This version difference is responsible for patching [[Sound Glitch]].
|-
|-
| audio/interface_2.c || style="background-color: #9F9" | When pressing a cap switch, the "Correct Solution" jingle (played by play_puzzle_jingle) isn't played on the J version.
| audio/interface_2.c || style="background-color: #9F9" | When pressing a cap switch, the "Correct Solution" jingle (played by play_puzzle_jingle) isn't played on the J version.
Line 68: Line 68:
| audio/something.c || style="background-color: #F99" | In func_803159EC, arg0->unk<3C/3E> are set to ((u16)(arg1 * <f0/f2>)) & -0x8100 in the J version, but in the U version they're set to (u16)((s32)(arg1 * <f0/f2>)) & -0x8100.
| audio/something.c || style="background-color: #F99" | In func_803159EC, arg0->unk<3C/3E> are set to ((u16)(arg1 * <f0/f2>)) & -0x8100 in the J version, but in the U version they're set to (u16)((s32)(arg1 * <f0/f2>)) & -0x8100.
|-
|-
| game/behavior_actions.c || style="background-color: #9F9" | music_touch.c.inc is only included in the U version. This means the "Music Touch" object doesn't exist on the J version. The only thing the object does is call play_puzzle_jingle the first time Mario enters within 200 units of it. This object is only used once in the game, in the CCM slide at coordinates -4943, 1321, 667.
| game/behavior_actions.c || style="background-color: #9F9" | music_touch.inc.c is only included in the U version. This means the "Music Touch" object doesn't exist on the J version. The only thing the object does is play the "Correct Solution" jingle the first time Mario enters within 200 units of it. This object is only used once in the game, to play the puzzle jingle when Mario enters the shortcut in the CCM slide.
|-
|-
| game/behaviors/bbh_tilt_floor.c.inc || style="background-color: #9F9" | (Nim is making a video on this)
| game/behaviors/bbh_tilt_floor.inc.c || style="background-color: #9F9" | See [https://www.youtube.com/watch?v=sOuk8sLwyS4&t=19s this video] for an explanation of the version difference.
|-
|-
| 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.inc.c || 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.inc.c || style="background-color: #9F9" | In the J version, gDebugInfo[5][0] acts as the number of extra boos (past 5) needed to activate a Big Boo. In the U version, this debug option was removed.
|-
|-
| game/behaviors/boo.c.inc || style="background-color: #FFFF90" | boo_stop() is called in ActionBooGivingStar4 only on the U version.
| game/behaviors/boo.inc.c || style="background-color: #FFFF90" | boo_stop() is called in ActionBooGivingStar4 only on the U version.
|-
|-
| game/behaviors/boo.c.inc || style="background-color: #9F9" | On the J version, SetSound(0x806AA081, D_803320E0) is called when the Merry-Go-Round Big Boo is spawned. In the U version, play_puzzle_jingle() is called instead. The difference between the 2 sounds is shown in [https://youtu.be/eu9f6QEoLCU this video.]
| game/behaviors/boo.inc.c || style="background-color: #9F9" | On the J version, the sound played when opening a chest is also played when the Merry-Go-Round Big Boo is spawned. In the U version, the standard "Correct Solution" jingle is called instead. The difference between the 2 sounds is shown in [https://youtu.be/eu9f6QEoLCU this video.]
|-
|-
| game/behaviors/bowser.c.inc || style="background-color: #FFFF90" | Bowser's "body anchor"'s InteractType is set to 0x800000 whenever Bowser's action is 4 in the J version. In the U version, it's set to 0x800000 when Bowser's action is 4 and his subaction is not 11; if it is 11, the anchor's InteractType is set to 0.
| game/behaviors/bowser.inc.c || style="background-color: #9F9" | In the final Bowser fight in the J version, Bowser's hitbox is still able to be interacted with after the Grand Star spawns ([https://cdn.discordapp.com/attachments/454787583684378647/580079347990265857/amarec20190520-1303.mp4 video]). This was fixed in the U version.
|-
|-
| game/behaviors/bowser.c.inc || style="background-color: #9F9" | In the US version, Bowser checks if he's in a demo to prevent the typical 1/10 chance of dancing.
| game/behaviors/bowser.inc.c || style="background-color: #9F9" | In the US version, Bowser checks if he's in a demo to prevent the typical 1/10 chance of dancing. This is because the U version added a new [[BitDW]] demo.
|-
|-
| game/behaviors/bowser.c.inc || style="background-color: #FFFF90" | func_u_802B4AF4() is only declared in the U version.
| game/behaviors/bowser.inc.c || style="background-color: #FFFF90" | func_u_802B4AF4() is only declared in the U version.
|-
|-
| game/behaviors/bowser.c.inc || style="background-color: #FFFF90" | In ActionBowser13, func_u_802B4AF4 is called only in the U version if Bowser's subaction is 1 and "o->oBehParams2ndByte == 2 && o->oUnknownUnkF4_S32 & 0x10000". (todo: can't find where 2nd byte of behavior params is set to 2 for bowser, is this code ever reached?)
| game/behaviors/bowser.inc.c || style="background-color: #FFFF90" | In ActionBowser13, func_u_802B4AF4 is called only in the U version if Bowser's subaction is 1 and "o->oBehParams2ndByte == 2 && o->oUnknownUnkF4_S32 & 0x10000". (todo: can't find where 2nd byte of behavior params is set to 2 for bowser, is this code ever reached?)
|-
|-
| game/behaviors/bowser.c.inc || style="background-color: #FFFF90" | In ActionBowser2, when Bowser's subaction is 2, func_u_802B4AF4 is called in the U version.
| game/behaviors/bowser.inc.c || style="background-color: #FFFF90" | In ActionBowser2, when Bowser's subaction is 2, func_u_802B4AF4 is called in the U version.
|-
|-
| game/behaviors/bowser_key.c.inc || style="background-color: #FFFF90" | The sound of a Bowser key bouncing has higher priority in the U version, probably to stop it getting overriden by other sounds. It also has a flag set on the U version which seems to indicate that the sound is affected by distance (to/from something unknown) somehow.
| game/behaviors/bowser_key.inc.c || style="background-color: #FFFF90" | The sound of a Bowser key bouncing has higher priority in the U version, probably to stop it getting overriden by other sounds. It also has a flag set on the U version which seems to indicate that the sound is affected by the camera's distance to the key somehow.
|-
|-
| game/behaviors/bully.c.inc || style="background-color: #FFFF90" | The sound a bully makes when it spawns a coin after being killed in the U version has a flag set which seems to indicate that the sound is affected by distance (to/from something unknown) somehow.
| game/behaviors/bully.inc.c || style="background-color: #FFFF90" | The sound a bully makes when it spawns a coin after being killed in the U version has a flag set which seems to indicate that the sound is affected by the camera's distance to the bully somehow.
|-
|-
| game/behaviors/camera_lakitu.c.inc || style="background-color: #9F9" | The "Lakitu's Message" music clip that plays when Lakitu comes near Mario to explain the camera controls at the start of the game isn't played or doesn't exist on J version.
| game/behaviors/camera_lakitu.inc.c || style="background-color: #FFFF90" | The "Lakitu's Message" music clip that plays when Lakitu comes near Mario to explain the camera controls at the start of the game isn't played or doesn't exist on J version.
|-
|-
| game/behaviors/celebration_star.c.inc || style="background-color: #9F9" | When you collect a Bowser key, the cutscene that plays will show a star instead of a key in the J version.
| game/behaviors/celebration_star.inc.c || style="background-color: #9F9" | When you collect a Bowser key, the cutscene that plays will show a star instead of a key in the J version.
|-
|-
| game/behaviors/celebration_star.c.inc || style="background-color: #FFFF90" | On the J version, when a celebration star is turning to face the camera, it is scaled by 1/10 units per frame. On the U version, it checks if it's a key. If it's a key, it scales 1/30 units per frame; if it's the Grand Star, it scales 1/10 units per frame. (todo: check if the function is ever called by the grand star)
| game/behaviors/celebration_star.inc.c || style="background-color: #FFFF90" | On the J version, when a celebration star is turning to face the camera, it is scaled by 1/10 units per frame. On the U version, it checks if it's a key. If it's a key, it scales 1/30 units per frame; if it's the Grand Star, it scales 1/10 units per frame. (todo: check if the function is ever called by the grand star)
|-
|-
| game/behaviors/coin.c.inc ||  style="background-color: #FFFF90" | The sound a coin makes when it spawns (through beh_single_coin_gets_spawned) in the U version has a flag set which seems to indicate that the sound is affected by distance (to/from something unknown) somehow.
| game/behaviors/coin.inc.c ||  style="background-color: #FFFF90" | The sound a coin makes when it spawns (through bhvSingleCoinGetsSpawned or bhvMrIBlueCoin) in the U version has a flag set which seems to indicate that the sound is affected by the camera's distance to the coin somehow.
|-
|-
| game/behaviors/coin.c.inc || style="background-color: #9F9" | On the U version, coins will unload if they land on the death barrier. On the J version, they will continue to exist.
| game/behaviors/coin.inc.c || style="background-color: #9F9" | On the U version, coins will unload if they land on the death barrier. On the J version, they will continue to exist.
|-
|-
| game/behaviors/coin.c.inc || style="background-color: #9F9" | If a coin bounces more than 5 times in a row, it will only continue to the bounce sound on the J version.
| game/behaviors/coin.inc.c || style="background-color: #9F9" | If a coin bounces more than 5 times in a row, it will only continue to play the bounce sound on the J version.
|-
|-
| game/behaviors/cruiser.c.inc || style="background-color: #9F9" | On the U version, the wings on the RR cruiser will play a sound (namely, 0x30750081) every 64 frames. (It waits for the timer to become 64, then plays the sound and sets it to 0.) On the J version, it won't do any of this.
| game/behaviors/cruiser.inc.c || style="background-color: #9F9" | On the U version, the wings on the RR cruiser will play a sound every 64 frames. (It waits for the timer to become 64, then plays the sound and sets it to 0.) On the J version, it won't do any of this.
|-
|-
| game/behaviors/dorrie.c.inc || style="background-color: #FFFF90" | Two if-elseif statements swap places between the J and U versions (todo: elaborate on what effects this has). Also, in the J version, it will raise its head along with Mario if the forward distance to Mario is greater than 830 (i.e. Mario is greater than 830 units away from Dorrie's center) and if set_mario_npc_dialogue returns the expected result indicating a success. In the U version, 830 is changed to 780, and another condition is added: Dorrie's Y offset has to be equal to -17.
| game/behaviors/dorrie.inc.c || style="background-color: #FFFF90" | Two if-elseif statements swap places between the J and U versions (todo: elaborate on what effects this has). Also, in the J version, it will raise its head along with Mario if the forward distance to Mario is greater than 830 (i.e. Mario is greater than 830 units away from Dorrie's center) and if set_mario_npc_dialogue returns the expected result indicating a success. In the U version, 830 is changed to 780, and another condition is added: Dorrie's Y offset has to be equal to -17.
|-
|-
| game/behaviors/hidden_star.c.inc || style="background-color: #9F9" | As you collect more secrets, the sound played when collecting secrets gets higher in pitch on the U version. It doesn't change on the J version.
| game/behaviors/hidden_star.inc.c || style="background-color: #9F9" | As you collect more secrets, the sound played when collecting secrets gets higher in pitch on the U version. It doesn't change on the J version.
|-
|-
| game/behaviors/king_bobomb.c.inc || style="background-color: #9F9" | In ActionKingBobomb0, King Bob-omb's velocity is only set to 0 in the U version. It is not touched in the J version. This is the cause of [https://t.co/rSZBnhKCAT this glitch.]
| game/behaviors/king_bobomb.inc.c || style="background-color: #9F9" | In ActionKingBobomb0, King Bob-omb's velocity is only set to 0 in the U version. It is not touched in the J version. This is the cause of [https://t.co/rSZBnhKCAT this J-specific glitch.]
|-
|-
| game/behaviors/king_bobomb.c.inc || style="background-color: #FFFF90" | When spawning the star in the J version, the invisible defeated King Bob-omb is raised by 100 units and CreateStar is called to spawn the star. In the U version, King Bob-omb is not raised directly but rather through obj_spawn_star_at_y_offset which is called instead of CreateStar. The Y-offset passed into obj_spawn_star_at_y_offset is 200. TODO: Figure out if the star actually spawns ''from'' 100 units higher in U
| game/behaviors/king_bobomb.inc.c || style="background-color: #9F9" | King Bob-omb's star spawns ''from'' 100 units higher in the U version than in the J version, before moving to its final spot during the cutscene.
|-
|-
| game/behaviors/mips.c.inc || style="background-color: #9F9" | When MIPS has action 1 in the J version, his forward velocity is set to 45. In the U version, it's set to o->oUnk1AC_F32, which is 40 for the 1st MIPS and 45 for the 2nd MIPS. This was probably done to slow him down a bit.
| game/behaviors/mips.inc.c || style="background-color: #9F9" | When MIPS has action 1 in the J version, his forward velocity is set to 45. In the U version, it's set to o->oUnk1AC_F32, which is 40 for the 1st MIPS and 45 for the 2nd MIPS. This was probably done to slow him down a bit.
|-
|-
| game/behaviors/mips.c.inc || style="background-color: #9F9" | In the J version, MIPS' gravity is 2.5. In the U version, it's 15.
| game/behaviors/mips.inc.c || style="background-color: #9F9" | In the J version, MIPS' gravity is 2.5. In the U version, it's 15.
|-
|-
| game/behaviors/moneybag.c.inc || style="background-color: #9F9" | When turning invisible, moneybags make a sound (namely, 0x30762081) in U but not in J.
| game/behaviors/moneybag.inc.c || style="background-color: #9F9" | When turning invisible, moneybags make a sound in U but not in J.
|-
|-
| game/behaviors/mr_i.c.inc || style="background-color: #FFFF90" | In ActionMrI0, the Mr. I will set its MoveAngle's to 0 on the J version. On the U version, it calls set_object_angle(o, 0, 0, 0), which sets both its FaceAngle's and MoveAngle's to 0.
| game/behaviors/mr_i.inc.c || style="background-color: #9F9" | In ActionMrI0, the Mr. I will set its MoveAngles to 0 on the J version. On the U version, it calls set_object_angle(o, 0, 0, 0), which sets both its FaceAngles and MoveAngles to 0. This has no effect in the game.
|-
|-
| game/behaviors/piranha_plant.c.inc || style="background-color: #FFFF90" | In ActionPiranhaPlant20, the piranha plant's size is set back to normal only on the U version.
| game/behaviors/piranha_plant.inc.c || style="background-color: #9F9" | piranha_plant_reset_when_far is only declared in the U version. It resets the piranha plant if it is far away from Mario. This was done to patch [https://www.youtube.com/watch?v=zkA3WFlHS9g this J-specific glitch.]
|-
|-
| game/behaviors/piranha_plant.c.inc || style="background-color: #FFFF90" | In ActionPiranhaPlant21, o->oDamageOrCoinValue is set to 0 only on the U version.
| game/behaviors/piranha_plant.inc.c || style="background-color: #9F9" | When the piranha plant is idle, its size is constantly set to normal. This is to make the piranha plant not permanently small when the aforementioned glitch is tried on U.
|-
|-
| game/behaviors/piranha_plant.c.inc || style="background-color: #FFFF90" | In ActionPiranhaPlant23, o->oDamageOrCoinValue is set to 3 only on the U version.
| game/behaviors/piranha_plant.inc.c || style="background-color: #9F9" | Mario can run into a sleeping piranha plant and receive knockback. On the U version, he will not get hurt, but on the J version, he will.
|-
|-
| game/behaviors/piranha_plant.c.inc || style="background-color: #FFFF90" | func_u_802BE0B8 is only declared in the U version. It sets the piranha plant's action to 0 if it has active flag 0x2 set.
| game/behaviors/racing_penguin.inc.c || style="background-color: #9F9" | When the penguin is turning and walking at the end of the race, the game will play a walking noise when not on the J version.
|-
|-
| game/behaviors/piranha_plant.c.inc || style="background-color: #FFFF90" | In ActionPiranhaPlant25, func_u_802BE0B8 is called only on the U version.
| game/behaviors/racing_penguin.inc.c || style="background-color: #9F9" | The penguin's star spawns ''from'' 200 units lower in the U version than in the J version, before moving to its final spot during the cutscene.
|-
|-
| game/behaviors/piranha_plant.c.inc || style="background-color: #FFFF90" | In ActionPiranhaPlant26, func_u_802BE0B8 is called only on the U version.
| game/behaviors/red_coin.inc.c || style="background-color: #9F9" | As you collect more red coins, the sound played when collecting secrets gets higher in pitch on the U version. It doesn't change on the J version.
|-
|-
| game/behaviors/racing_penguin.c.inc || style="background-color: #FFFF90" | When the penguin is turning to face Mario at the end of the race (todo: confirm this), func_802BE3B4(1) is called but only on the U version.
| game/behaviors/sparkle_spawn_star.inc.c || style="background-color: #FFFF90" | In bhvUnused080CLoop (not unused), when the object's action is 0, its Y-velocity is negative, it's under its home, and the bitmask o->oUnk190 has flag 0x400 set, the object will call func_803212A0(0) in the J version and func_803212A0(1) in the U version.
|-
|-
| game/behaviors/racing_penguin.c.inc || style="background-color: #FFFF90" | On the U version, obj_spawn_star_at_y_offset is used to spawn the star instead of CreateStar. (todo: check if there are star height differences)
| game/behaviors/tox_box.inc.c || style="background-color: #9F9" | The sound the tox-box plays when slamming into the ground has a higher priority in the U version to stop it from getting overriden by other sounds.
|-
|-
| game/behaviors/red_coin.c.inc || style="background-color: #9F9" | As you collect more red coins, the sound played when collecting secrets gets higher in pitch on the U version. It doesn't change on the J version.
| game/behaviors/tuxie.inc.c || style="background-color: #9F9" | The Mother Penguin will spawn the star in a completely different location in the U version than in the J version.
|-
|-
| game/behaviors/sparkle_spawn_star.c.inc || style="background-color: #FFFF90" | In BehUnused080CLoop, when the object's action is 0, its Y-velocity is negative, it's under its home, and the bitmask o->oUnk190 has flag 0x400 set, the object will call func_803212A0(0) in the J version and func_803212A0(1) in the U version.
| game/behaviors/tuxie.inc.c || style="background-color: #9F9" | On the J version, the baby penguin's cries will not become quieter if Mario/the penguin go further away from the camera (e.g. by fixing the camera). This was fixed on the U version; the cries change in volume depending on the distance from the camera as expected.
|-
|-
| game/behaviors/tox_box.c.inc ||  style="background-color: #FFFF90" | The sound the tox-box plays when slamming into the ground has flag 0x8000 set on the U version but not on the J version.
| game/behaviors/water_ring.inc.c || style="background-color: #9F9" | As you go through more water rings, the sound played when collecting secrets gets higher in pitch on the U version. It doesn't change on the J version.
|-
| game/behaviors/tuxie.c.inc || style="background-color: #9F9" | The Mother Penguin will spawn the star in a completely different location in the U version than in the J version.
|-
| game/behaviors/tuxie.c.inc || style="background-color: #9F9" | On the J version, the baby penguin's cries will not become quieter if Mario/the penguin go further away from the camera (e.g. by fixing the camera). This was fixed on the U version; the cries change in volume depending on the distance from the camera as expected.
|-
| game/behaviors/water_ring.c.inc || style="background-color: #9F9" | As you go through more water rings, the sound played when collecting secrets gets higher in pitch on the U version. It doesn't change on the J version.
|-
|-
| game/camera.c || style="background-color: #F99" | When func_80286C9C is called while in BitDW (todo: clarify, is this the entire level including the boss fight or just the boss fight?), func_8028BB3C(a, 144) will be called on the J version. On the U version, func_8028BB3C(a, 144) will be called if the demo is not being run; if it is, and the camera's secondary focus is set on an object, that object will have the first byte of its rawData set to 2.
| game/camera.c || style="background-color: #F99" | When func_80286C9C is called while in BitDW (todo: clarify, is this the entire level including the boss fight or just the boss fight?), func_8028BB3C(a, 144) will be called on the J version. On the U version, func_8028BB3C(a, 144) will be called if the demo is not being run; if it is, and the camera's secondary focus is set on an object, that object will have the first byte of its rawData set to 2.
|-
|-
| game/camera.c || style="background-color: #FFFF90" | In func_8028B3DC, under some circumstances the sound that normally plays when you press C-Down will not play on J, but will on U. (todo: document camera)
| game/camera.c || style="background-color: #9F9" | When you try to zoom out (press C-Down) when the camera is already zoomed out, a buzz sound will play on the U version. It will not play on the J version.
|-
|-
| game/camera.c || style="background-color: #FFFF90" | In func_8028B7A4, under some circumstances the sound that normally plays when you press C-Down will not play on J, but will on U. (todo: document camera)
| game/camera.c || style="background-color: #FFFF90" | In func_8028B7A4, under some circumstances the sound that normally plays when you press C-Down will not play on J, but will on U. (todo: document camera)
Line 176: Line 170:
| game/file_select.c || style="background-color: #9F9" | The sound clip that plays when you select a file in the file select has Mario saying "Okey Dokey!" in the U version.
| game/file_select.c || style="background-color: #9F9" | The sound clip that plays when you select a file in the file select has Mario saying "Okey Dokey!" in the U version.
|-
|-
| game/file_select.c || style="background-color: #9F9" | The "Select File" text has a different font and is in a slightly different position in the U version. (todo: confirm this)
| game/file_select.c || style="background-color: #9F9" | The "Select File" text has a different font and is in a [[Media:SelectScreenFont.gif|slightly different position]] in the U version.
|-
|-
| game/file_select.c || style="background-color: #9F9" | In the U version, sSoundTextX is used to center the name of the current sound setting on the main file select. In the J version, it remains uncentered.
| game/file_select.c || style="background-color: #9F9" | In the U version, sSoundTextX is used to center the name of the current sound setting on the main file select. In the J version, it remains uncentered.
Line 294: Line 288:
| game/ingame_menu.h ||  
| game/ingame_menu.h ||  
|-
|-
| game/interaction.c || style="background-color: #FFFF90" | func_80251F74 is called when Mario gets a star on the U version.
| game/interaction.c || style="background-color: #9F9" | The [[dab]] is patched in the U version.
|-
|-
| game/interaction.c || style="background-color: #9F9" | Mario says "Boing!" when he bounces on an enemy that causes him to twirl (e.g. [[Fly Guy|Fly Guys]]).
| game/interaction.c || style="background-color: #9F9" | Mario says "Boing!" when he bounces on an enemy that causes him to twirl (e.g. [[Fly Guy|Fly Guys]]) only on the U version.
|-
|-
| game/interaction.c || style="background-color: #9F9" | Mario can press either B or A to read a sign on the U version. On the J version, B must be pressed.
| game/interaction.c || style="background-color: #9F9" | Mario can press either B or A to read a sign on the U version. On the J version, B must be pressed.
|-
|-
| game/interaction.c || style="background-color: #9F9" | Mario must be facing within 14563 (0x38E3) angle units of a sign to talk to it on the J version. On the U version, the range is wider; he can be within 16384 (0x4000) angle units to talk to it.
| game/interaction.c || style="background-color: #9F9" | Mario must be facing within 14563 (0x38E3) angle units i.e. 80 degrees of a sign to talk to it on the J version. On the U version, the range is wider; he can be within 16384 (0x4000) angle units i.e. 90 degrees to talk to it.
|-
|-
| game/level_select_menu.c || In the title screen, Mario says "Hello!", "Press Start to play!", and "Game over!" only on the U version.
| game/level_select_menu.c || style="background-color: #9F9" | In the title screen, Mario says "Hello!", "Press Start to play!", and "Game over!" only on the U version.
|-
|-
| game/level_update.c || style="background-color: #9F9" | The credits text are different in the U version; voice actors were credited and some typos were fixed. Notably, "JYOHO KAIHATUBU" was translated into English as "EAD STAFF".
| game/level_update.c || style="background-color: #9F9" | The credits text are different in the U version; voice actors were credited and some typos were fixed. Notably, "JYOHO KAIHATUBU" was translated into English as "EAD STAFF".
|-
|-
| game/level_update.c || style="background-color: #F99" | func_80320AE8 is called in the U version when Mario enters (or maybe exits?) Bob-omb Battlefield if func_80320E98 does not return 1033 and sTimerRunning is not 0.
| game/level_update.c || style="background-color: #9F9" | On the J version, if Mario has more than 999 coins, his lives counter gets set to 999, which overflows to -25 lives. This was fixed in the U version.
|-
| game/level_update.c || style="background-color: #9F9" | On the J version, if Mario enters a teleport while racing Koopa the Quick, the race music will stop. This was fixed in the U version.
|-
| game/level_update.c || style="background-color: #FFFF90" | func_80320AE8 is called in the U version when Mario enters (or maybe exits?) Bob-omb Battlefield if func_80320E98 does not return 1033 and sTimerRunning is not 0.
|-
|-
| game/level_update.c || style="background-color: #FFFF90" | SOUND_MENU_MARIOCASTLEWARP is played when Mario warps to a castle warp with ID 31 in the J version and 31 or 32 in the U version.
| game/level_update.c || style="background-color: #FFFF90" | SOUND_MENU_MARIOCASTLEWARP is played when Mario warps to a castle warp with ID 31 in the J version and 31 or 32 in the U version.
Line 316: Line 314:
| game/main.c || style="background-color: #9F9" | The U version of Mario 64 is able to detect PAL TVs and change its video output accordingly. The J version assumes any connected screen is NTSC, and is therefore not compatible with PAL TVs.
| game/main.c || style="background-color: #9F9" | The U version of Mario 64 is able to detect PAL TVs and change its video output accordingly. The J version assumes any connected screen is NTSC, and is therefore not compatible with PAL TVs.
|-
|-
| game/mario_actions_airborne.c || style="background-color: #9F9" | In the U version, when Mario gets air knockback or bonks in the air, Mario will say "Doh!" if his action arg is 0 and he's travelling faster than 28 units per second forwards or backwards, and "Uh!" otherwise. In the J version, he will always say "Uh!"
| game/mario_actions_airborne.c || style="background-color: #9F9" | In the U version, when Mario gets air knockback or bonks in the air, Mario will say "Doh!" if his action arg is 0 and he's travelling faster than 28 units per frame forwards or backwards, and "Uh!" otherwise. In the J version, he will always say "Uh!"
|-
|-
| game/mario_actions_airborne.c || style="background-color: #9F9" | When Mario gets stuck in the ground, SOUND_MARIO_OOOF will play in the J version and SOUND_MARIO_OOOF2 will play in the U version.
| game/mario_actions_airborne.c || style="background-color: #9F9" | When Mario gets stuck in the ground, SOUND_MARIO_OOOF will play in the J version and SOUND_MARIO_OOOF2 will play in the U version.
Line 333: Line 331:
|-
|-
| game/mario_actions_airborne.c || style="background-color: #FFFF90" | In the U version, when Mario lands after being thrown, his HP decrement counter is passed to set_mario_action instead of his action arg.
| game/mario_actions_airborne.c || style="background-color: #FFFF90" | In the U version, when Mario lands after being thrown, his HP decrement counter is passed to set_mario_action instead of his action arg.
|-
| game/mario_actions_airborne.c ||
|-
| game/mario_actions_airborne.c ||
|-
|-
| game/mario_actions_automatic.c || style="background-color: #9F9" | In the U version, Mario will drop off a pole automatically if he's climbing up or down a pole or holding onto one from the side and he is dead or dying. In the J version, he will stay on the pole. Interestingly, he will not drop off the pole on the U version if he is in a handstand at the top of the pole or transitioning into a handstand.
| game/mario_actions_automatic.c || style="background-color: #9F9" | In the U version, Mario will drop off a pole automatically if he's climbing up or down a pole or holding onto one from the side and he is dead or dying. In the J version, he will stay on the pole. Interestingly, he will not drop off the pole on the U version if he is in a handstand at the top of the pole or transitioning into a handstand.
Line 354: Line 348:
| game/mario_actions_moving.c || style="background-color: #FFFF90" | If Mario gets knockback on the ground and his actionArg is less than or equal to 0, he will make a SOUND_MARIO_OOOF on J and SOUND_MARIO_OOOF2 on U.
| game/mario_actions_moving.c || style="background-color: #FFFF90" | If Mario gets knockback on the ground and his actionArg is less than or equal to 0, he will make a SOUND_MARIO_OOOF on J and SOUND_MARIO_OOOF2 on U.
|-
|-
| game/mario_actions_moving.c || style="background-color: #9F9" | Mario will only say "Mamma Mia!" when exiting a course after dying in [[Big Boo's Haunt]], [[Hazy Maze Cave]], [[Rainbow Ride]], [[Bowser in the Dark World]], [[Bowser in the Fire Sea]], [[Bowser in the Sky]], [[Vanish Cap under the Moat]], and [[Wing Mario over the Rainbow]] in the U version; in the J version, he won't say "Mamma Mia!" (TODO: Confirm)
| game/mario_actions_moving.c || style="background-color: #9F9" | Mario will only say "Mamma Mia!" when exiting a course after dying in [[Big Boo's Haunt]], [[Hazy Maze Cave]], [[Rainbow Ride]], [[Bowser in the Dark World]], [[Bowser in the Fire Sea]], [[Bowser in the Sky]], [[Vanish Cap under the Moat]], and [[Wing Mario over the Rainbow]] in the U version; in the J version, he won't say "Mamma Mia!"
|-
|-
| game/mario_actions_object.c || style="background-color: #9F9" | On the U version, if Mario is swinging Bowser faster than 3,584 (0xE00) [[angle units]] per frame and throws him, he will say "So long-a Bowser!" But if he's swinging it slower, he'll say "Here we go!" On the J version, he will say "Here we go!" regardless of how fast Bowser is spinning.
| game/mario_actions_object.c || style="background-color: #9F9" | On the U version, if Mario is swinging Bowser faster than 3,584 (0xE00) [[angle units]] per frame and throws him, he will say "So long-a Bowser!" But if he's swinging it slower, he'll say "Here we go!" On the J version, he will say "Here we go!" regardless of how fast Bowser is spinning.
Line 374: Line 368:
| game/object_helpers.c || style="background-color: #9F9" | The [[Timestop|timestop glitch]] is patched on the U version.
| game/object_helpers.c || style="background-color: #9F9" | The [[Timestop|timestop glitch]] is patched on the U version.
|-
|-
| game/object_helpers.c || style="background-color: #FFFF90" | obj_spawn_star_at_y_offset is only declared in the U version.
| game/object_helpers.c || style="background-color: #9F9" | obj_spawn_star_at_y_offset is only declared in the U version. This function spawns the star initially at a slightly higher height so stars don't spawn at ground level. This is used by the large penguins and by King Bob-omb.
|-
|-
| game/object_list_processor.c || style="background-color: #9F9" | [[Spawning Displacement|Spawning displacement]] is patched in the U version by setting Mario's platform to NULL when an area loads.
| game/object_list_processor.c || style="background-color: #9F9" | [[Spawning Displacement|Spawning displacement]] is patched in the U version by setting Mario's platform to NULL when an area loads.
Line 386: Line 380:
| game/star_select.c || style="background-color: #9F9" | When selecting a star, Mario says "Let's-a Go!" in the U version but not in the J version.
| game/star_select.c || style="background-color: #9F9" | When selecting a star, Mario says "Let's-a Go!" in the U version but not in the J version.
|}
|}
[[Category:Games]]
156

edits