Network Protocol/RACEHEADER_2

From Custom Mario Kart
Jump to navigation Jump to search

This article describes the record type RACEHEADER_2 of the Network Protocol. This record is not sent during live view, and its contents depend on the game mode.

Race Packet Sections
Name Amount Size Description
SLOT 0-1 0x08 Only used for redirected data via a proxy. The record identifies the original client by its slot number.
HEADER 1 0x10 A header for a race packet.
RACEHEADER_1 1 0x28 A record with basic race data.
RACEHEADER_2 0-1 0x28 A record with game-mode specific race data (not present in live view).
ROOM 0-1 0x04 A record containing a friend room message (not present outside friend room lobbies).
SELECT 0-1 0x38 A record containing data to set up a match (not present during races).
RACEDATA 1-2 0x40 A record containing race data for each player, such as positions or inputs.
USER 0-1 0xC0 A record containing user data such as Miis and friend codes.
ITEM 1-2 0x08 A record containing information about players' items.
EVENT 1 ≥ 0x18 A record transmitting item events.


VS Race Structure

Offset Size Description
0x00 13 bits Players who have finished the race (1 bit per player + 1).
0x01.5 13 bits Players who are participating in the race (1 bit per player + 1).
0x03.2 13 bits Players who have disconnected (1 bit per player + 1).
0x04.7 2 bits Local player count.
0x05.1 4 bits Client slot for Player 1.
0x05.5 22 bits Finishing time for Player 1 (6 bits for minutes, 6 for seconds and 10 for milliseconds).
0x08.3 13 bits Players who are ahead of Player 1 (1 bit per player + 1).
0x0A 4 bits Client slot for Player 2.
0x0A.4 22 bits Finishing time for Player 2 (6 bits for minutes, 6 for seconds and 10 for milliseconds).
0x0D.2 13 bits Players who are ahead of Player 2 (1 bit per player + 1).
0x0F 1 byte Unknown. Most likely padding.
0x10 2 bytes Client slot for each player (repeated).
0x12 1 byte Unknown. Seems to be a unused bitfield for client slots.
0x13 1 byte Local player count (repeated).
0x14 4 bytes Time since the race leader finished (in frames).
0x18 4 bytes Minimum time before the race can time out (in frames). The value for each Nintendo track can be found at 0x808903A4 PAL.
0x1C 1 byte Marks the player as disconnected if set to 1.
0x1D 1 byte Unknown. Most likely padding.
0x1E 4 bytes Time (in frames) since each player last moved faster than 30km/h. Caps at 300 (5 seconds).
0x22 4 bytes Time (in frames) since the previous countdown value maxed out. Caps at 3600 (1 minute), after which the player is disconnected if in a public room.
0x26 2 bytes Unknown. Most likely padding.

Balloon Battle Structure

The packet structure for this game mode is unknown.

Coin Runners Structure

The packet structure for this game mode is unknown.