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)

From The Cutting Room Floor
Jump to navigation Jump to search
This page contains changes which are not marked for translation.


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

Title Screen

Super Mario 64

Developer: Nintendo EAD
Publishers: Nintendo (JP/US/EU/AU), Hyundai (KR), iQue (CN)
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 KR: 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.


DevelopmentIcon.png This game has a development article
ProtoIcon.png This game has a prototype article
PrereleaseIcon.png This game has a prerelease article
NotesIcon.png This game has a notes page
BugsIcon.png This game has a bugs page

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...not just that, but several other consoles as well.

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.
  • 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.
  • Snowman's head oddity

Sub-Pages

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 wasn't good enough (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...


CodeIcon.png
Unused Code
Not everything in the castle is up-to-code.


SM64Soundicon.png
Unused Sounds & Sound Definitions
How can you hear something that isn't there?

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

Slip, Slipping

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

Left: Animation #145. This is the normal sitting animation. Right: Animation #142. This unused animation appears to be Mario sitting motionless. 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.


Bully

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. It might have been meant or originally used for when the player attacks them, possibly being removed when its object code was redone. The internal name of this animation is otos_back_down.

To replace the used animation with the unused one, enter the following GameShark code in the US version of the game.

812EB25E 0002

MIPS

SM64 Mario Throwing MIPS.png

Ooofff!!!

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 meant for when MIPS gets thrown by Mario still exists in the final game but goes unused due to Mario not being allowed to throw holdable NPCs. The code also triggers an otherwise unused animation depicting MIPS bouncing on the ground while recovering from a fall. The internal name of this animation is rabbit_down.

To allow Mario to throw MIPS, enter the following GameShark code in the US version of the game.

812F857A 0000
812F8C26 0000

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

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 placeholder 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 pakun_sleep_tmp.

To replace the used animation with the unused one, enter the following GameShark code in the US version of the game.

812BDF12 0007

Ukiki

Hmmm...
To do:
Add gifs and names of the other animations

Ow!

The monkey has 3 unused animation.

Animation ID 1 shows Ukiki walking, in the final game he always runs.

Animation ID 2 shows Ukiki standing motionless in a default A-pose.

Animation ID 3 shows Ukiki being thrown, but unlike MIPS no code related to being thrown by Mario exists. The internal name of this animation is monky_down.

To view these in-game, enter the following GameShark code in the US version of the game.

812BA9B8 2408
812BA9BA 0004
812BAB3A 000X where X is desired animation ID

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

kopa_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

kopa_body_tmp

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

SM64 kopa down anm.gif

kopa_down

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

SM64 kopa jump anm.gif

kopa_jump

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

Chuckya

SM64 carry boy wait anm.gif

carry_boy_wait

An animation that shows Chuckya balancing itself, meant for when it is idle. Based on the name, it appears to be an animation of a now removed action that was leftover from Motosman, where it would go idle if the player was far enough away.

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 (until the DS remake, in which English and German were the only languages it was translated to). 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 all versions of the game except for EU, is dialog data for a level select and an early pause menu that were present in the playable demo featured at Shoshinkai '95. The level select 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)


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)

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.


Trying to load them in the US version of the game results in corrupted text due to kana script characters being repurposed or removed.

SM64 debugMenu Final US.png SM64 pauseMenu Final US.png


To see the dialogs in game, enter the following GameShark codes.

Version Gameshark code
Japan 81072FCA 8858
81072FCE 8868
USA 81075A48 0200
81075A4A 7D08
81075A4C 0200
81075A4E 7D18

These replace the 1 star door and 3 star door dialogs with level select and pause menu dialogs respectively.

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.