Please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

スーパーマリオ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 15% complete.
Outdated translations are marked like this.
Featured article
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Title Screen

スーパーマリオ64

開発元: Nintendo
発売元: Nintendo
プラットフォーム: Nintendo 64, iQue Player
日本での発売日: 1996年6月23日
アメリカでの発売日: 1996年9月26日
ヨーロッパでの発売日: 1997年3月1日
オーストラリアでの発売日: 1997年3月1日
中国での発売日: 2003年11月17日 (iQue Player)


このゲームには以下の要素が含まれている

EnemyIcon.png 未使用の敵キャラクター
GraphicsIcon.png 未使用のグラフィック
ModelsIcon.png 未使用のモデル
ItemsIcon.png 未使用のアイテム
TextIcon.png 未使用のテキスト
DebugIcon.png デバッグ機能
LevelSelectIcon.png 非表示のステージ選択
RegionIcon.png 地域による違い


Super Mario 64 is the best 3D plumbing simulator available on your system. One of 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 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
A number of fun debug functions remain in the game.


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.

未使用のマリオのアニメーション

Mario

マリオには209ものアニメーション(0~208)が存在する。これらのいくつかはゲーム内で使用されていなく、下記に記載する。

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

SM64 Unused Mario Animation Putting on Hat Fast.gif

アニメーション #56 この未使用のアニメーションはマリオが通常よりも速く帽子を被っているように見える。

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 Unused Mario Animation Bending Knees.gif

LandBoard

アニメーション #84. この未使用のアニメーションは甲羅に乗っているマリオが膝を曲げているかのように見える。

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

SM64 Unused Mario Animation Running.gif

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.

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

未使用のステージエフェクト

Hmmm...
To do:
Get images of these in-game. They do in fact exist according to the decomp.

Blizzard

A blizzard can be triggered in a level via the "Enviroment Effect" option in Messiaen and Skelux's program, OBJ Importer. It interacts with Mario in the same way as normal snowflakes do.


(ソース: 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.

未使用のテキスト

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":

Japanese Translation
おいしいケーキ Delicious Cake

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


(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?
  • 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.

小さいアイスどんけつ

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

ミステリークリボー

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)

ウォーターランド

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

かいぞくのいりえ

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

(出典: Celux, DarkSpacer1)

取ることができないコイン

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.

スノーマンズランド

Sm64-ImpossibleCoin1.png

One example of an unreachable coin is located in Snowman's Land. There's a single coin stuck inside the snowman at the wooden path, at the side where you'd climb it.

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.

ちびでかアイランド

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.

(出典: pannenkoek2012)

地域とバージョンによる違い

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.

The large mushrooms around the outer area of the course have a straight stem mesh for their collision, but visually their stems are bent. This possibly suggests that the stems were originally straight and then edited later to make them bent. This oddity still exists in Super Mario 64 DS.

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.

未使用の敵

ウンババ

SM64-Blargg.png

Castle Grounds

Visible Model Collision Model
Sm64-CollisionOddity CastleGrounds1.png Sm64-CollisionOddity CastleGrounds1a.png

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
(出典: VL-Tone, yoshielectron, and others)

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

初期のステージセレクト

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.