If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Super Mario 64 (Nintendo 64)/Oddities

From The Cutting Room Floor
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Other languages:
English • ‎español • ‎lietuvių • ‎polski • ‎português do Brasil • ‎中文(简体)‎


This is a sub-page of Super Mario 64 (Nintendo 64).

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.


(Source: Super Mario 64 decomp)

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(),
};
(Source: pannenkoek2012, SM64 Decomp)

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.

(Source: pannenkoek2012)

Dire Dire Docks Shadow

Hmmm...
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

Spooky!

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();
}
(Source: Celux, pannenkoek2012, DarkSpacer1, Fennecey)

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

Sm64-ImpossibleCoin1.png

There's a single coin lodged inside the snowman at the wooden path, at the side where you'd climb it.

SM64-ImpossibleCoin2B.png

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

SM64-ImpossibleCoin1B.png

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.

Sm64-ImpossibleCoin2.png

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.


(Source: pannenkoek2012)

Level Geometry Oddities

Whomp's Fortress

Final Stairs Unused Ramp
SM64 whomps fortress stairs normal.png SM64 whomps fortress stairs ramp.png

SuperMario64 WFGeometryOddities.png

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

Hmmm...
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

Hmmm...
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.

SM64 WhompsFortessHitbox.png

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. SM64 BulletBillHitboxOddity.png


(Source: pannenkoek2012)
(Source: daddu)

Tall Tall Mountain

Visible Model Collision Model Prerelease Image
Sm64-CollisionOddity TTM1.png
Sm64-CollisionOddity TTM1a.png
SM64-Early slide arrow.png
(Source: Bravo TV - Nintendo 64(Computermesse) (01/28/1996))

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.

Sm64-CollisionOddity TTM2.png

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
Sm64-CollisionOddity Castle1.png Sm64-CollisionOddity Castle1a.png

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
Sm64-CollisionOddity WingCap1.png Sm64-CollisionOddity WingCap1a.png

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
Sm64-CollisionOddity CastleGrounds1.png Sm64-CollisionOddity CastleGrounds1a.png

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

SM64 unusedPiranhaPlantCollision.png

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

UnusedWaterLevelDiamond.png

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)
SM64corruptsmoke.png SM64propersmoke.png


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.


(Source: ProjectRevoTPP, Ukikipedia)

Spindrift Face Texture

Final/Used Final (No Alpha) Mockup
SM64SpindriftFace.png SM64SpindriftFaceNoAlpha.png SM64SpindriftFaceRestored.png

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
SM64SpindriftLeaf.png SM64SpindriftLeafNoAlpha.png SM64SpindriftLeafRestored.png

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

Koopathequickmouth.png

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

Hmmm...
To do:
  • Add animation render.
  • See if there's any more oddities in any more animations.

Mario uses an older version of his running animation in the ending cutscene.