Mario Kart: Double Dash!!
Mario Kart: Double Dash!! |
---|
Developer: Nintendo EAD This game has unused code. This game has a prototype article This game has a prerelease article This game has a notes page |
Adding two characters in one kart, double item boxes and two exclamation marks for its title, Mario Kart: Double Dash!! spices up the Mario Kart thrill by adding brand new courses, characters (marking Toadette's first appearance) and mechanics to keep you on your toes - most of which would be discarded and wouldn't return in new entries, at least not until Mario Kart 8 Deluxe.
Contents
- 1 Sub-Pages
- 2 Stages
- 3 Objects
- 4 Item Slot Lists
- 5 Audio
- 6 Strings
- 7 Out Of Bounds Oddities
- 7.1 Baby Mario's Incorrect Texture Mapping
- 7.2 Baby Park Ferris Vertex Colors
- 7.3 Mushroom Bridge
- 7.4 Mario Circuit Texture Stretching
- 7.5 Daisy Cruiser Stretched Block
- 7.6 Waluigi Stadium Flipped Bumpers
- 7.7 Sherbet Land Vertex Coloring
- 7.8 Mushroom City
- 7.9 Rainbow Road Misplaced Heart
- 7.10 Luigi's Mansion Ceiling Maps
- 7.11 Pipe Plaza Misaligned Texture
- 8 Contest Code
- 9 References
Sub-Pages
Build Changes
Prototype Info |
Prerelease Info |
Notes |
July 5th, 2004 Debug Build A post-release build with debugging features. |
Regional Differences Personally, I'm a km/h type of guy. |
Unused & Hidden Content
Unused Modes & Features Time to start driving in reverse. |
Disabled Objects Unseen, yet still intact. |
Unused Graphics Banners and textures, burried deep within the game's files. |
Debug Content Some developer tools remained. |
Stages
Unused Stage Files
The Course directory contains the main files for all of the race courses, battle stages and even the files for the Award Ceremony and the credits sequence, since those modes use game logic shared with races and battles. Each stage file has an L variant, for example there exists Wario.arc and WarioL.arc in the Course directory for Wario Colosseum.
The following rules are used to load the course files:
- For offline race courses, the regular stage file is loaded when the game displays one viewport and the L stage file is intended for multiple viewports.
- This logic is also used in the map select screen of the debug menu for both race courses and battle stages.
- For offline battle stages, the regular stage file is always loaded.
- For LAN mode, the L stage is always loaded for races and battles.
- The Award Ceremony and the credits sequence load the regular stage file.
This leaves AwardL.arc and EndingL.arc unused, which are never explicitly loaded; the only difference in AwardL.arc is found in sea2_tex.bmd, which for its lower quality model doesn't have a noise texture, and Ending.arc has differences in car_item1.bmd and car_item1.btk, which is a lower quality model of the item box. Neither objects display any visual differences when loaded in-game.
Unused Mini Stages
The internal course folders for the battle stages are marked as Mini#.arc, where # is the battle stage number. These numbers range from 1 to 8, meaning that there were originally going to be 8 stages, but in the final game there's only 6. The 2 stage IDs that are not used in the final are Mini4 and Mini6, and are also referenced in the debug menu. The music track IDs further supports this, where the id ID Mini3 (Block City) is 0x36, the ID of Mini5 (Tilt-A-Kart) is 0x38, and the ID of Mini7 is 0x3A; thus, rendering 0x37 and 0x39 unused.
Unassigned Stage ID
Tilt-A-Kart has a quirk where its visual model is set 10,000 units higher compared to its collision data. The part of code that sets this value is in the function Course::reset and does the following (note the variable names are not official):
if (this.courseID == 0x38 || this.courseID == 0x12) { this.courseVisualModelX = 0.0f; this.courseVisualModelY = 100000.0f; this.courseVisualModelZ = 0.0f; }
What makes this interesting is that the game checks for the ID 0x12 (18 in numbers) as well, which is not assigned to any stages in the final game. In the course selection debug menu, this corresponds to the deleted course Test 18. This function can be found at the following addresses:
USA Virtual Address | Europe / Australia Virtual Address | Japan Virtual Address |
---|---|---|
0x80178fb0 | 0x80177e54 | 0x80178fb0 |
Unused Stage Strings
ResMgr::getCrsArcName is the name of the used function that maps the course ID to the extensionless course filename. Since its implementation is identical across the kiosk demos, retail and debug builds, this means that there are string references to otherwise unused stages such as Mini4, Dekoboko and Reverse1. These are the same unused stages as seen in the course selection debug menu. This function can be found at the following addresses:
USA Virtual Address | Europe / Australia Virtual Address | Japan Virtual Address |
---|---|---|
0x801ce3c0 | 0x801ce300 | 0x801ce3c0 |
Objects
Unused Item Box Toggle
Item box objects (GeoItemBox) have a check for an unused toggle that is disabled for every item box in the game. When this toggle is set to 0x01, a random special item will always appear in the item slot, regardless of the selected character or if another character already has a special item. This toggle is a leftover from earlier in development when special items were tied to item boxes, and not players. A brief clip of this functionality happening in game can be seen in some of the b-roll spread during E3 2003. Note that in the actual E3 demo, special items already behave like they do in the final game.
Unused Bowser's Castle Laugh Trigger
In Bowser's Castle, if a cannon object (GeoCannon) is placed on the course and come in contact with, an evil laugh sound effect will play, which is heard across the track when taking damage. For track specific sound effects, the game checks a variable in memory (GameAudio::Parameters::sRaceCourse) to determine what track the player is on. If the player is playing on Bowser's Castle, this variable is set to 0x2F and the evil laughter is set to play when taking damage. However, this laughter is for some reason also set to play if the player is in a state of flying, which can only happen if the player is set to come in contact with a cannon, none of which exist in the track's files, leaving this functionality unused. It's possible a cannon was once considered to appear in Bowser's Castle.
Item Slot Lists
Item slot lists are lists keeping track of item probabilities, which determine in which scenarios the player should be given an item.
Duplicate Lists
Item slot lists are spread across three different files in MRAM.arc/item: itemslotlist.dat, itemslotlist1.dat and itemslotlist2.dat. The first list is used during normal gameplay and during VS. races with item boxes set to "recommended", wheras the second lists are used exclusively for either "basic" or "frantic" item box modes. As such, the last two files are only used for VS. races. Despite this, both files have item probability lists for Grand Prix and Battle Modes, even though neither of them are used in those scenarios. Both lists are identical to that of itemslotlist.dat, making these duplications.
Unused 13th List
A 13th table is present in all three of the listed files. It contains probabilities for 1st, 2nd and 3rd place for Green Shells (0x00), Red Shells (0x01) and Spiny Shells (0x02), all with a zero probability rate. It's unknown was this was meant for.
Audio
Empty Sequences
The final three sequences that are present in the game's audio banks in AudioRes/Seqs/JaiSeqs.arc go unused. These sequences, according to GCKart.bstn and GCKart.daa are titled as follows:
- JA_BGM_STAR (sequence 10) which would've played while using a Star item.
- JA_BGM_FINALLAP_FANFARE (sequence 11) which would've played when the player reaches the final lap.
- JA_BGM_WANWAN (sequence 12) which would've played when using a Chain Chomp item.
In the final game, all three of these sequences are streamed audio instead. Additionally, all three of these sequences were scrubbed, only leaving placeholder sequence files that are 96 bytes each.
Uncompiled Audio Bank Instructions
Present only in the European release (and kiosk demos compiled in September) are 163 lines of source code for the game's audio bank initialization in AudioRes/GCKart.daa. According to information displayed at the start of the source code, the project file was created on May 8th, 2003 by Yoji Inagaki, who is credited for sound programming. The US and Japanese releases removed this file altogether.
//*********************************************************** // オーディオアーカイブ・初期化用(for New JAudio) // Project: GC KART // Author: Yoji Inagaki // Date: 2003.5.8(THU) //*********************************************************** #define baac 'b', 'a', 'a', 'c', long, long #include"GCKart.def" //オーディオアーカイブの先頭にこれを書いてください begin_audio_arc //サウンドテーブルをロードします bst, _BEGIN_BST, _END_BST //サウンドネームテーブルをロードします // bstn, _BEGIN_BSTN, _END_BSTN //波形をテーブルの0番にロードします ws, 0, NINTENDO_LOGO_MARIO_WS_START, 0xffffffff ws, 1, SE_WS_START, 0 //0xffffffff ws, 5, TANAKA_BGM_WS_START, 0 //0xffffffff //バンクをロードし、波形テーブルの0番にアサインします bnk, 1, SE_BANK_START bnk, 0, NINTENDO_LOGO_MARIO_BANK_START bnk, 5, TANAKA_BGM_BANK_START //ストリームファイルネームテーブルのロード(破棄可能・プログラムを通じて一つのみ) bsft, _BEGIN_SFT //シーケンスコレクションのロード(破棄不可能) //bsc ファイルの先頭のオフセット, ファイルの末端のオフセット bsc, _BEGIN_BSC, _END_BSC //シーケンスのロード(破棄不可能) //bms サウンドID, ファイルの先頭のオフセット, ファイルの末端のオフセット bms, JA_BGM_TITLE, _BEGIN_BMS_0001, _END_BMS_0001 bms, JA_BGM_SELECT, _BEGIN_BMS_0002, _END_BMS_0002 bms, JA_BGM_OPTION, _BEGIN_BMS_0003, _END_BMS_0003 bms, JA_BGM_RECORD, _BEGIN_BMS_0004, _END_BMS_0004 bms, JA_BGM_START_FANFARE, _BEGIN_BMS_0005, _END_BMS_0005 bms, JA_BGM_START_FANFARE2, _BEGIN_BMS_0006, _END_BMS_0006 bms, JA_BGM_START_FANFARE4, _BEGIN_BMS_0008, _END_BMS_0008 bms, JA_BGM_START_FANFARE5, _BEGIN_BMS_0009, _END_BMS_0009 bms, JA_BGM_START_FANFARE6, _BEGIN_BMS_0010, _END_BMS_0010 bms, JA_BGM_STAR, _BEGIN_BMS_0011, _END_BMS_0011 bms, JA_BGM_FINALLAP_FANFARE, _BEGIN_BMS_0012, _END_BMS_0012 bms, JA_BGM_WANWAN, _BEGIN_BMS_0013, _END_BMS_0013 //カートカスタムのBAACのデータ baac, _BEGIN_BAAC, _END_BAAC //オーディオアーカイブのコマンドの終了を表します end_audio_arc //ここのあとにデータの内容を置きます。 //#incbinの対象となるファイルが必要です //サウンドテーブルファイル _BEGIN_BST #incbin "GCKart.bst" _END_BST //サウンドネームテーブルファイル //_BEGIN_BSTN //#incbin "GCKart.bstn" //_END_BSTN //ストリームファイルネームテーブル _BEGIN_SFT #incbin "GCKart.bsft" _END_SFT SE_BANK_START #incbin"SE/Banks/se00.bnk" #evencl SE_BANK_END SE_WS_START #incbin"SE/Banks/se00.ws" #evencl SE_WS_END TANAKA_BGM_BANK_START #incbin"BGM/Tanaka/Banks/bgm.bnk" #evencl TANAKA_BGM_BANK_END TANAKA_BGM_WS_START #incbin"BGM/Tanaka/Banks/bgm.ws" #evencl TANAKA_BGM_WS_END NINTENDO_LOGO_MARIO_BANK_START #incbin"SE/Banks/NintendoLogoMario.bnk" #evencl NINTENDO_LOGO_MARIO_BANK_END NINTENDO_LOGO_MARIO_WS_START #incbin"SE/Banks/NintendoLogoMario.ws" #evencl NINTENDO_LOGO_MARIO_WS_END _BEGIN_BSC #incbin "SE/Seqs/GCKartSe.bsc" _END_BSC _BEGIN_BAAC #incbin "SceneJPN.baac" _END_BAAC _BEGIN_BMS_0001 #incbin "Bms/0001.bms" _END_BMS_0001 _BEGIN_BMS_0002 #incbin "Bms/0002.bms" _END_BMS_0002 _BEGIN_BMS_0003 #incbin "Bms/0003.bms" _END_BMS_0003 _BEGIN_BMS_0004 #incbin "Bms/0004.bms" _END_BMS_0004 _BEGIN_BMS_0005 #incbin "Bms/0005.bms" _END_BMS_0005 _BEGIN_BMS_0006 #incbin "Bms/0006.bms" _END_BMS_0006 _BEGIN_BMS_0008 #incbin "Bms/0008.bms" _END_BMS_0008 _BEGIN_BMS_0009 #incbin "Bms/0009.bms" _END_BMS_0009 _BEGIN_BMS_0010 #incbin "Bms/0010.bms" _END_BMS_0010 _BEGIN_BMS_0011 #incbin "Bms/0011.bms" _END_BMS_0011 _BEGIN_BMS_0012 #incbin "Bms/0012.bms" _END_BMS_0012 _BEGIN_BMS_0013 #incbin "Bms/0013.bms" _END_BMS_0013
Strings
Build Dates
Build dates for the different regions are present among the game's executable files. The debug build would display these dates on the Nintendo screen.
Offset | Build Date | |
---|---|---|
USA (Kiosk) | 0x30AAE0 | Wed Sep 10 15:29:41 2003 |
Europe / Australia (Kiosk) | 0x339F80 | Mon Sep 15 17:05:55 2003 |
Europe / Australia | 0x329BC0 | Fri Oct 3 00:41:20 2003 |
Japan (Kiosk) | 0x32E920 | Mon Oct 6 13:28:37 2003 |
USA / Korea | 0x31FD80 | Mon Oct 6 18:03:54 2003 |
Japan | 0x33A3A0 | Thu Oct 9 18:35:51 2003 |
USA (Debug) | 0x35D8E0 | Mon Jul 5 13:04:10 2004 |
The build date for the European version was referenced in an interview with the game's producers in Nintendo Official Magazine Issue 137.
Of all the different international versions of Mario Kart Double Dash, we completed the European version first. We really wanted the European fans to play with the game as soon as possible.
―Kiyoshi Mizuki[4]
Course Dedications
Internal file names for the courses, which give the theme or character the track is dedicated to, indicate that some of the otherwise-neutral tracks were actually dedicated to certain characters. Note that, while Baby Park shows it's dedicated to both Baby characters from the game's debug course select, the file name shows it's dedicated to Baby Luigi specifically.
Course | File name | Debug name | Dedicated to |
---|---|---|---|
Baby Park | BabyLuigi(L).arc | Baby | Baby Luigi |
Mushroom Bridge | Nokonoko(L).arc | Nokonoko | Koopa Troopa |
Mushroom City | Patapata(L).arc | Patapata | Paratroopa |
Dino Dino Jungle | Diddy(L).arc | Diddy | Diddy Kong |
Texture File Dates
A couple of textures in the course's files have a month and day noted in their filename to indicate when the texture was last modified. Three regular courses and one Battle Mode course have these dates.
Course | File name | Date |
---|---|---|
Baby Park | bb_iro_0808 | August 8th |
bb_kanban0905 | September 5th | |
bb_kanban0710 | July 10th | |
Mushroom City | pt_kinokoueyou0820 | August 20th |
pt_road_konkri0907 | September 7th | |
pt_douro_kousoku_tougou0806 | August 6th | |
pt_kanban_tougou_karidatra_0818 | August 18th | |
pt_tuki_hikari0907 | September 7th | |
Rainbow Road | RR_yakei0916 | September 16th |
Luigi's Mansion | lm_komono0919 | September 19th |
Staff Ghost Initials
Despite never being shown in-game, all Staff Ghosts do have three letter initials present in its .ght file. Only three initials are ever used: "AAA", "XYZ" and "EAD", the last of which being a reference to Nintendo EAD.
Course | Initials |
---|---|
Luigi Circuit | AAA |
Peach Beach | AAA |
Baby Park | AAA |
Dry Dry Desert | XYZ |
Mushroom Bridge | AAA |
Mario Circuit | AAA |
Daisy Cruise | AAA |
Waluigi Stadium | XYZ |
Sherbet Land | EAD |
Mushroom City | XYZ |
Yoshi Circuit | EAD |
DK Mountain | EAD |
Wario Colosseum | XYZ |
Dino Dino Jungle | XYZ |
Bowser's Castle | EAD |
Rainbow Road | EAD |
File Names
Spiny Shell Internal Name
In MRAM.arc, the spiny shell's file name is titled item_koura_yellow, referring to a Yellow Shell. Either the Spiny Shell was going to be yellow instead of blue, or at some point it was a normal Yellow Shell.
Diddy Kong's Internal Name
Several files refer to Diddy Kong as dk_jr. An unused character portrait found in the files of the North American and European kiosk demos indicates that Donkey Kong Jr. was a playable character before being replaced by Diddy. It's possible the developers either forgot to replace some of these internal names, or it was easier to continue using these names than replace them entirely.
Out Of Bounds Oddities
This article is a work in progress. ...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes. Notes: Slipped in some notes for now. Could be moved to a subpage. |
Baby Mario's Incorrect Texture Mapping
If the player get the camera to clip through Baby Mario's overalls, the inside of his legs will reveal his entire texture sheet as a result of the textures not being mapped correctly. Baby Luigi does not have this issue.
Baby Park Ferris Vertex Colors
the ferris wheel has vertex colors that seem unintentional.
Mushroom Bridge
Misplaced City
there's a city texture only viewable from the other side.
Vertex Coloring
early vertex color leftovers on the mushroom houses, also seen in a preview video (needs a lot more details than the other items here).
Incorrect Lamp Textures
the underside of the lamps display an entire texture sheet.
Mario Circuit Texture Stretching
one of the hills has incorrectly stretched textures, missing a grass texture on top. this error was carried over to MKWii (include a screenshot of both games).
Daisy Cruiser Stretched Block
one of the blocks just before the exit of the cruise's inside is weirdly stretched.
Waluigi Stadium Flipped Bumpers
some of the wario kart bumpers just before "the big jump" are flipped.
Sherbet Land Vertex Coloring
one of the koopa kart banners has additional vertex coloring, and the backside of the pillars are brighter than the front.
Mushroom City
Incorrect Road Texture
there's a small nodge on the side of the road in the four-way section that has a black/yellow stripe applied.
Early Road Bumper
a non-drivable section has a bumper that cuts off to a different texture. this texture was placed exactly the same was in the E3 demo.
Incorrect Banner Placement
one of the shops has a banner clipping through a wall.
Bad Lamp Texture Stretching
the front and backs of the lamps seen after the roads align are stretched weirdly. the sides don't have this issue.
Banner Transparency
part of the super mushroom sign is missing a single row of pixels, making it look transparent.
Incorrect Wall Placement
one of the building walls (right next to the birdo watching sign) is messed up.
Missing Wall
one of the walls seen underneath the road after the finish line is missing.
Leftover Vertex Coloring
leftover of early vertex colors can be found hidden in one of the buildings, right next to the finish line.
Misplaced Banner
Behind one of the buildings near the finish line in Mushroom City is a flipped SUPER STAR! banner. Because this banner is invisible from the front - probably by mistake - and impossible to see from the back during normal gameplay, this banner remains hidden.
Rainbow Road Misplaced Heart
Just outside the skybox in Rainbow Road is a misplaced heart. Unlike other objects that were disabled altogether, this heart is part of the course's model and can't simply be disabled. The colors of the heart change depending on the position of the camera, since the texture's normals were mistakenly set wrong, hence why the model was probably intentionally placed outside the skybox.
Because this is the only heart placed in the course, it's accompanying texture goes unused.
Luigi's Mansion Ceiling Maps
Outside the boundaries of Luigi's Mansion is a set of seven ceiling areas. These areas determine the limit of how high a kart can fly in the air after getting hit with a Bob-omb item. However, since these areas are placed out of bounds, they're never used, and appear to be a leftover from an earlier version of the map. Since the dimensions of these areas and the course model are close, applying them to the course does roughly work, though none of the stairways are covered.
Pipe Plaza Misaligned Texture
While this isn't normally seen during gameplay, a small portion of the grass in Pipe Plaza is covered in sand. This is because the grass texture is placed right next to the sand texture in the map's texture sheet, with this small portion just being a little bit misaligned.
Contest Code
After completing a Time Trial, press L, R, L, R, X, Y, X, Y, Z in order to reveal a string of 16 characters on the bottom of the screen. This string of characters is a code used for contests to check a person's Time Trial run. The code contains information for what track was raced on, the amount of laps, the karts and drivers used, the total time to complete the course and the best lap time. Note that the code will not be displayed when the total time exceeds 8:44.288, or the best lap time exceeds 4:22.144. This fan-made decoder can decode this string to view the Time Trials' contents.
Despite this code working in any version of the game, the only instance where this code was referenced by Nintendo was in a Japanese Club Nintendo Time Trial contest. Participants were asked to press the button combination to reveal their code for the contest. After that, they would've had to submit their code in a registration form, with the selected winners having to send their Memory Card with a copy of their Ghost Data to Nintendo for confirmation. The contest had the participants race for the best times on Luigi Circuit, Baby Park, Mario Circuit and Yoshi Circuit on any possible kart or character combination. Everyone who attended the contest got 5 free Club Nintendo points (which would be given out somewhere near the beginning of February), with the top three winners getting their times displayed on the official website once the contest concluded, and the top player having their run as a downloadable recording.
The contest was open from Thursday January 15th, 2004 to Sunday February 1st, 2004. Despite there being a possibility to have several winners for each track, Takagi Nobuo (高木伸夫) won the contest for all four tracks. Other contest winners are as follows:
Track | Time | Winner |
---|---|---|
Luigi Circuit | 1:16.910 | Takagi Nobuo (高木伸夫) |
1:17.263 | Maruyama Tsuyoshi (丸山 剛) | |
1:17.594 | Hikari (ヒカリ) | |
Baby Park | 1:05.963 | Takagi Nobuo (高木伸夫) |
1:06.374 | BOM | |
1:06.400 | Hikari (ヒカリ) | |
Mario Circuit | 1:29.317 | Takagi Nobuo (高木伸夫) |
1:30.795 | Hikari (ヒカリ) | |
1:31.672 | Ma ̄-kun (まーくん) | |
Yoshi Circuit | 1:44.323 | Takagi Nobuo (高木伸夫) |
1:45.614 | Take (《茸》) | |
1:45.880 | FANTM |
References
- ↑ 1.0 1.1 1.2 Consolidated Financial Statements (January 29th, 2004) (Nintendo)
- ↑ News from Nintendo (November 14th, 2003) (Nintendo) (Archive)
- ↑ 제품 상세 보기: 마리오카트 더블대시!! (Daiwon) (Archive)
- ↑ Nintendo Official Magazine Issue 137, Page 25
- Good articles
- Good main articles
- Pages missing developer references
- Games developed by Nintendo EAD
- Pages missing publisher references
- Games published by Nintendo
- GameCube games
- Pages missing date references
- Games released in 2003
- Games released in November
- Games released on November 7
- Games released on November 17
- Games released on November 14
- Games released in December
- Games released on December 20
- Games with unused code
- Games with uncompiled source code
- Games with hidden development-related text
- Games with unused objects
- Games with unused game types
- Games with unused graphics
- Games with unused models
- Games with unused text
- Games with debugging functions
- Games with regional differences
- Works In Progress
- Mario series
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > Works In Progress
Games > Games by content > Games with debugging functions
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with regional differences
Games > Games by content > Games with uncompiled source code
Games > Games by content > Games with unused code
Games > Games by content > Games with unused game types
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused models
Games > Games by content > Games with unused objects
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by Nintendo > Games developed by Nintendo EPD > Games developed by Nintendo EAD
Games > Games by platform > GameCube games
Games > Games by publisher > Games published by Nintendo
Games > Games by release date > Games released in 2003
Games > Games by release date > Games released in December
Games > Games by release date > Games released in December > Games released on December 20
Games > Games by release date > Games released in November
Games > Games by release date > Games released in November > Games released on November 14
Games > Games by release date > Games released in November > Games released on November 17
Games > Games by release date > Games released in November > Games released on November 7
Games > Games by series > Mario series
The Cutting Room Floor > Good articles
The Cutting Room Floor > Good articles > Good main articles