We just reached 25,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Super Mario 64 (Nintendo 64)

From The Cutting Room Floor
Jump to navigation Jump to search


Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Title Screen

Super Mario 64

Developer: Nintendo EAD
Publisher: Nintendo
Platforms: Nintendo 64, iQue Player
Released in JP: June 23, 1996
Released in US: September 26, 1996
Released in EU: March 1, 1997
Released in AU: March 1, 1997
Released in CN: November 17, 2003 (iQue)


AnimationsIcon.png This game has unused animations.
CodeIcon.png This game has unused code.
EnemyIcon.png This game has unused enemies.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MovieIcon.png This game has unused cinematics.
ItemsIcon.png This game has unused items.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
RegionIcon.png This game has regional differences.


Super Mario 64 is one of the best 3D plumbing simulators around and one of the three launch titles for the Nintendo 64. It introduced the third dimension to the Mario universe and revolutionized the Mushroom Kingdom.

The game is also notable for the sheer level to which it's been dissected, to the point of getting successfully decompiled and unofficially ported to PCs.

Hmmm...
To do:
  • Add everything else, making sure to verify with decomp.
  • Check every stage and verify which stage models are used.
  • Add file names of everything possible, using the source code.
  • There is some incorrect info here; again check against decomp.
  • Some unused stuff in this video.
  • There's still more stuff from the decomp that isn't documented yet - see posts by Revo in the TCRF discord.
  • Remnants of scrapped and removed objects exist in macro_presets.h and behavior_data.c in decomp. Motosman is among the ones which have leftover data.
  • Stuff posted by Alieneer/DerpDerp on the TCRF discord.
  • Unused sound definitions exist.
  • Consider documenting some of the developers' foresights and easter eggs, as the "jumping fish" one.

Subpages

Read about development information and materials for this game.
Development Info
Read about prototype versions of this game that have been released or dumped.
Prototype Info
Read about prerelease information and/or media for this game.
Prerelease Info
Miscellaneous tidbits that are interesting enough to point out here.
Notes
Read about notable bugs and errors in this game.
Bugs


SM64Debug2.png
Debug Content
A good amount of debugging leftovers, mostly from "YJ" (Hajime Yajima).


SM64BooKey.gif
Unused Objects & Models
Boo Keys, trampolines, early stars, eggs... oh my!


SM64-OriginalJollyRogerBayPainting.png
Regional and Version Differences
Jolly Roger Bay's original painting was too awesome for international players (until the DS remake came along, anyway).


SM64-UnusedTexture-1.png
Unused Textures
Early, leftover, and just plain unused textures.


UnusedWaterLevelDiamond.png
Oddities
Unreachable coins, strange hangable ceilings, and collision quirks that hint at older versions of maps. How odd...

Unused Animations

The names are from sm64/data/Anime/aaa in the leaked source code.

Mario

Mario has a total of 209 animations, indexed from 0 to 208. Some of these are unused in the game.

SM64 Unused Mario Animation Putting on Hat Fast.gif

HatWaitEnd

File Date: December 26, 1995 Animation #56. This unused animation appears to be Mario putting on his hat faster than normal.

SM64 Unused Mario Animation Start Forward Spinning.gif

JumpStep3

File Date: August 25, 1995 Animation #81. This unused animation appears to be Mario transitioning from freefall to a forward spin. It may have been an early triple jump according to the name.

SM64 Unused Mario Animation Bending Knees.gif

LandBoard

File Date: December 26, 1995 Animation #84. According to the iQue build's source code, it would have been used when landing from a jump on a Koopa shell.

SM64 Unused Mario Animation Crying.gif

OshinWait1, OshinWait2, OshinWait3

File Dates: February 6, 1996

Animations #98, #99, #100. "Oshin" translates to "nausea". According to the source code, it would have been related to an environmental effect, possibly standing on the ship in JRB. An animation called OshinWalk also exists in the code.

SM64 Unused Mario Animation Running.gif

TurnCont

File Date: July 18, 1995

Animation #115. A duplicate running animation that appears to be identical to the normal running animation. According to the name, this appears to be a placeholder for when Mario circles around or when Mario is turning around quickly as it does not appear to have a file associated. TurnCont likely means "Turning Continuously" or "Turning Control".

SM64 Used Mario Animation Sitting.gif SM64 Unused Sitting Animation.png

Slipping, Slip

Slipping File Date: December 19, 1995 Slip File Date: March 18, 1996

Left: Animation #145. This is the normal sitting animation. Right: Animation #142. This unused animation appears to be Mario sitting motionless. It appears to be a duplicate of SlideEnd, but maybe to save on space? ...Perhaps this was the original sitting animation before they decided to have Mario move his arms to make the animation more visually interesting when sliding. This animation can be seen in the Shoshinkai 1995 footage.

SM64 Sideflip Animation.gif SM64 Unused Mario Animation Forward Flip.gif

UJumping, JumpBack

UJumping File Date: December 19, 1995 JumpBack File Date: August 23, 1995 Left: Animation #191. This is the normal side flip animation. Right: Animation #73. According to the source code, it would've been used for side flipping. This early animation (alongside an earlier version of the crouch animation) can be seen in prerelease footage given out during Shoshinkai 1995.


Bully

Hmmm...
To do:
Find offset for how to load in the regular non-extended US-version.
SuperMario64 Bully Kick 42A4.png


SM64 BullyAttackAnimation.gif

The bullies have an unused animation that depicts them being knocked over after getting pushed back, then getting back up. Could have been used in earlier versions when attacked by Mario. To view this in-game, replace the value in the extended US-version offset 0x882956 with 42A4. The internal name of this animation is BackDown.

MIPS

SM64 Mario Throwing MIPS.png

Ooofff!!!

Download.png Download Throwable MIPS
File: SM64ThrowableMips.zip (185 B) (info)


In an official strategy guide interview, producer/director Shigeru Miyamoto revealed that "Mario was able to throw the rabbit" at one point during development. Code still exists meant for when MIPS gets thrown by Mario, which isn't possible without hacks. The code also triggers an otherwise unused animation depicting MIPS bouncing on the ground while recovering from a fall.

To view this in-game, apply the patch above to a non-extended US ROM. The only way to see the unused animation without hacks is if you use glitches to bring MIPS into the water-draining room.

void bhv_mips_thrown(void) {
    obj_enable_rendering_2();
    o->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE;
    o->oHeldState = HELD_FREE;
    o->oFlags &= ~OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW;
    SetObjAnimation(2);
    obj_become_tangible();
    o->oForwardVel = 25.0f;
    o->oVelY = 20.0f;
    o->oAction = MIPS_ACT_FALL_DOWN;
}

Piranha Plant

Hmmm...
To do:
Replace the sleeping animation with this, instead of the attacking animation.
In-game Shoshinkai 1995
Piranha plant with unused teeth.png SuperMario64 PiranhaPlant Sleeping Shoshinkai95.PNG

Woah that teeth is clipping beneath its mouth

This plant has an unused animation that is similar to the sleeping animation, as seen in the Nintendo Shoshinkai 1995 footage. It features the plant showing its teeth as it sleeps, although it differs from the Shoshinkai demo since Piranha Plant occasionally bobs its head like it is having a sleep reflex. The internal name of this animation is sleep_tmp. To view this in-game, replace the value at US-version offset 0x1D5DF9 with 01AAE4.

Ukiki

Ukiki unused animation.png

SM64 MonkeyDeathAnimation.gif

The monkey has an unused animation of falling or tackling. To view this in-game, replace the value at US-version offset 0x15FDE0 with EACC to substitute the head-bobbing animation with this.

Koopa

SM64 nokonoko s run anm.gif

S_run

SM64 nokonoko wake up anm.gif

Wake_up

Bowser

SM64 kopa G swing down2 anm.gif

G_swing_down2

Animation #2. This is a slightly different standing up animation that includes a small bounce in the beginning.

Click to view Bowser's suffering move

Body_tmp

Animation #5. This is a broken animation the developers forgot to remove in the final version. It has only one joint in its animation table unlike any other.

SM64 kopa down anm.gif

Down

Animation #6. An unused defeat animation. The only defeat animation used is when he is flipped upside down.

SM64 kopa jump anm.gif

Jump

Animation #8. A short jump. The only used jump animations are #9 (stop/land from jumping) and #10 (start jumping).

Chuckya

SM64 carry boy wait anm.gif

Wait

Unused Sounds

Hmmm...
To do:
IDs/filenames (from leaked source code if needed)

Unused Mario Jump Sound

An unused sound for Mario jumping exists. This was used in old prerelease footage (used in E3/Pre-E3) dating to 1996 and was later used in games like Super Smash Bros. and Super Mario Sunshine.

Unused Trapdoor Sound

Hmmm...
To do:
Can this be fixed?

An unused sound for the trapdoor leading to Bowser in the Dark World. It can be heard in footage of the Shoshinkai 1995 build of the game. Technically, it is used, but it goes unheard due to the object having the wrong rendering settings.

Unused Boing Sound

An unused boing sound. It may have been intended for the unused trampoline, or for Moneybags.

Unused Instrument

An unused vibraphone instrument. It was originally the main instrument used in Dire Dire Docks in E3 1996 footage.

Unused Level Effects

Blizzard

Name: "Blizzerd"

An unused, faster version of the snowfall animation, making it look more akin to a blizzard. Can be triggered in a level via the "Environment Effect" option in Messiaen's program, OBJ Importer, or setting "geo_envfx_main" to 3 in a level's "geo.inc.c" file in the decomp. It is purely aesthetic and interacts with Mario in the same way as normal snowflakes do. In the source code, this effect is referred to as "Blizzerd".

Flowers

SM64-FlowerAni.gif
Name: "Flower"

An unused effect that, when enabled, causes a bunch of small happy bouncing flowers to spawn around Mario, their spawn point radius dependent on his position. They attach themselves to a level's solid, horizontal surfaces. It is another purely aesthetic level effect that, much like the blizzard, can also be spawned in a level via the "Environment Effect" option in OBJ Importer. Oddly enough, the flower graphic is found among the resources for Lethal Lava Land, which in turn is due to it being grouped with the "bubble" environmental effects, which include Lethal Lava Land's bubbling lava. Setting "geo_envfx_main" to 11 in in a level's "geo.inc.c" file in the decomp triggers the effect. In the source code, this effect is referred to as "Flower".


(Source: Messiaen)

Unused Text

Blanked-Out Text

A number of messages present in the Japanese version were blanked out for the overseas releases, preventing them from being localized.

Japanese Translation
100まいコインの スター 100-Coin Star
マウンテンのへやが ひらく! The mountain room opens!
みずとゆき2つのへやが ひらく! The water and snow rooms open!
おおきなほしの ドアがひらく! The Big Star Door opens!
クッパへの とびらがひらく! The door to Bowser is open!
3がいへの とびらがひらく! The door to the third floor is open!

These lines are found after the rest of the Star names.

Japanese Translation
おいしいケーキ Delicious Cake

This little message is found between the lines "THE SECRET AQUARIUM" and "CASTLE SECRET STARS".

Boo's Taunt

Original Scripts Literal Translation
Japanese
クックック・・
 とりついてやる。
    ヒッヒッヒ!
カベも とおりぬけてやる。
こんなこと できるか?
     ケッケッケ!
Eh he he...
 I'm gonna haunt you.
    Hee hee hee!
And I'm gonna go through the wall.
Can you do that?
     Heh, heh, heh!
English
Eh he he...
You're mine, now, hee hee!
I'll pass right through
this wall. Can you do
that? Heh, heh, heh!
Eh he he...
You're mine, now, hee hee!
I'll pass right through
this wall. Can you do
that? Heh, heh, heh!
French
Hé...hé...hé...
Ciao bello Mario!
Moi j'traverse les murs!
Tu peux le faire, toi?
Hin...hin...hin...
Heh...heh...heh...
Bye bye my dear Mario!
I can go through walls!
You can't do that, can you?
Nyeh...heh...heh...
Chinese (IQue Version)
哦呵呵…
你是我的了。
哼哼!
我可以安然无恙
地穿过这面墙,
你能吗?
呵呵…呵呵……
Oh ho ho...
You're mine.
Hmm!
I can pass through this wall
without hurting myself,
Can you?
Hehe...hehe......

This message comes after the greeting that appears when Mario enters Big Boo's Haunt for the first time. When the unused message is activated, a short Boo laugh plays as the text box appears. While it was translated in the English and French versions of the game and was even translated into Chinese for the iQue Player release, it was, strangely, never translated for the German release. Interestingly, a leftover file in the source code contains older code used for the boos; based on that file, the text was originally used when the Ghost Hunt Boos were defeated.

To view the text in-game, enter the following GameShark codes:

Version Gameshark code
Japan 80330420 0000
81330424 0063
USA 80331480 0000
81331484 0063
Europe 802FD640 0000
812FD644 0063
Japan (Shindou) 80310AB0 0000
81310AB4 0063
iQue 8031310C 0000
81313110 0063

The first line makes the text appear white over a translucent black background, and the second line sets the message ID.


(Source: Mattrizzle - Discovery of Unused Value)

Shoshinkai '95 Level Select

Japanese Translation
STAGE SELECT
つづける?
1 マウンテン
2 ファイアーバブル
3 スノースライダー
4 ウォーターランド
クッパ1ごう
もどる

PAUSE
つづける?
やめる ?
STAGE SELECT
Continue?
1: Mountain
2: Fire Bubble
3: Snow Slider
4: Water Land
Koopa 1
Back

PAUSE
Continue?
Quit?

Located at the beginning of the game's text, in both the Japanese and localized versions of the game, are strings for a level select that was present in the playable demo featured at Shoshinkai '95. It is not the same as the functional Level Select that remains in the final game. It was likely only made for the demo, as the source code indicates that the final Level Select was finished before the Shoshinkai '95 Demo; the date is September 6th, 1995, one month before the demo.

The levels accessible from this menu were:

  • Mountain - Whomp's Fortress
  • Fire Bubble - Lethal Lava Land
  • Snow Slider - Cool, Cool Mountain
  • Water Land - Dire, Dire Docks
  • Koopa #1 - Bowser in the Dark World


(Source: eientei95 - Discovery, Joe & GlitterBerri - Translation)


Hmmm...
To do:
  • Investigate how to load into the regular non-extended versions.
  • Can these functionalities be loaded into the International version?
Map Select Shoshinkai 1995
SM64 debugMenu Final.png SM64 debugMenu Shoshinkai95.PNG
Pause Menu Shoshinkai 1995
SM64 pauseMenu Final.png SM64 pauseMenu Shoshinkai95.png
(Source: Game Zero's Shoshinkai 1995, Nintendo 64, and Super Mario 64 Demonstrations, (Super Mario Stadium) Spaceworld 1995 Coverage)


To load the message overlays of the debug menu in-game, overwrite the values in the extended Japanese version at offset 0x810276 with 0800001E00C80000020087E. For the pause menu, overwrite the values in the extended Japanese version at offset 0x810276 with 03000064009600000200883C. This will replace the three-star-door "not enough stars" message with the menu overlays.

The original functionality has been "#if 0"'d out, but has been found in sm64\Message\message.sou in the leak. It works similarly to the save dialogs after collecting certain stars.

Shifting Sand Land Pyramid Explosion Cutscene

SSLPyramidCutscene.gif

Name: "CAM_DEMO_PYLEXP"

In the camera cutscene table, there is an entry that is never called and not associated with a level. According to code labels, it was meant for the Shifting Sand Land Pyramid Explosion sequence, which in the final has no cutscene associated with it. Camera shake data exists for this cutscene, and additional data was found commented out in the Pyramid actor, likely meaning it was intentionally removed.

Luigi/Multiplayer Remnants

The decompilation and the iQue build's source code reveal some code that appears to be leftover from when Luigi was intended to be in the game.

In several files in the code, a pointer to a second player struct appears right after the pointer to Mario's struct. Within the code for handling shadows, there exists a switch-case block with two cases, one of which sets a variable to the Mario struct and the other sets a variable to the aforementioned second player struct. In the leaked source code, Model ID 2 is labeled as "Luigi". The camera for locking it is labeled as "2P camera", and it was mentioned in an interview that the fixed camera was intended for a Multiplayer Mode. A section of memory is labeled as "Luigi Animations" in the source code. However, in the final, the section is completely empty. Unused labels mention a third game mode, "Game_Mode2P". Similarly, Player 2 can still control the camera to some extent.