== Start Line Bug ==
The start line bug is a bug in Mario Kart Wii caused by a programming oversight. The bug allows a player to skip large sections of the track, if they can get behind the start line without crossing the checkpoint backwards.
=== Background ===
The bug has to do with the logic for decrementing the player's current lap variable. The current lap variable stores the lap that the racer is on, however it is not the same as the displayed lap. The displayed lap does not decrement if a player crosses the start line backwards, but the current lap does. Therefore, the players start the race with current lap of 0, which increments to 1 as they cross the start line at the beginning of the race.
Also important is the concept of Check_Point#Mandatory_check_point/quadrilateral|mandatory check points. These form the minimum route a player must take round the track. It's okay for a player to leave the check point quadrilaterals for a time (as is the case with the SNES Ghost Valley 2 shortcut), provided that they enter all the mandatory checkpoint quadrilaterals in order on their route round to the lap. All check point quadrilaterals are associated by the game with the previous mandatory check point (unless they are a mandatory check point). When a player enters a mandatory check point quadrilateral, a variable indicating the current mandatory check point ID of a player is updated to reflect this. The game only tests a player's position against the quadrilaterals for check points associated with the current, previous and next mandatory check point. This is to allow tracks to have overlapping check point quadrilaterals, for example because the track crosses itself.
=== The Bug ===
The bug comes from the behaviour of the current lap variable when moving backwards. If the player moves from the check point quadrilateral after the start line to the one immediately before it, the current lap variable is decremented. The game checks this by detecting if the next quadrilateral after the one the player has entered is the start line quadrilateral. However if the player can move from the check point quadrilateral after the start line to one earlier than immediately before it, the current lap '''is not''' decremented. Because the player still has the current mandatory check point ID variable set to 0 (the start line), the player cannot count a lap by driving forward, as they game checks that the current mandatory check point ID variable is set to the mandatory checkpoint before the start line prior to incrementing the lap count. To count the lap and complete the [[Ultra Shortcut|ultra shortcut]], the player must drive backwards to the previous mandatory check point. This then causes the player's current mandatory check point ID to be set to the one before the start line (because they have entered its quadrilateral) still without decrementing the players current lap variable. The player now has current lap set to the one they left the start line at, with current mandatory check point ID set to the one before the start line. The player can then drive forwards to the start line to count a lap.
=== Cheat Codes ===
Ultra UnCut PAL [MrBean35000vr and Chadderz]
Ultra UnCut USA [MrBean35000vr and Chadderz]
Ultra UnCut JAP [MrBean35000vr and Chadderz]