If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:Mario Kart 8 Deluxe/Debugging Material

From The Cutting Room Floor
Jump to navigation Jump to search

This is a sub-page of Proto:Mario Kart 8 Deluxe.

Unlike the final game, this build has access to many different unique debugging functions. It is the Mario Kart with most debug content known to this date.

Contents

Debug Menu

Hmmm...
To do:
The rest, anything on Viewer?

A debug menu with simple controls can be accessed when pressing Start (+) and Select (-) at the same time. It allows you to tweak many variables, edit/initialize your save data, navigate to scenes, simulate network play, play replays and also run scripts. Note that there are pages that aren't listed here.

Controls:
Plus: Open/Close Debug Menu (Can only be done on root and when running script and not being executed on bootup)
Minus: Changes the "Course" option from "All" to "New" (Can only be done in the "Course" menu. Unknown function)
A: Select
B: Back
X: Changes value up for characters with more than one skin (Example: Yoshi)
Y: Changes value down for characters with more than one skin
DPad/Analog Stick: Change Selection
Options:
Course: Allows you to choose the course type, courses are in sorted groups named Battle, DLC, New and Classic. The last three, Test, Test(EAD), and Test(BNS) are also listed but empty.
Rule: Allows you to set the mode of the race.
Engine: Allows you to set the CC to common settings.
CPU: Allows you to set the CPU difficulty.
Kart(%i): Allows you to set player type, driver, kart parts and team.
Replay: Allows you to watch your replay data.
Viewer: ?
Script: Runs a script in Debug/Script/DebugMenu of your choice.
Network: Allows you to emulate online usage.
Flag: Allows you to edit flags on your save data or initialize the whole save.
Scene: Loads a given scene.

MK8DProto DebugMenu.jpg

The text on the bottom of the menu shows the build timestamp, resource + source changelist revisions, build type, build region, device RAM (1GB or 2GB) and DLC slots.

There are differences if races/battles are started using the Debug Menu, they are considered as Debug Race/Battle.

Replay

A replay watcher, allows to watch previous race replays saved to the savegame. Once selected, you'll start watching it on MKTV, and return to Debug Menu once closing. The replays can be deleted, copied to user and posted (to Twitter? YouTube?).

Options:
Replay Common: Replays from Grand Prix, Time Trials, VS and Battle.
ReplayUser: ?
GhostCourse: Replays from Time Trials, only from ghosts by you.
GhostDownload: Replays from downloaded ghosts.

ReplayCommon

Replays from Grand Prix, Time Trials, VS and Battle. Displays the course, mode, kart ID of the racer, item mode, CC and filesize.

MK8DProto ReplayCommon.jpg

GhostCourse

Replays from Time Trials, only from ghosts by you. Shows course, driver, time and size. Doesn't seem to be watchable, only visible to the list.

MK8DProto GhostCourse.jpg

Script

Has many scripts that does different things to the game. Only 80 scripts are visible, 20 of them are offscreen but can be selected, they continue after the last visible script at the right. Some of them crash the game, some don't seem to do anything, some changes the game resolution, changes game CPU clock, sets you to be an AI, changes your character and/or CPU character to different or sets of characters (such as many Yoshis of different color, Koopalings, Mario characters), changing team mode, disabling debug texts from screen, enabling and disabling smart steering with or without auto acceleration, changing item mode, disabling music and also character voices, enabling automatic always get item with auto item usage and more. Not all scripts were listed, but most of them does what was said above. Scripts can be enabled anywhere in the game, some of them will automatically get you in a race, some don't. Once enabled, they will always be applied, does not matter how you start the race or if you leave the race or change the mode. Very few scripts will not allow to reselect other scripts, forcing you to close the game to select other scripts.

MK8DProto Scripts.jpg

Network

CompeEdit

A competition editor with many options about the tournament. Impossible to navigate, making the game softlock. Most likely unfinished and unusable.

MK8DProto CompeEdit.jpg

Flag

A savegame editor that allows to unlock anything (Open), lock it back to a clean savegame state (Close) [does not affect default unlocked ones], set it as a new unlocked character/vehicle part (Present) and set it as Archive (?). Also allows messing with something related to ghosts and editing the savegame race amount, coin amount, VR/BR, win and losses, disconnect amount (never seen in game), percentage of gyro controls, if have ended the game (Grand Prix?) and if have got true ending (Staff Credit?). DLC can be modified to four different states, excluding Open, being able to make previously DLC only characters to be locked and having the Mario Kart 8 Wii U card model with the character icon, making the game softlock if selected, and depending on the setting, DLC cups are visually 'locked', having track names as '???", the cup icon is the Mushroom cup icon and the track images will be from the previous seen track, however that is just visual, selecting the track will redirect you to the proper track (DLC cup one). The options selected appear on the bottom bar of the Debug Menu. Option OpenAll will set all to unlocked, InitAll will set it back to a clean savegame state.

MK8DProto Flag.jpg

InitAll (Reset everything) OpenAll (Unlock everything)
MK8DProto InitAll.jpg MK8DProto OpenAll.jpg

MK8DXProto DLC.jpg

DLC Characters Locked DLC Cups Locked
MK8DProto DLCChar.jpg MK8DProto DLCCup.jpg

Scenes

Customizer

A scene that allows changing character/vehicle parts live, similarly to the menu one. Normally, this scene crashes the game but you can use a patch to fix the crash. There is text displaying the internal names of the characters and parts for selection. You can only nagivate and change parts if a debug controller is attached, else no inputs work. You can't drive and no sounds or particles are present in this scene. The selected combination will be saved and set in the Debug Menu. Files and function names related to this scene exists in the Kiosk Demo version of Mario Kart 8 Wii U, meaning Customizer was used sometime during Mario Kart 8 Wii U development for testing and debugging purposes.

The code that loads this scene is programmed to load the test_Customizer track but for some reason the course the scene loads is the last/current loaded course (possible issue with this Prototype build), for example, in menus, the course loaded is Gu_Menu, loading Customizer while in menus will load the scene in Gu_Menu, the course menus are loaded in, in game, it is a black void with no models or visuals.

The files for test_Customizer aren't present in the game but a skybox called VRCustomizer is present in the game's files (also in Mario Kart 8 Wii U) and is definitely used in this course. test_Customizer is definitely a copy of Gu_Menu but using VRCustomizer skybox instead, a unicolor light blue sky with a color gradiant similar to the one seen in the character selection background (coincidence?) of the Kiosk Demo version of Mario Kart DS and the corner of some title/main menu background images of Mario Kart 8/Deluxe.

The reasons test_Customizer is definitely a copy of Gu_Menu is because Gu_Menu has no checkpoints and the spawn point coordinates and rotation are at 0,0,0. Coincidentally, this scene has the kart spawn point coordinates and rotation hardcoded to be at 0,0,0 and the game crashes if the course loaded has checkpoints. Also because Gu_Menu has no visuals as there's no models and the skybox (VRMenu) doesn't render in game so it's a black background which is out of place and it causes two issues: The character/vehicle parts text is harder to read because the color blends with the background and some vehicles are very glowy. test_Customizer has a proper skybox (VRCustomizer) that makes the text very readable and the karts aren't as glowy.

A lightning environment file for this scene exists and is present in "Debug/GEnv/Customizer.bgenv" (also present in the Kiosk Demo version of Mario Kart 8 Wii U) but it isn't loaded, instead it loads the default one; "Common/GEnv/Turbo_cmn.bgenv".

In the video below a recreation of test_Customizer is used by adding the files of the course to the game and adding it to the Debug Menu Test course list by using the Test Tracks patch (artificial custom code). Toggle Process Meter Bars and Toggle Free Camera Debug Controller Features were used to move the camera and display the game's process performance.

Fun but weird fact: You can load Customizer in GBA Mario Circuit and DS Wario Stadium by loading Customizer scene while in any of these two courses. These are the only courses with checkpoints that don't crash the game in Customizer. You'll spawn at the origin of the map and lakitu (who's invisible) will bring you back to the course.

Message

A simple message checker, allowing you test message displays from a given message ID, also with a flag to set if using a confirmation popup. It shows a cursor but it isn't really visible due to the layout it uses and text color is white so it's probably wise to remember what you're selecting.

Loading Message ID 5004

Loading Message ID 5004 with button flag

Trial

The scene "Trial" in the Debug Menu brings you to what looks like the Wii U's E3 2013 menu but with updated controller icons. After the race is completed, you'll see a "Thanks for playing" screen, which also appears in the Kiosk Demo of Mario Kart 8 Deluxe. The courses and vehicles you play are set ones, but randomized. For example, one time it is GCN Yoshi Circuit and you play as Mario on the B Dasher, other time it is Hyrule Circuit and you play as Mario on the Standard Kart. When in this scene, the Debug Menu cannot be opened, probably to prevent people playing the game at E3 to open the Debug Menu.

MK8DProtoE3.jpg

Logs

Printouts of scripts are printed on the screen and log are written to the SD Card in Gear.

Debug Race/Battle

VS Race and any Battle mode using the Debug Menu are considered as "Debug Race/Battle". Debug Race/Battle will make the race/battle start instantly, having no course intro or countdown, having the race/battle started as soon as it is loaded, allowing moving and everything once in the race/battle. Races/Battles will not end, lasting forever, even if all laps are completed, if the timer hits the limit or runs out, if all thieves are caught in Renegade Roundup or Shine Thief shine timer hits zero. A Grand Prix Race started using the Debug Menu will not have the features above and will work just like a normal race but there is only one race, after finishing it you will be brought to the Award screen.

When in a Debug Race/Battle, pressing Start (+) will open the Debug Menu without leaving the race/battle, having the race/battle displayed and paused in the background, allowing to select scripts, closing it will resume the gameplay. This will also apply to a Grand Prix Race started using the Debug Menu. In normal races/battles, in order to open the Debug Menu, Start (+) and Select (-) needs to be pressed at the same time, and that will also leave the race and return to the regular Debug Menu state when it's in menus, with a black background.

Debug Controller Features

With a debug controller attached, you can do special features that cannot be done on a retail controller. The features that affect the kart are only done to player one, regardless of what slot the controller is connected to in game, however, the debug controller must be connected to the first controller slot on the Switch for it to work. The debug controller can be attached midgame and perform the features even when the controller connected to the game and controlling the kart is another normal controller. If the debug controller is the one controlling the kart, ZR and ZL will not work for kart movement inputs, so you can only hop/drift and use items/honk with R and L, debug features that disable debug controller features will also disable kart movement inputs. This will not happen if another normal controller is controlling the kart. If ZR is held, all game inputs will not work, regardless if in menus or in game, only debug feature inputs will work if ZR is held.

The controller appears as a Pro Controller in game, however, the Debug Controller is actually a black Wii Classic Controller Pro that can be attached to the top of the SDEV Switch Console (Developer Nintendo Switch Hardware) for debugging. The SDEV Console comes with this controller. The game and code labels this controller as "NinDebug".

MK8DProto SDev DebugController.png

It is unsure of, but some of these features could have been used on Mario Kart 8 Wii U for debugging as well.

The Debug Controller can be enabled on Yuzu by going to Config > Controls > Advanced and then enabling the Debug Controller option. It can be enabled on a real Switch console by using a patch The patch also includes a fix by Shadów that allows Free Camera to be enabled. While Yuzu can enable Debug Controller without patches, the Free Camera will not work, so the patch is recommended so it can work.

Use this patch to Force Debug Controller & fix Free Camera enable issue: File:MK8D Proto Debug Controller & Free Cam Fix v1.1.rar


(Force Debug Controller Patch: Ro)
(Free Camera Enable Fix Patch: Shadów)

Item Cycler

R + <-->: Allows cycling through items. By pressing the item use button, you will receive the selected item again. The selected item name is displayed on the screen no matter if you have it or not. It can be hidden by enabling the Script "Util_DisableDebugScreen". The item limit is still respected, so for example, if there is a Blooper in play, you will not be able to receive a Blooper or a Crazy 8 until there are no bloopers in play.
In online play this feature works differently, cycling thru items will not give you it on your slot/hand but the text indicating what item is selected is shown, to obtain the item, press the item use button. It will not clear the current item on slot/hand either.

"DebugMove"

ZR + L + (Left Stick): Allows moving your kart back and forth, following the course layout and also allows warping to spawn point. While holding ZR and L, vertical Left Stick input allows moving the player's vehicle forward and backwards, following the course layout, by actually following the path CPUs take. The speed the kart moves is dependent on how far the stick is pushed, it can go very slow and also very fast. The kart will be a bit high in the air while moving, flying at a low height. While holding ZR and L, horizontal Left Stick warps the player to spawn point. Since the warp to spawn point only happens for one frame, the kart can be moved while this input is still being held (ZR, L, horizontal stick, vertical stick to move kart), if vertical stick input is released while horizontal input is still held, the kart will stop and levivate in the air. When using this feature, checkpoints will be adapted so there is no culling problems or lap counting problems, however, there is a bug (could be unintended, but happens due to how checkpoints are handled, or intended) that if warping to spawn point after completing a portion of the track (about half of the track), the laps will count even though the kart didn't cross all checkpoints. While moving or when warping to spawn point, the kart will have some of its functionalities reset and cleared, such as actual kart speed, velocity, animations, statuses and timers (e.g: Bullet Bill, Damage, Glider, Boost, Star Power etc.) and few others. 
This feature only affects player ID 0, therefore, if used online, it will only affect the host of the room.
Labelled as "DebugMove" in the game's code. Not sure what name this feature should have.

End Race

L + R + Down: Ends the race. The race will not get to the results if it's a Debug Race/Battle.

Toggle Slow Motion

ZR + Start (+): Toggle slow motion, horizontal D-Pad input slows down the game speed by x1, x31, x61, x91 and x121, in order. D-Pad Up will pause the game and when pressed again, advances one frame. The text that displays the speed can be hidden by enabling the Script "Util_DisableDebugScreen".

Toggle Free Camera

ZR + Up: Toggles free camera and disables debug controller features except some visual ones and kart movement inputs if debug controller is controlling the kart. Left Stick rotates the camera, Right Stick moves the camera, A increases the camera height, B decreases the camera height, X zooms in the camera distance, thus, making the camera speed slower, Y zooms out the camera distance, thus, making the camera faster. L will twist the camera to the left and R will twist the camera to the right. When ZR + Up is pressed again, camera is frozen and debug controller features are now enabled, but if debug controller is the one controlling the kart, kart movement inputs will only work if ZR is being held. When pressed again, camera is back to normal. The free camera is a bit hard to control. By default, kart movement inputs are disabled if ZR is held. The free camera can also be used on menus.
A patch is required in order to construct the layers required for the debug camera to work. The patch is available above on Debug Controller Features part.

Toggle Layout Visibility

L + R + Up: Toggle game layout visibility. Does not affect debug layouts.

Toggle Controller Modes & Screen Types

ZR + Y: Toggle controller modes, Main uses typical controls, Perf disables debug controller features and kart movement inputs if debug controller is controlling the kart, and Screen allows you to toggle screen types, ZR + <--> will change the screen types, while also disabling debug controller features except some visual ones plus allowing kart movement inputs even if ZR is held. 
This feature is completely disabled if the Script "Util_DisableDebugScreen" is enabled. You can see better explanation and pictures about the pages below on Debug Screen Type Pages part.

Toggle Process Meter Bars

ZR + <-->: Toggle Process Meter Bars. There are three bar types, the first one seems to be the waitGPU, draw and calc performances but only the bars, but with no text, second one is DSP, waitGPU, draw and calc with text, bar and percentage, the third one displays GSys, App, waitGPU, draw and calc with text, percentage and of course, the bars. 
This feature can work even if the Script "Util_DisableDebugScreen" is enabled.

Toggle Sead Menu

Start (+) + R (Ordered): Displays the Sead Menu. Allows you to nagivate through it and see information. In Heap View, pressing X will show more details. Disables debug controller features and kart movement inputs if debug controller is controlling the kart. 
This feature can work even if the Script "Util_DisableDebugScreen" is enabled.

Load Keyboard Applet

ZL + L + R (Ordered): Loads keyboard applet. It comes with a set text in Japanese that says "test input"

Keyboardapplet.jpg

Load Mii Maker Applet

ZL + L + ZR: Loads Mii Maker applet on the Mii creation screen.

MK8DProto MiiMakerApplet.jpg

Load Controller Hookup Dialog

ZL + L + Left : Loads the controller hookup dialog, two controllers are required to continue, but you can exit out by pressing B.

Controllerapplet.jpg

Load NFC Reader Applet

ZL + L + Right: Loads the NFC reader applet

MK8DProto NFCApplet.jpg

Load Web Browser or e-Manual

ZL + L + Up: Load web browser or e-Manual? Crashes on retail console

Load Profile Select Applet

ZL + L + Down: Load profile select applet.

Accountapplet.jpg

Debug Screen Type Pages

Here's a list of pages acessible on the debug controller mode set to Screen and what they are/could be:

Console: Displays all warning logged (except the ones that show when first going to the race), debug render time & HEAP Usage Preview.
Warning: Displays set comments for certain functions, most of them warning if something went wrong, or if something happened.
MemoryMap: ?
CalcCost:
Collision: ?
Race: ?
Kart: ?
AI: Displays AIs properties and catch up rubberband distance & such.
Effect: Display KartEffect and ScreenEffect from each kart ID (players), O and X seems to determine if it's happening or if it's on the player's view
Item: Displays all player IDs, the item they have, if it's being dragged (and which), item duration, items in play, collision state, item type, ID, who used, state & way more.
MapObj: ?
NetRace: ?
NetItem: ?
UI: ?
Shiraiwa: ? (Probably used by Nintendo's programmer Yusuke Shiraiwa).
Fukuoka: Displays if item warning (and Renegade Roundup cup) is happening,  sector to KartIndex and some sort of CurrentPosition. Multiple instances of it can happen. Also displays the Award trophy left stick X and Y values, how strong the trophy rotation X and Y is according to stick and trophy rotation X and Y angles. Also shows what current 'board' page you are on MKTV. Also displays the distance and scale to a player's nametag.
(Probably used by Nintendo Fukuoka Office, one of their old development offices).
Uchida: ? (Probably used by Nintendo's sound programmer Sanae Uchida).
Miyagawa: ? (Probably used by Nintendo's sound programmer Yohei Miyagawa).
Mizuta: (Probably used by Nintendo's sound programmer Masato Mizuta).

Video of these pages can be seen in Toggle Controller Modes & Screen Types.

Warning

Displays set comments for certain functions, most of them warning if something went wrong, or if something happened. On the picture below, it shows warnings about UI failing to get the PlayerIndex and some object warnings.

Warningtext.jpg

AI

Displays AIs properties and catch up rubberband distance & such. There seems to be a value for each AI, maybe the distance of rank or distance from each kart. Keep rank is probably a timer that shows for how long CPUs should stay on top (after the timer hits 0, they should slow down for the local player to be able to catch them). Catch up is probably the distance and stuff about rubberbanding when they're too far behind. There seems to be some distance values too.

Catch up & distance values (?) Keep rank (how long to stay on top before slowing down for local player?)
Aitext.jpg Aikeeprankconfuse.jpg

Effect

Display KartEffect and ScreenEffect from each kart ID (players), O and X seems to determine if it's happening or if it's on the player's view.

Screenkarteffect.jpg

Item

Displays all player IDs, the item they have, if it's being dragged (and which), item duration, items in play, collision state, item type, ID, who used, state & way more. In order the kart ID can be seen, then the statte of the roulette, if spinning, empty or having an item. Then, the stock item, current item and next item (all three are the same?). cnt is probably a item timer such as golden mushrooms. ratio and revel is unknown. After that, there is the kart ID again, Keep is the item in hand, Cr and Fl seems to be the amount of items rotating/being dragged. Cnt is the amount of times the item was used before it finishes/gets out of the slot and max is the max amount of usage (used on fireballs for example). Times is the item timer until it ends (increasing instead of decreasing) and Max is the max timer value. Attention is items being dragged/rotated, and so is EquipItems. The number next to it is the amount of times it has been dragged/used in the match and IDs? On the bottom, it shows the items in play, ColState is the state of the item, if it's moving (thrown process before ground or moving shells) and standing (stopped, on ground, or dropped?), the item name, the ID of the item, the serial (?), the Kart who used and if it has collision.

Item.jpg

Fukuoka

Displays if item warning (and Renegade Roundup cup) is happening, sector to KartIndex and some sort of CurrentPosition. Multiple instances of it can happen. When the icon is on screen, it shows that the pane is available. CurrentPosition is sometimes 0 and then a random value, it does not look like a floating point value. It also displays the Award trophy left stick X and Y values, how strong the trophy rotation X and Y is according to stick and trophy rotation X and Y angles. Also shows what current 'board' page you are on MKTV. Also displays the distance and scale to a player's nametag. By the name of the page, it is certain that it was used by Nintendo Fukuoka Office, one of their old development offices.

Item Warning distance to KartIndex 0 (local player), and LapPath sector ID? Renegade Roundup Cop warning & nametag distance and scale
Kourarwarn.jpg Policewarn.jpg

MK8DDebugTrophyRotDisplay.jpg

Lots of Unacessible, Removed & Undiscovered Debug Features

There are lots of debug features that are either stubbed (function has name but code is removed), existent but unacessible (some were restored by modifying the game's codes and files, read Restored Debug Features) or undiscovered to today's date according to the game's code. It seems like they can be enabled or modified with Script files, modifying them can restore some of these features. Here's a list of different classes fo these features: Audio, Controller, Debug, Kart, NetworkInfo, Player, Race, RaceInfo, SaveData, System, Test and UI. NetworkInfo is the one with most features.

Restored Debug Features

There are debug features that are present but there is no way to enable them other than modifying the game's code. Patches are required to enable them. Note that these are many of them, but only a few were restored.

Debug Item Probability Display

A debug item probability display which the way of enabling is unknown and probably unacessible without patches, it displays rank distance (distance from you to top rank/position) with a line and an arrow showing the distance and a text display showing the value of the distance and two graphs displaying all possible items to receive in that rank distance and the probability value of that item, plus an arrow with the item color, pointing at the chance of the item and a text display showing the value of the probability. The lower the rank distance value is, the higher top rank you are, therefore, you'll receive simple items like Bananas and Shells, the higher the value, the lower rank you are, therefore, you'll receive powerful items like Stars, Mushrooms etc. The lowest rank distance value is 0.000 and the highest rank distance value is 1.000, while for items, the lowest is 0.00 and the highest is 1.00.

When first touching a box, a graph will show at the left even though the item was not received yet, that is because the item you receive is already decided the moment you collect a box, when touching another box, the graph that was previously at the left will now be at the right, still displaying the previous item probability and at the left, the new item probability. When getting a double box the graph at the left will show the item probability of the second slot and the graph at the right will show the item probability of the first slot.

This feature also works in Battle, in Balloon Battle, the rank distance starts at zero and keeps incrementing, it can change according to how much points you or others have, and also change when the battle is about to end, in Coin Runners, the rank distance seems to keep increasing and never change, in Renegade Roundup, it starts at a certain distance and it changes according to the amount of points your team has,iIn Shine Thief, it changes according to the shine timer. This is one of many unknown or unacessible debug features of this build. It's internally called "SetItemSlotTableDrawDebugSelectInfo". For more info, read Lots of Unacessible, Removed & Undiscovered Debug Features. Below, you can see what each item color is. These colors are shown in the graph, which has the probability of the given items on the given rank distance.

MK8DProto ItemProbabilityColors.png

Below, you can see this feature in action, in both VS and Battle. In the VS video, "DebugMove" was used to move back and forth to show the rank distance and item probability changes. All videos of this feature were recorded with CPUs on Hard difficulty.

Use this patch to enable this feature: File:MK8D Proto Item Probability Display.rar

Balloon Battle Coin Runners
Renegade Roundup Shine Thief

Debug GPU Stress Analyzer

A GPU Stress Analyzer. Shows a graph with moving wave lines to display the GPU stress. It is part of some developer tool debug drawing so it cannot be activated normally in game. Even though it is a developer tool activated feature, it can be considered as one of many unknown or unacessible debug features of this build. For more info, read Lots of Unacessible, Removed & Undiscovered Debug Features.

Use this patch to enable this feature: File:MK8D Proto GPU Stress Analyzer.rar

Kart Spring Value Display

A kart spring value displayer. Displays the kart spring value on the top left of the screen. In order to enable this feature with patches, inaccurate function tricks were done so it is possible that the values and amount of displays are incorrect. For more info, read Lots of Unacessible, Removed & Undiscovered Debug Features.

Use this patch to enable this feature: File:MK8D Proto Spring Display (INACCURATE).rar

MK8DProto SpringValueDisplay.jpg

Enable Feather Jump Anywhere

By default the feather jump can only work in Battle, with this feature it can work in any mode, including race. It's internally called "SetEnableFeatherAlways". This is one of many unknown or unacessible debug features of this build. For more info, read Lots of Unacessible, Removed & Undiscovered Debug Features.

MK8DProto EnableFeatherAlways.jpg

Disable Culling

A feature that disables culling, making the entire track model, items and objects visible from anywhere. Nintendo likely uses it with Free Camera.

Debug Text Display

Some debug text are displayed on the screen, some appear naturally in some scenarios, some appear when certain debug features are done. There are many texts, according to the game's code, there are many different types of printf functions about debug screen text. These texts can be disabled by enabling the Script "Util_DisableDebugScreen".

Debug Render Time & HEAP Usage Preview

A debug text preview displaying what could be seen as a render time and HEAP usage of elements loaded in the scene. It only appears if a debug controller is connected and it is displayed in the start of the title screen and race, it disappears after few seconds. It is always visible if the debug controller type is set to Screen and the page is Console. On the second bottom part, it shows the MB loaded and next to it, probably a safe or recommended maximum MB to be loaded. Sometimes, ObjectWork is higher than the max. When the value is higher than the maximum, the text is red.

Title Screen Race
MK8DProto YabukiTextMenu.jpg MK8DProto DebugRenderTimeText.jpg

This same feature was shown on Mario Kart 8 Direct from April 30th, 2014. This puts more strenght to the theory that the debug features from this Prototype came from Mario Kart 8 Wii U. Same goes for the debug folders and function names from the Kiosk Demo version of Mario Kart 8 Wii U. A black Wii Classic Controller Pro can be seen at the bottom left of the picture, this is a debug controller that is probably connected to the console, thus why the debug text appears on the screen. The Wii U Gamepad seen is a Cafe DRC-DK-TV Gamepad, it is unknown if it can be used as a debug controller, in the game's code, there's a controller labeled as "WiiUDebug" which could be this gamepad.

Yabuki.jpg

Item Cycler Selected Item

When cycling items with Item Cycler, a text displaying the selected item name is displayed below the first item roulette slot. The text remains on the screen even after using the item, having no item in slot or having a legit item. You can see the text by watching the video of the Item Cycler in the Debug Controller Features page.

Toggle Slow Motion Speed

When enabling Toggle Slow Motion, a text displaying the speed is displayed at the top left corner of the screen . When advancing frames, the text is only shown on the advanced frame, and hidden when the game is paused on the advance frame mode. You can see the text by watching the video of the Toggle Slow Motion in the Debug Controller Features page.

Process Meter Bars

With the Toggle Process Meter Bars feature, two bar modes have texts to display what each bar represents. You can see the text by watching the video of the Toggle Process Meter Bars in the Debug Controller Features page.

Debug Controller Modes & Screen Types

When changing the Debug Controller Mode by using the Toggle Controller Modes & Screen Types, a text is displayed an the top left corner of the screen displaying the mode. It appears blinking for few seconds, then stops blinking and disappears after few more seconds. There are also many different texts on the Screen Types displaying many different information about different game elements. You can see the texts by watching the video of the Toggle Controller Modes & Screen Types in the Debug Controller Features page and also see the different information texts of the screen types in Debug Screen Type Pages.

Debug Item Probability Display

When using the Debug Item Probability Display feature, there is text displaying the value of the rank distance and item probability value. You can see the texts by watching the video of the Debug Item Probability Display in the Restored Debug Features page.

Kart Spring Value Display

When using the Kart Spring Value Display feature, there is text display the value of the kart spring on the top left of the screen.

MKTV Video List Board

When in MKTV, at the top left corner, a text displays if the video list is visible on the board or not. X for when it isn't and O for when it is. There is also a text saying what page the board is on, shown in Fukuoka page from Debug Screen Type Pages, which is accessed with Toggle Controller Modes & Screen Types feature.

Video list not visible Video list visible
MK8DProto MKTV ScreenX.jpg MK8DProto MKTV ScreenO.jpg

Online Matching

When searching for an online lobby, at the bottom right half, two texts display what could be assumed to be some sort of match state.

MK8DProto OnlineMatching.jpg

Online Voting Roulette

When voting for a track online or in Wireless Play/LAN Play, at the bottom right half, texts display the voting state. Sometimes, it is one text, sometimes, it is two texts. There are many different states with different text messages. At least four examples are shown below.

UpdateMenuDecide WaitUpdateDecide
MK8DProto UpdateDecideMenu.jpg MK8DProto WaitUpdateDecide.jpg
WaitLastTime UpdateRoulette
MK8DProto WaitLastTime.jpg MK8DProto UpdateRoulette.jpg

Customizer Parts

The Customizer scene has text displaying the selected driver, kart, tire and glider. You can see the texts by watching the video of the Customizer scene text in the Debug Menu page. If the Script "Util_DisableDebugScreen" is enabled, the text will be gone and navigation will not work.

Debug Features used in Nintendo's Videos

Nintendo uses different Debugging Material in their videos to have better quality showcases. Below you can see some of the known and also assumed features they use.

Set Character & Vehicle Parts Combo

Nintendo uses different Script that sets given character & vehicle combos for their videos. There is a combo set that can be called the "main" set because of how much it is used on Nintendo's videos and also because most of the other combo sets are small changes of the "main" combo set. There are also other scripts with set family characters such as all Yoshi with different colors, only Koopalings on Koopa Clown, Baby Characters only etc... The combo player order is randomized, for example, at times, Yoshi on Wild Wiggler might be player 1 and Mario on Standart Kart can be player 7, at other times, Mario on the Standart Kart can be player 10 while Yoshi on the Wild Wiggler is player 4. With the release of Mario Kart 8 Deluxe and the Booster Course Pass DLC, there is a possibility that some combo sets were changed or new ones were added. Almost all combo sets used on Nintendo's videos are present on this debug build, with only a few missing (either changed, removed or replaced) or manually changed on the Debug Menu.

"Main" combo set "Main" combo set
MK8DProto SetCombos.jpg MK8D SetCombos2.jpg

Disable Characr Voice and Music

Nintendo uses a Script that disables character voices and music for short gameplay videos, usually the ones shown in ads.

Hide Layout Visibility

Nintendo uses a Script or Debug Controller Feature Toggle Layout Visibility that hides all in game interface.

Hide Debug Screen

Nintendo probably uses this Script that disable most debug screen elements, such as Debug Text Display. There is a probability that some vsmall videos, mostly ad videos, have items received by using Item Cycler, so, this feature is useful to hide the debug text.

Different Camera Features

Nintendo uses different camera tricks on their videos. Some of them are obvious and others are assumed. The Debug Controller Feature Toggle Free Camera is probably used on some shots. It seems like they also use features that plays the course intro camera as well as features that can make the camera comes from far and then does some animation or follows the kart then focuses on a target kart. On the game's code there are functions related to targetting camera to a kart and disabling the course culling, other functions about these have not been discovered yet.