Super Mario 64 (Nintendo 64)/Oddities
This is a sub-page of Super Mario 64 (Nintendo 64).
Contents
Actor Group Oddities
Actor Groups consist of files in the game which contain model data for different objects. Each level has a set of actor groups assigned to it, and in a few cases, none of the objects in a file they are assigned appear in the level.
The Princess's Secret Slide
The Princess's Secret Slide includes the actor group for the Cap Switch levels (group8 in the decomp). This group consists of the cap switch object and the unused springboard object, raising the possibility that one of them was to be included in the stage at some point.
Wing Mario Over the Rainbow
Wing Mario Over the Rainbow includes actor group 2, consisting of Bully and the unused Blargg model, as well as group 17, consisting of several Hazy Maze Cave actors. No actors from either group are used in the final level.
Cool, Cool Mountain
Cool, Cool Mountain includes actor group 16, consisting of Chill Bully and Moneybags. Neither of these enemies appear in the level.
Wet-Dry World
Heave-Hos can be picked up and thrown if it is close enough to the water in the level; this is because the code for grabbing an enemy in water does not check for the "ungrabbable" subtype.
void bhv_heave_ho_loop(void) {
cur_obj_scale(2.0f); switch (o->oHeldState) { case HELD_FREE: heave_ho_move(); break; case HELD_HELD: cur_obj_unrender_and_reset_state(0, 0); break; case HELD_THROWN: cur_obj_get_dropped(); break; case HELD_DROPPED: cur_obj_get_dropped(); break; } o->oInteractStatus = 0; }
const BehaviorScript bhvHeaveHo[] = {
BEGIN(OBJ_LIST_GENACTOR), OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)), LOAD_ANIMATIONS(oAnimations, heave_ho_seg5_anims_0501534C), ANIMATE(0), SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 200, /*Gravity*/ -400, /*Bounciness*/ -50, /*Drag strength*/ 1000, /*Friction*/ 1000, /*Buoyancy*/ 600, /*Unused*/ 0, 0), SPAWN_OBJ(/*Model*/ MODEL_NONE, /*Behavior*/ bhvHeaveHoThrowMario), SET_INT(oInteractType, INTERACT_GRABBABLE), SET_INT(oInteractionSubtype, INT_SUBTYPE_NOT_GRABBABLE | INT_SUBTYPE_GRABS_MARIO), SET_HITBOX(/*Radius*/ 120, /*Height*/ 100), SET_HOME(), SET_INT(oIntangibleTimer, 0), BEGIN_LOOP(), CALL_NATIVE(bhv_heave_ho_loop), END_LOOP(), };
Object Placement Oddities
Mystery Goomba
Two Goombas can be seen after the yellow back-and-forth blocks in Bowser in the Sky. They are loaded by a "spawner object" that generates three Goombas in a triangle; however, this object is positioned such that one of the three Goombas loads just off the edge of the platform, meaning that it spawns at the bottom of the stage. As such, it vanishes completely one frame after spawning, as it's too far away from Mario for the game to draw.
This lonesome Goomba is also impossible to reach. Goombas become disabled (invisible and intangible) when Mario is outside their radius, so the whole trio despawns completely if Mario exits the radius of their spawner object. This means the Goomba is loaded, visible, and tangible for only that single frame.
Dire Dire Docks Shadow
To do: Confirm that this is in the game, and if it is, get a picture. |
The Bowser door near the submarine has a shadow behind it that should remain visible after the door opens, but doesn't.
Jolly Roger Bay Ghost Ship
There is a third copy of the pirate ship placed above the other two, which is only present during the "Plunder in the Sunken Ship" mission and is not normally visible without viewing the stage in an editor or using a GameShark code. It resembles the other two, has no collision data, and is programmed to fade out the closer Mario gets to it. This is likely a reference to urban legends of ghost ships or the Flying Dutchman due to having the word "Ue" in its filename, which means "upper" or "above". It might also be related to the fog that disappears after "Plunder in the Sunken Ship". In the source code, it is labeled as an optional moving background object. While technically loaded, it is never rendered due to being manually disabled in its object code. The following cheats for the US version disable the coding that obscures the ship:
812C1CB4 0000 812C1CB6 0000
void bhv_sunken_ship_part_loop(void) { if (o->oDistanceToMario > 10000.0f) o->oOpacity = 140; else o->oOpacity = o->oDistanceToMario * 140.0f / 10000.0; cur_obj_disable_rendering(); }
This invisible ship is not present in the DS remake.
Unreachable Coins
The game features a few coins that can be seen, but not collected without using exploits.
Snowman's Land
There's a single coin lodged inside the snowman at the wooden path, at the side where you'd climb it.
This coin can be collected using a physics exploit that requires the player to fire the cannon at a precise position on the corner of a nearby wall.
Tiny-Huge Island
Several unreachable coins are part of a line that appears in the tiny version of Tiny-Huge Island. In normal gameplay, only the bottommost coin is visible. This is because the coins are positioned along a flatter trajectory than the angle of the actual terrain, causing the remaining coins to clip into the ground. While the second coin in the line is not visible, it can still be collected because its collision box pokes slightly above the ground.
The third coin in the line is unobtainable legitimately. However, it can be collected by clipping inside the pool of water at the top of the island, then using a frame-perfect physics exploit that requires jumping while exiting a body of water sideways.
There's another line of coins on Tiny-Huge Island with an unobtainable coin in it. This one is actually impossible to collect, because due to a failsafe mechanic, the coin unloads on the same frame it's loaded. This is due to the properties of its spawner object. When a five-coin object spawner is loaded, it spawns five coins 300 units above it. It checks for ground starting from 78 units above the coins, then moves the coins to the nearest floor triangle below them. However, if the nearest ground within this range is above the coin's hitbox, the coin will immediately unload. Because this spawner in Tiny-Huge Island is loaded underground, the coins spawn in such a way that the fifth one, on the far left, is caught and deleted by the failsafe.
Level Geometry Oddities
Whomp's Fortress
Final Stairs | Unused Ramp |
---|---|
Hidden under the stairs in Whomp's Fortress is unused geometry for a second ramp. If the game is paused while Mario is near the Thwomps, the stairs will unload and the ramp will become visible due to the stairs being a separate object from the level geometry.
Level Collision Oddities
To do: Some of the collision oddities mentioned here and here are worth noting. |
The game uses separate polygon meshes for visual (intangible) geometry and for collision geometry in each course. These were apparently not always kept in sync during development, leaving some hints at geometric features that were later changed or removed from the course altogether.
Over the Rainbow
To do: Add the other odd hangable ceilings from the video. |
Although not possible in normal play, Mario can hang on the starting cloud of Wing Mario Over The Rainbow. This can only be done if solid ground of any kind is present under the cloud, as shown at 1:06 in the video. This oddity still exists in Super Mario 64 DS. Also shown in this video are hangable ceilings that make little sense, probably left unchanged from an earlier build.
Whomp’s Fortress
In Whomp's Fortress, the collision for the water is longer than necessary. Therefore, it can be interacted with by jumping off the side and staying close to the wall, or by doing a precise wall jump on the wall. This may be a leftover from an earlier build that went unchanged for the final version.
In the same level, the Bullet Bill's collision box is actually quite small compared to the model itself, allowing Mario to jump over it without being injured.
Tall Tall Mountain
Visible Model | Collision Model | Prerelease Image |
---|---|---|
In Tall Tall Mountain's slide, there is a single rectangular polygon above the exit of the tunnel, which has collision but is invisible. Prerelease materials feature a sign with an arrow pointing left in this location.
The large mushrooms around the outer area of the course have a straight mesh for their stem's collision, but visually their stems are bent. This may indicate that the stems were originally straight, then bent later, without the collision being adjusted to compensate. This oddity still exists in Super Mario 64 DS.
Inside the Castle
Visible Model | Collision Model |
---|---|
In the room containing the entrance to The Princess's Secret Slide is accessed, the three stained glass windows of Peach extend the same distance out of the room. Their collision geometry is cut off, however, so only the one leading to the slide can be interacted with.
Tower of the Wing Cap
Visible Model | Collision Model |
---|---|
The towers extend much further downward visually than their collision geometry suggests. This means Mario can fly right through the towers at their bases.
Castle Grounds
Visible Model | Collision Model |
---|---|
The two spires at the back of the castle have no collision at all. This is easily noticeable in regular play, since this area becomes accessible after the player has collected all 120 stars. These pillars were also missing in prerelease material.
Whomp's Fortress
Near the top of the fortress are the remains of a piece of ground collision used for the level's Piranha Plants. A Piranha Plant was likely placed here at one point during development. Interestingly, Throwback Galaxy from Super Mario Galaxy 2 (a recreation of Whomp's Fortress) features a Piranha Plant near this spot.
Object Collision Oddities
Water Level Diamond
At 0x070184C8 in the Wet-Dry World level data is a collision list for the Water Level Diamond object. However, objects only use radius checks for interaction. This implies that either the diamond was once meant to be solid, or the collision was auto-generated.
Texture Oddities
Smoke Texture
In-game | In-game (correct format) |
---|---|
The smoke texture displayed in-game is bugged -- it's supposed to use the IA16 (indexed alpha with 16bpp) texture format, but instead uses RGBA16 (RGB alpha with 16bpp). When viewed with color, this results in a glitchy-looking texture with random colors. Since the texture is displayed in-game without color, however, the texture doesn't look noticeably wrong. If the IA16 format is used, the texture looks much more like actual smoke. Whether the corrupted texture went unnoticed or was intentionally kept is unknown. In the source code, this is labeled as gas_b5, with a note saying that it's a newer version.
Spindrift Face Texture
Final/Used | Final (No Alpha) | Mockup |
---|---|---|
Spindrift's face texture has colors not normally seen under its alpha mask, the shading of which implies it was going have an open smile, instead of a suprised face. Similar to furafura.sou.
Spindrift Leaves Texture
Final/Used | Final (No Alpha) | Mockup |
---|---|---|
Spindrift's leaves have colors not normally seen under its alpha mask, the shading of which shows a curled leaf, instead of a leaf with a bite mark.
Other
Unused Demo
The game plays a total of six gameplay demo reels in the main menu, seven in non-Japanese versions. In the demo data, however, there is an eighth demo without a header defining what level it was for. This data exists after the demo for the Princess' Secret Slide, but before where the Bowser boss demo is located in international versions. Although there is speculation as to which level it was for, the best guess seems to be that it was a blooper take of a Cool, Cool Mountain demo attempt where the player accidentally ran into the sign and restarted the demo recording.
Based on where the demo is ordered in the source code, it's possible that it was originally an extended version of the Princess' Secret Slide demo, based on how the demo awkwardly cuts off in the code, with these inputs appearing directly in the next line. Applying the unused inputs to the Princess' Secret Slide demo ends with the player getting the star for completing the slide in under 21 seconds, which may be why it was manually shortened.
The demo data can be found at the following ROM offsets:
- US: 0x57B130
- JP: 0x5790C8
- EU: 0x55D838
- SH: 0x555F50
Level 32 References
The code for the fish behavior and switch cap behavior both check for if the level the object is in matches the ID for an unused course, Level ID 32. In the fish behavior, if the condition is met the fish do not despawn even if the game detects no water at the fish's location. In the cap switch behavior, the condition makes the game bypass the check for if the switch has been activated, so that the switch is always unpressed.
Stage data for this level was found in the gigaleak on July 25, 2020, confirming it to be a test room.
Koopa the Quick's Mouth
Koopa the Quick has a red polygon in his head, intended for the inside of his mouth. This can virtually never be seen given the game's usual camera angle, and just how little his mouth is actually open. The only time this obscure detail can be spotted without glitches is right after the end of the race in the mission "Rematch with Koopa the Quick".
Castle Sequence Flags
Inside the castle, each floor has its own flag for music sequences. However, it always defaults to the theme for Peach's Castle, so this is never actually exploited in-game. It's possible each floor of the castle was planned to have a unique music track.
Toad Stars
The star requirements for the doors to the second and third floors of the castle are higher than those that prompt the star-giving Toads on those floors to appear, causing them to appear several stars before their respective areas are unlocked. Naturally, this can't be seen in-game without the use of glitches.
Animation Oddity
To do:
|
Mario uses an older version of his running animation in the ending cutscene.