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
This page is a translated version of the page Super Mario 64 (Nintendo 64) and the translation is 10% complete.
Outdated translations are marked like this.
Featured article
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Ekran tytułowy

Super Mario 64

Developer: Nintendo
Wydawca: Nintendo
Platformy: Nintendo 64, iQue Player
Premiera w Japonii: 23 czerwca 1996
Premiera w USA: 26 września 1996
Premiera w Europie: 1 marca 1997
Premiera w Australii: 1 marca 1997
Premiera w Chinach: 17 listopada 2003 (iQue Player)


EnemyIcon.png Ta gra ma niewykorzystanych przeciwników.
GraphicsIcon.png Ta gra ma niewykorzystane grafiki.
ModelsIcon.png Ta gra ma niewykorzystane modele.
ItemsIcon.png Ta gra ma niewykorzystane przedmioty.
TextIcon.png Ta gra ma niewykorzystany tekst.
DebugIcon.png Ta gra posiada materiał debugujący.
LevelSelectIcon.png Ta gra ma ukryty wybór poziomów.
RegionIcon.png Ta gra ma różnice regionalne.


Super Mario 64 to najlepszy trójwymiarowy symulator hydraulika na Twoją konsolę. Jeden z trzech tytułów startowych na Nintendo 64, wprowadził trzeci wymiar w uniwersum Mario i zrewolucjonizował Mushroom Kingdom.

The game is also notable for the sheer level to which it's been dissected by fans, to the point where 2020 saw the game get successfully decompiled by dataminers and unofficially ported to PCs. The same year, its partial original source code was leaked, leading to the discovery of early Luigi models and textures. L was real all along.

A Nintendo DS remake was released as a DS launch title in 2004, and a slightly updated version was released on the Nintendo Switch as part of the Super Mario 3D All-Stars collection on September 18th, 2020.

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.
  • Rip the animations in better quality
  • Stuff posted by Revo in the TCRF discord



SM64Debug2.png
Debug Content/pl
Sporo zabawnych funkcji debugujących pozostało w grze.


SM64BooKey.gif
Unused Objects
Boo Keys, trampolines, early stars, and Yoshi 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).


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

Mario

Łańcuch.

Hmmm...
To do:
Rip the animations in better quality.

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 appears to be an early triple jump according to the name.

SM64-UnusedTexture-5.png

LandBoard

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

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 the gas in Hazy Maze Cave. An animation called OshinWalk also exists in the code.

SM64-UnusedTexture-6.png

Running, TurnCont

File Date: July 18, 1995 Left: Animation #114. This is the normal running animation. Right: 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.

UJumping, JumpBack

UJumping File Date: December 19, 1995 JumpBack File Date: August 23, 1995 Left: Animation #191. This is the normal sideflip animation. Right: Animation #73. According to the source code it would've been used for side flipping.


Bully

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

The bullies have an unused animation for kicking. A video showing this animation can be seen here. To view this in-game, replace the value in the extended US-version offset 0x882956 with 42A4. The internal name of this animation is called BackDown.

MIPS

SuperMario64 MIPS 013338 BouncingFall.png
Hmmm...
To do:
Find offset for how to load in the regular non-extended US-version.

In an official strategy guide interview, producer/director Shigeru Miyamoto revealed that "Mario was able to throw the rabbit" at one point during development. There is an unused animation that appears to have MIPS bounce on the ground while recovering from a fall, likely a result from being thrown. A video showing this animation can be seen here.

To view this in-game, replace the value in the extended US-version offset 0xA4C1E1 with 013338. Interestingly code still exists for MIPS to trigger this if he was thrown. The only way to see this 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.

This plant has an unused animation that is similar to the sleeping animation seen in footage from Nintendo Shoshinkai 1995. It features the plant showing its teeth as it sleeps, although 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 called sleep_tmp. A video showing this animation can be seen here. To view this in-game, replace the value at US-version offset 0x1D5DF9 with 01AAE4.

Unused Sleeping with Teeth Nintendo Shoshinkai 1995
SuperMario64 PiranhaPlant Sleeping 01AAE4.png SuperMario64 PiranhaPlant Sleeping Shoshinkai95.PNG

Ukiki

SuperMario64 Monkey DC80 FallingDown.png

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

Unused Level Effects

Careful, you'll lose an eye.
This page or section needs more images.
There's a whole lotta words here, but not enough pictures. Please fix this.
Hmmm...
To do:
Get images of these in-game. They do in fact exist according to the decomp.

Blizzard

(Źródło‏‎: Messiaen)


(Source: Messiaen)

Flowers

SM64-FlowerAni.gif

Like the blizzard, these happy, bouncing flowers can be spawned in a level via the "Enviroment Effect" option in Messiaen and Skelux's program, OBJ Importer. While their spawn point radius is dependent on Mario's position, they otherwise don't interact with him in any way. They attach themselves to a level's solid, horizontal surfaces. Oddly, their graphic is found among the resources for Lethal Lava Land.

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

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

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!

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

Japoński Tłumaczenie
おいしいケーキ Pyszne ciasto

Boo's Taunt

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, it was, strangely, never translated for the German release but was actually translated into Chinese for the iQue Player release.

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

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

80331480 0000
81331484 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)

Early Level Select

Located at the beginning of the game's text, in both the Japanese and localized versions of the game, is text for an early level select that was used by the playable demo of the game 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 being September 6th 1995, one month before the demo.

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

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

PAUSE
Continue?
Quit?

The levels accessible from this menu were:

  • Mountain - Whomp's Fortress
  • Fire Bubble - Lethal Lava Land
  • Snow Slide - Cool, Cool Mountain
  • Water Land - Dire, Dire Docks
  • Bowser #1 - Bowser in the Dark World
(Źródło‏‎: einstein95 - odkrycie, Joe i GlitterBerri - tłumaczenie na angielski)


Hmmm...
To do:
  • Investigate how to load into the regular non-extended versions.
  • Can these functionalities be loaded into the International version?
  • Do the functionalities of these menus still exist?

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.

Map Select (Japanese Version) Nintendo Shoshinkai 1995 Demo (source)
SM64 debugMenu Final.png
SM64 debugMenu Shoshinkai95.PNG
Pause Menu (Japanese Version) Nintendo Shoshinkai 1995 Demo (source)
SM64 pauseMenu Final.png
SM64 pauseMenu Shoshinkai95.png

Unused SSL Cutscene

In the camera cutscene table, there is an entry that is never called and not associated with a level. Forcing this unfinished cutscene code to play seems to most appropriately fit with Shifting Sand Land, as it focuses correctly on the Pyramid Top object given its focal point coordinates.

SSLPyramidCutscene.gif

Luigi and 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 labelled as Luigi. The camera for locking it is labelled as 2P camera, which was mentioned in an interview that the fixed camera was intended for a Multiplayer Mode. A section of memory is labelled 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.

Oddities

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 includes the actor group for the cap switch levels (group8 in the decomp). The group consists of the cap switch object and the unused springboard object, raising the possibility that one of these was to be included in the stage at some point.

Over the Rainbow

Wing Mario Over the Rainbow includes actor group 2 consisting of Bully and Blargg as well as group17 consisting of several Hazy Maze Cave actors. No actors from either group are used in the final level.

SM64-UnusedSmallChillBully.png

Cool Cool Mountain includes actor group 16 consisting of Chill Bully and Moneybag even though neither are used in the level.


(Source: Super Mario 64 decomp)

Wet-Dry World

Heave-Ho' can be picked up and thrown if it is close enough to the water in the level, This is due to the fact that grabbing in water does not check for the ungrabbable sub-type.

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

Tajemniczy Goomba

Two Goombas can be seen after the yellow back-and-forth blocks in the level "Bowser in the Sky". They are loaded by a "spawner object" that spawns three Goombas in a triangle. However, the third Goomba is nowhere to be found. This is because the position of the spawner object causes the third Goomba to load just off the edge of the platform, meaning that it spawns at the bottom of the stage. As such, it vanishes completely 1 frame after being spawned, 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. That means the Goomba is loaded, visible, and tangible for only that single frame.


(Source: pannenkoek2012)

Dire Dire Docks

The Bowser door near the submarine has a shadow behind it that should have remained visible after the door opens, but it does not.

Jolly Roger Bay

There is a third copy of the ship placed above the other two, which is only around during the "Plunder in the Sunken Ship" mission, and cannot normally be seen 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 the closer Mario gets to it. It was likely a reference to urban legends of ghost ships or the Flying Dutchman due to having the word "Ue" in it 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 labelled as an optional moving background object. It is also worth noting that this invisible ship is not present in the Nintendo DS version. The following cheats for the US version disable the coding that obscures the ship:

812C1CB4 0000

812C1CB6 0000

(Źródło‏‎: Celux, DarkSpacer1)

Unreachable Coins

The game features a few coins that can be seen but not collected, unless one uses exploits. Perhaps they were forgotten about by the developers during level redesigns.

Snowman's Land

Sm64-ImpossibleCoin1.png

Jeden z przykładów monetki niemożliwej do zdobycia znajduje się w Snowman's Land. Jedna monetka znajduje się w bałwanie na drewnianej ścieżce, po stronie, na której byś się wspinał.

SM64-ImpossibleCoin2B.png

It can be collected by using a physics exploit, which requires the player to fire the cannon at a precise position on the corner of the nearby wall.

Tiny-Huge Island

SM64-ImpossibleCoin1B.png

Several other 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 bisect the ground. While the second coin in the line cannot be seen, it is still collectible, because its collision box pokes slightly above the ground.

Sm64-ImpossibleCoin2.png

The third coin in the line is unobtainable by legitimate means. However, it can be collected by clipping inside the water-filled mountain 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 also another line of coins on Tiny-Huge Island that has 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 that 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) triggers the failsafe.

(Źródło‏‎: pannenkoek2012)

The game uses separate polygon meshes for visual (intangible) geometry and for collision geometry in each course. They were apparently not always kept in synch during development, and so one sometimes 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


(Source: pannenkoek2012)

Tall Tall Mountain

Hmmm...
To do:
Get a good quality prerelease image of the sign
Visible Model Collision Model
Sm64-CollisionOddity TTM1.png
Sm64-CollisionOddity TTM1a.png

In Tall Tall Mountain's slide area there is a single rectangular polygon above the exit of the tunnel, which has collision but is invisible. This is a leftover from a sign with an arrow pointing to the left that can be seen in prerelease materials.

Obrazy

SM64Paintings3warps.png

Inside The Castle

Visible Model Collision Model
Sm64-CollisionOddity Castle1.png Sm64-CollisionOddity Castle1a.png

In the room of the castle where The Princess's Secret Slide is accessed, the 3 windows showing Peach extend by the same distance. Their collision geometry is cut off however, so only one of them can have their windowsill walked on by Mario.

Nieużywani przeciwnicy

Blargg

SM64-Blargg.png

Castle Grounds

Użyj poniższego kodu, by umieścić go w Lethal Lava Land w wersji (U) 1.0:

8133E9FC 8018

8133E9FE A15C
8133EA24 8014
8133EA26 9A10
8133EA14 4000
8133EA18 4000
8133EA1C 4000
8133EA88 C5A8
8133EA8C 421A
8133EA90 45B0
8033EB19 0020
8133EBE0 4406
8033EB6B 0002
(Źródło‏‎: VL-Tone, yoshielectron i inni)

Whomp's Fortress

SM64 unusedPiranhaPlantCollision.png

Near the top of the fortress is the remains of the ground collision that is used for the level's Piranha Plants. A Piranha Plant was likely isolated here at one point during development. Interestingly, Throwback Galaxy from Super Mario Galaxy 2 (a recreation of Whomp's Fortress) added a Piranha Plant near this spot.

Texture Oddities

Smoke Texture

The smoke texture displayed in-game is the result of a corrupted texture. The smoke texture is supposed to use the IA16 texture format, but instead uses the RGBA16 texture format. When viewed with color, this results in a glitchy-looking texture with random colors. Since the texture is displayed in-game without color the texture does not look out of place. 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 it is labelled as gas_b5, with a note saying that is a newer version.

Smoke in-game with the wrong format Smoke in-game with the right format
SM64corruptsmoke.png SM64propersmoke.png


(Source: ProjectRevoTPP, Ukikipedia)

Object Collision Oddities

Water Level Diamond

UnusedWaterLevelDiamond.png

At 0x070184C8 in the Wet Dry World level data, an unused collision list for the Water Level Diamond object can be seen. However, the code for the object handles the hit detection in-code, so this list is not used.

Other

Wczesny ekran wyboru poziomów

In Super Mario 64 there exists a total of 6 played demo reels (7 in non-JP versions) however in the demo data there exists an 8th demo without a header to define what level it was for. The data exists after the PSS demo but before where the BITDW demo would be in non-JP 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 user attempting the demo ran into the sign by mistake and restarted the demo, but due to time constraints, couldn't be completed in time.

The demo data can be found at the following ROM offsets:

  • US: 0x57B130
  • JP: 0x5790C8
  • EU: 0x55D838
  • SH: 0x555F50


Reference to Unused Level 32

The code for the fish behavior and switch cap behavior both contain checks for if the level the object is in matches the ID for an unused course, with the ID being that of the 32nd level in memory. 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 checking if the switch has been activated so that the switch is always unpressed. After the the gigaleak on July 25, 2020, the stage was found in the source code and is confirmed to be a test level.

Koopa The Quick's Mouth

Koopathequickmouth.png

Koopa the Quick has a strange, red polygon in his head, which was most likely intended as the inside of his mouth due to the placement. This is unseen because Koopa the Quick never opens his mouth, even when he talks.