We just released a prototype of the cancelled SNES port of Puggsy! Take a look!
As always, thank you for supporting The Cutting Room Floor on Patreon!

Mario Kart 7

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Mario Kart 7

Developers: Nintendo EAD, Retro Studios
Publisher: Nintendo
Platform: Nintendo 3DS
Released in JP: December 1, 2011
Released in US: December 4, 2011
Released in EU: December 2, 2011
Released in AU: December 3, 2011
Released in KR: May 31, 2012
Released in CN: December 7, 2012
Released in TW: September 28, 2012


AreasIcon.png This game has unused areas.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
ItemsIcon.png This game has unused items.
DebugIcon.png This game has debugging material.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.


PrereleaseIcon.png This game has a prerelease article
NotesIcon.png This game has a notes page
BugsIcon.png This game has a bugs page

Hmmm...
To do:
  • Unused Staff Ghost Mii data (in /replay), in offsets 0x30-0x8F (length = 0x60) in each *.dat file. The last 4 bytes of said Mii data seem to be some kind of checksum. See the Notes subpage.
  • (Unused?) Grand Prix A, B and C rank graphics in UI/trophy.szs, named tro_grade_X.bclim (with X being either a, b or c)
  • Document the early version of KartConstructInfo.bin found in /Kart (the final version is found inside /Common.szs/Kart). The early version mentions the unused kart std_lod_oneTest.
  • Add information about the USA and EUR kiosk demo of the game, and some of the kiosk files found in retail and viceversa.
  • Spanish and French text differences between the US and European versions.
  • This page mentions unused objects
  • Just like in MKWii, this game also features the cameras and routes that were used for the creation of the little preview videos seen in the course selection screen. These go unused, given how these previews are stored as video files.

Mario Kart 7 is essentially the same thing as Mario Kart Wii but more awesome and in 3D. Oh, and you can paraglide, drive underwater, play as new characters, use seven items at once, race seven ghosts at once....but other than that, completely the same.

Sub-Pages

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
NotesIcon.png
English Translation Differences
Sigh. Yep. This again.

Unused Graphics

Character Emblems

Mario-Kart-7-Emblem-Dummy-1.png Mario-Kart-7-Emblem-Dummy-2.png

Two dummy textures for character emblems. These are 32x32 pixels each, whereas the final emblems are 64x64. The first one featuring the letters "L" and "R" can be found in many archives, while the second is only found in a single archive.

Early Mario Emblem

Early Final
MK7 Early Mario Emblem.png MK7 Final Mario Emblem.png

An early version of Mario's emblem can be found in /Kart/Emblem/emblem_mr/emblem_mr.bctex in the RomFS (the final version is in the same directory, albeit named emblem_mr.bcmdl instead). The early version doesn't have the gray ring that surrounds the red "M", and it also doesn't have mipmaps.

This graphic is also found on Mario's Standard Kart in the unused banner model, and it also matches with prerelease footage from E3 2010.

Dummy Mario Circuit image

Early Final
Mario-Kart-7-Mario-Circuit-Early.png Mario-Kart-7-Mario-Circuit-Final.png

A dummy image that appears in two track archives: Neo Bowser City/Koopa City and N64 Luigi Raceway. This image is used as a placeholder for the giant screens found in those courses, until the game replaces them with other data. The image was originally rotated 90° clockwise, but has been rotated for ease of comparison. The image is from an early version of Mario Circuit, and the differences are as follows:

  • Mario is racing against himself, something not possible in the final game.
  • The finish line banner's shadow appears to be glitching the floor texture in the dummy. It appears to have been manually edited out using an image editor.
  • The dummy's item boxes are closer to their Mario Kart 64 design.
  • There are four item boxes in the dummy and five in the final.
  • The coin formation is the same as in the beginning of the credits in the final.
  • There are lighting differences on Mario and the pink hill in the background.

Debug Title

Mario-Kart-7-Debug-Capture-Left.png Mario-Kart-7-Debug-Capture-Right.png

In the /UI/Debug directory is a copy of the Japanese title screen, stored into two files for the left and right eye images. The archives are called title_capture_top_l.bclim and title_capture_top_r.bclim.

Test Glideboard Texture

Mario Kar 7-Test glideboard.png

In the files for DK Pass, there is an unused texture called test_glideboard. It is the same as the used texture, but without transparency.

"Press A Button" E3 Demo Leftover

Hmmm...
To do:
In the same directory there seems to be a layout (bclyt) and animation (bclan) file that use these graphics. Get a preview of these (Switch Toolbox or Every File Explorer should be able to preview them).

MK7 E3 Press.pngMK7 E3 A BG.pngMK7 E3 Button.png

Exclusive to the kiosk demo versions of the game are three leftover graphics from the title screen of the E3 demo of the game. These are the graphics for pressing the A button, shown in the bottom screen.

They're located in /UI/menu.szs. When the file is decompressed, they're located in the following addresses within the file (start - end address):

  • E3_press.bclim (Press): 0x38000 - 0x3A027
  • E3_Abtn_l.bclim (A): 0x66400 - 0x67427
  • E3_button.bclim (Button): 0x2B2F00 - 0x2B4F27

Unused Sounds/Music

Sequenced (MIDI) version of the Time Trials start fanfare

This is a sequenced (MIDI) version of the fanfare that plays when starting a Time Trial. Sequenced starting fanfares are used in Download Play, for the racer who isn't playing with a cartridge. However, Time Trials is not available when playing from Download Play, so this goes unused.

Its filename is SEQ_FANFARE_START_TA.bcseq, and it's located from 0x7683C0 to 0x7687DF in the file /Sound/ctr_dash.bcsar in the RomFS.

Unused Battle Mode Frontrunning Beats

Hmmm...
To do:
Record the songs with these beats.

The songs used in the arenas in Battle mode have frontrunning beats that are never used.

Unused Countdown Sound

There is an unused sound for a countdown starting from 10 seconds (like in Mario Kart Wii) named SE_RC_BTL_CD_10_9_8.bcwav. The sound is identical to the one from Mario Kart Wii, so it was most likely carried over from that game.

Dummy Sounds

In the sound file (/Sound/ctr_dash.bcsar), there are 2 dummy Shy Guy sounds at the very end. All the used character sounds are in the middle of the BCSAR file. It isn't currently known what their names are.

Rainbow Road Sound in Waluigi Pinball's Sound File

Hmmm...
To do:
What sound?

Strangely, in Waluigi Pinball's Sound File (GRP_CR_DS_WALUIGI_PINBALL.bcgrp), there is a copy of a sound used in Rainbow Road and SNES Rainbow Road.

Gctr_MarioCircuit_Divide

Download.png Download Gctr_MarioCircuit_Divide.szs (Restoration)
File: MK7 Gctr MarioCircuit Divide Restoration.zip (1.30 MB) (info)

This is the only unused track in the game. It is essentially an early version of Mario Circuit, with slightly different geometry, collision and parameters. There are no references to this course in the game's code.

Course archive (.szs)

Since the course archive lacks many important files, and the course information (kmp) file is in an early format, the track crashes when trying to load it.
The following files can be found in the course archive:

File Name Description
Gctr_MarioCircuit_Divide.bclgt Light information file, similar to the final version found in the Mario Circuit course archive.
Gctr_MarioCircuit.bclgt (*) Another light information file, differs from the previous one and the final version.
Gctr_MarioCircuit_Divide_ch0.bclgt Character light information file, uses different internal names than the ones found in used courses.
Gctr_MarioCircuit_Divide.div Model division file, seems to match the main course model appropriately.
Gctr_MarioCircuit_Divide.bcmdl Main course model file, more info below.
Gctr_MarioCircuit_Divide.kcl Main collision file, matches the main course model appropriately, more info below.
Gctr_MarioCircuit.kcl (*) Another collision file, doesn't match the main course model nor the final Mario Circuit course model, more info below.
Gctr_MarioCircuit_Divide.kmp Course info file, more info below.
Gctr_MarioCircuit_Divide_map.bcmdl (**) 3D model of the course minimap.

(*) This file is a duplicate file and should not belong to this course archive.
(**) This file is unique and cannot be found in any other course archive.

The following files are missing from the course archive:

File Name Description
UIMapPos.bin Determines the position offsets for the bottom screen minimaps.
Gctr_MarioCircuit_Divide_map.bclim Bottom screen global minimap (small)
Gctr_MarioCircuit_Divide_map2.bclim Bottom screen global minimap (full)
Course Object Models 3D models for the objects defined in the kmp (Skybox variant 1, Goomba, Red Mushroom, Tree Variant 1 and pipe models).

Course Model (.bcmdl)

The .bcmdl course models are quite similar between the early and final versions, however a few textures are different. The spotlight texture was stretched to double the width and the castle wall texture and shading was slightly modified (matching prerelease footage). The four small trick ramps are missing, so the shadow map lacked shadows for these.

Early Final
Mario-Kart-7-Circuit-Spot-Early.png Mario-Kart-7-Circuit-Spot-Final.png
Mario-Kart-7-Circuit-Wall-Early.png Mario-Kart-7-Circuit-Wall-Final.png
Mario-Kart-7-Circuit-Shadow-Early.png Mario-Kart-7-Circuit-Shadow-Final.png

In addition, the early version in general is a bit bigger, there are no trick ramps, and the texture animation for the water doesn't loop, so it will only play once before stopping completely.

Collision (kcl)

Strangely, there are two collisions files Gctr_MarioCircuit.kcl and Gctr_MarioCircuit_Divide.kcl inside the .szs, second concording with the model.

They are almost identical to each other. The only difference seems to be that, in Gctr_MarioCircuit.kcl, when players drive into the flowers located before the entrance of the castle, the tires won't emit a flower graphical effect.

Both collision models don't have a water barrier. This is because the water barrier is actually added as an object in the early version, rather than being part of the collision model. Said object is named internally as WaterFix (ID 0x132).

The glider pad uses the same collision type that is used in the blue glider mushroom from Wii Mushroom Gorge. Mario Circuit originally had a bouncy mushroom instead of a glider pad when exiting the castle.

Interestingly, both collision models show that, originally, the dirt path located after the exit of the castle used to be connected with the castle walls.

MK7 - divide collision.jpeg

Course info (kmp)

The early kmp is partially empty, only global objects, routes and areas exist. Checkpoints, cpu/item routes, respawn points and some other necessary sections to make the course load are missing.

  • The course doesn't have any itemboxes or coins.
  • There are three large Goombas rather than two normal-sized ones.
  • The air flowing from the pipes near the gliding section is missing.
  • The course uses Toad Circuit trees in the early version, rather than pink Sakura trees.
  • There are no hills in the background of the track when you start the race.
  • The course has replay/result cameras that go unseen, as there are no checkpoints defined, so players won't be able to complete the race to see them. Most of them are very different to the cameras in the final version of the course. The one located at the end of the pipe before the finish line seems to be a leftover from the beginning of the game's footage seen at E3 2010. Curiously, there are 3 extra cameras located out of bounds to the east of the finish line. They cannot be activated normally, as the triggers (AREAs) that are used to trigger these are also located out of bounds as well.

Bottom Screen Map

The bottom screen map is stored in a different model (.bcmdl) in the same way as Mario Kart Wii did, instead of an image file (bclim). It even has the two bones that are used to position the map, named exactly how all minimap models from Mario Kart Wii are (posLD and posRU).

Unused Models

Blue Shell

Mario-Kart-7-Blue-Shell-render.png

An unused blue Koopa shell model, found in /RaceCommon.szs/Item/ (which contains all the item models), and named itemKouraBlue.bcmdl (the final Blue Shell model is named itemTogezo.bcmdl). The texture is slightly different than the one used for the Blue Shell item.

Soccer Ball

Mario-Kart-7-Soccer-Ball-render.png

An unused soccer ball model (named F2_Item_Ball_Soccer internally) with a texture and a normal map, likely used for testing purposes, also found in RaceCommon.szs. The model and textures are also in Nintendogs + Cats, indicating this may possibly be a leftover from that game since they were in development around the same time.

Early Garage

Hmmm...
To do:
A page of Nintendo Company Guide Book 2012 shows this early garage.
Garage

The model Garage.bcmdl in /Menu3D/Garage is an early version of the garage that serves as the background for the character/kart select screen (the final version is located in /Menu3D.szs/Menu3D/Garage.bcmdl). Unlike the final garage, the door is on the right-hand side instead of the back, and the only decorations it has are some cables and a set of tires. It has no textures, but the vertex shading still remains.

Unused Banner Model

There's an unused model for the Home Menu banner found in /banner/*/banner.bnr in the RomFS (the final banner model is located in the ExeFS). It features an animated model of Mario driving on his Standard Kart.

The models for both Mario and the Standard Kart, while mostly identical to the final gameplay models, feature slightly different textures. For example, Mario's skin is a bit paler in the unused banner model. In the final game, the banner model is in much higher quality than the models used in gameplay.

The icon stored in banner.icn under the same directory is the same icon that was used for the Download Play version. In addition, the unused banner doesn't have any sound.


(Source: B_squo)


Unusual Item Boxes

On Rainbow Road. after the first gliding section, there are three Item Boxes hidden under the planet's rings. They can only be collected by flying under the rings and back up onto the course. Unlike the Super Item Box retained in DK Pass (DS), which has a unique item distribution of only speed items and Red Shells, they appear to have no special characteristics.

(video: SuperNickid)

Unused Battle Mode Item Functions

The Blue Shell, Lightning, and Bullet Bill can't be obtained under normal circumstances. These items will have unusual effects when hacked in.

Blue Shell

Acts like a Green Shell but it goes on forever. The game crashes if it goes out of bounds.

Lightning

Shocks the players but it doesn't always give out a point per player. The players do not shrink, and they keep any items they had.

Bullet Bill

Follows a route similar to the CPUs, and like the Blue Shell, the effect lasts forever. It performs tricks automatically. After a while it will get stuck in a loop.


(Source: Huntereb)
(video: Mankalor)

Unused "Race Number" Strings

Inside the message file at UI\common-XX.szs\Common.msbt, there are the messages for indicating the race number (1st, 2nd, 3rd, final). However, there are also messages for all the way up to the "31th race", allowing for a maximum of 32 races. It is likely that this would have been used with a feature for customizing the number of races in VS mode or online tournaments, both of which are locked to 4 races at a time.

Unused Lap Setting

Like in Mario Kart Wii, there is an unused value in the track's settings file which controls the number of laps. Modifying it doesn't seem to affect anything in-game, however. The game only has Lakitu signs for three laps, so it would be unable to properly indicate any extra laps.

Miscellaneous

Unused Items

The game has two different ways of referencing items. The items that appear in the item roulette (item slots or eItemSlot) and the items that appear in the races as 3D models (item types or eItemType).

Unused Item Slots

There are two test item slots referenced as Test3 (ID 0xF) and Test4 (ID 0x10) with zero probability to appear in any game mode. They display in the item roulette as star items, but since the conversion from item slot to item type is stubbed and the game doesn't have any special code for when the player uses them, they do nothing when obtained and used. These two items actually appear in the item roulette spin animation, as the game just takes a random item slot ID in the range 0x0 (Single Banana) and 0x13 (Triple Red Shells), which includes the test item IDs. This has the side effect of making the star graphic appear more often in the spin animation.

Unused Item Types

The game features 3 unused item types. The first of them is the Golden mushroom (KinokoP, ID 0x08) item type. While this item appears in the game, its behaviour is hardcoded and it doesn't have a 3D model, so the item type is stubbed. The other two correspond to the Fake Item Box (FakeBox, ID 0x07) and Mega Mushroom (BigKinoko, ID 0x0B). All the code and assets related to these item types are stubbed or missing, and only a few references remain in a table that determines how items interact with each other (RaceCommon.szs/ItemReactTable.bin).

Test Kart

Inside a file where there are all the kart body model names, there is a reference to a kart body called "std_lod_oneTest", probably for testing. However, there isn't any model or file with that name. "std" means standard, "lod" means the model is used by the other racers, "oneTest" can mean is the first model is for testing.

Debug Material

Debug Strings

Hmmm...
To do:
Check for this content in other regions and versions.

Inside the .code of the European v1.1 ExeFS at 0x4F1A18, there are some references to a debug menu, such as "SndSceneDebug.MapObj", "SndSceneDebug", and "DebugPageList".

There are also a few debug controls:

Debug Option Button
Exit DebugPageSelect B
Enter DebugPageSelect R+B
Select DebugPage Up/Down

Also, at 0x37B078, where there are all the options shown when finishing a race, there are debug options such as "Debug_Next", "Debug_Reload" and "Debug_Exit"

After a RAM dump, the following debug tasks can be found:

  • DebugMenuMainPage
  • SoundTest
  • DebugShiraiwa
  • DebugSuzuki
  • DebugObayashi
  • DebugKartRun
  • DebugField
  • DebugSakuraba
  • DebugChannelScene

Note that Shiraiwa, Suzuki, Obayashi and Sakuraba are some of the game's main programmers.

Function Symbols

Download.png Download Mario Kart 7 (Download Play Child) Symbol Map
File: MK7 Download Play Child Symbol Maps.zip (234 KB) (info)

In the download play child application (sent by the game to other consoles in Download Play mode) there is a 1.5MB file called CTRDash.xmap which has all of the 21305 function names and their respective addresses in RAM of the download play executable. Since all of the addresses match the assembly code, the file was probably added or updated with the latest compilation of the child app. Here is a portion of it:

...
30d790	Enemy::AIEngine::stateReady()
30d8b8	Enemy::AIEngine::stateInitIdle()
30d8bc	Enemy::AIEngine::stateInitStop()
30d8c0	Enemy::AIEngine::stateAfterGoal()
30d918	Enemy::AIEngine::stateGhostIdle()
30d91c	Enemy::AIEngine::stateInitReady()
30d968	Enemy::AIEngine::statePlayerIdle()
30da1c	Enemy::AIEngine::initAfterPathMgr()
30da48	Enemy::AIEngine::stateInitAfterGoal()
30da78	Enemy::AIEngine::stateInitGhostIdle()
30da7c	Enemy::AIEngine::stateInitPlayerIdle()
30dacc	Enemy::AIEngine::init()
30dbb4	Enemy::AI::startKiller()
30dbdc	Enemy::AIEngine::awake()
30dc88	Enemy::AIEngine::sleep()
...

This file can only be found in the European, American and Japanese builds of the game, indicating that this file might have been kept by mistake and only removed in later builds, such as the Taiwanese, Chinese and Korean releases.

Unseen Blue Glider Mushroom

In the award ceremony track (Gctr_WinningRun.szs), there is an unseen blue glider mushroom (like the one in Mushroom Gorge) near the tunnel section on the right-hand side. It is possible to see the stem of the mushroom by using a hack that increases the speed of the karts. It is possible that the mushroom is simply there to allow the winner to glide in from above, as the mushroom looks out of place in Toad Circuit, which the track is based on.

3DS Download Play Icon Oddity

Download Play Main
Mario Kart 7-Download Play large icon.png Mario Kart 7-large icon.png
Mario Kart 7-Download Play small icon.png Mario Kart 7-small icon.png

The icon used in the Download Play app when receiving data is a crude, early version of the one used for the main game. It is located in the banner folder. This discrepancy was fixed in the Chinese version.

(Source: Original TCRF research)

Regional Differences

Across different regions, certain tracks and vehicles have different names. These are the names that differ between the European and North American releases, along with a direct translation of the Japanese original (not counting retro courses).

Interestingly, unlike a number of other Nintendo games with separate localizations per region, it's the American script that tends to be more literal and the European script that takes more liberties. Go figure.

Track Names

Japanese European American
Kinopio Circuit Toad Circuit Toad Circuit
Pukupuku Lagoon Cheep Cheep Cape Cheep Cheep Lagoon
Heiho Carnival Shy Guy Bazaar Shy Guy Bazaar
Wuhu Island 1 Wuhu Island Loop Wuhu Loop
Music Park Melody Motorway Music Park
Rock Rock Mountain Alpine Pass Rock Rock Mountain
Pakkun Slider Piranha Plant Pipeway Piranha Plant Slide
Wario Ship Wario's Galleon Wario Shipyard
Neo Koopa City Koopa City Neo Bowser City
Wuhu Island 2 Wuhu Mountain Loop Maka Wuhu
Rosetta Planet Rosalina's Ice World Rosalina's Ice World
Koopa Castle Bowser's Castle Bowser's Castle
Honeybee House Honeybee House Honeybee Hive

Despite the name change, the Japanese and North American name "Music Park" can still be seen on banners in the level in the European version.

Kart Bodies

Japanese European American
Gold Kart Gold Kart Gold Standard
Birthday Girl Royal Ribbon Birthday Girl
Mach Queen Bumble V Bumble V
War Beetle Growlster Bruiser
Jet Soda Soda Jet Soda Jet
B Dash B Dasher B Dasher
Tarupoppo Barrel Train Barrel Train
Retromaru Tiny Tug Tiny Tug
Sand Runner Cact-X Cact-X
H2O Cloud 9 Cloud 9
Dangan Duck Gherkin Zucchini
Cobalt Seven Blue Seven Blue Seven
Banana Buggy Bolt Buggy Bolt Buggy
Skeleton Pipe Frame Pipe Frame

The Japanese version also calls this kart part a frame rather than a body.

Kart Tires

Japanese European American
Normal Tire Normal Standard
Gold Tire Gold Wheels Gold Tires
Roller Tire Roller Roller
Ring Tire Slim Slim
Slick Tire Slick Slick
Sponge Tire Sponge Sponge
Super Kinoko Mushroom Mushroom
Wood Ring Wooden Wood
Wild Red Monster Red Monster Red
Wild Tire Monster Monster

The European version also calls this kart part a wheel rather than a tire.

Kart Gliders

Japanese European American
Super Kite Super Glider Super Glider
Gold Kite Gold Glider Gold Glider
Flower Kite Flower Glider Flower Glider
Beast Kite Ghastly Glider Beast Glider
Basa Basa Kite Swoop Swooper
Parafoil Parafoil Paraglider

Swoop is another name for Swooper in some recent games. The names seem to be used interchangeably. Oddly, the North American name for the Parafoil didn't carry over to Mario Kart 8, probably because Nintendo of America opened Wikipedia for "Parafoil" wanted more proper term for one of gliders (which mades even more literal).

Revisional Differences

Version 1.1 was first released on May 15, 2012 as a downloadable patch on the eShop. Other than adding "Ver. 1.1" to the Online Multiplayer tab, this update fixed four respawn glitches that could be used to skip parts of several courses during online play:

  • GBA Bowser Castle 1
  • DK Jungle
  • Wuhu Loop / Wuhu Island Loop / Wuhu Island 1
  • Maka Wuhu / Wuhu Mountain Loop / Wuhu Island 2

Note that these glitches were only fixed for online play to avoid exploits; in every other mode, these glitches are still present.

The patch itself actually fixes all the respawn glitches, including the ones that can only be done by hacking. Though they are not included in the patch folder, so its impossible to make them work again online. However, if you were to replace the existing kmp files in the patch with their original kmp, only Maka Wuhu's would work. The Daisy Crusier and Maple Treeway ones were not fixed.

Internal Project Name

Mario Kart 7 is referred to as "CTRDash" internally. "CTR" is the product code for the 3DS.