MKTV Replay (File Format)
Jump to navigation
Jump to search
Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.
Platform Notice
This article is about Mario Kart 8 for Wii U. It's likely that Mario Kart 8 Deluxe uses the same or a very similar file format, but this was not verified.
In Mario Kart 8, MKTV Replay Data is stored in DAT-files. Each of these files are stored in the user's save folder.
Filename
The filename format for MKTV Replays is unknown. They start with rp.
Header
Offset | Size | Description |
---|---|---|
0x00 | 4 | "CTR0" in ASCII. Unknown abbreviation. 'R' likely stands for 'Replay'. |
0x04 | 4 | Unknown. Likely game version. |
0x08 | 4 | File Size (in bytes). |
0x0c | 44 | Probably Padding (always 0) |
0x38 | 4 | Unknown |
0x3c | 4 | CRC-32 Checksum over all bytes after this header until the end of the file. |
0x40 | 8 | Probably Padding (always 0) |
0x48 | End of header |
Data
This section is a WIP. It is likely that MKTV replays use a similar format as ghost data, of which is still a lot unknown. It is probably easier to decode that first before attempting to dive further into MKTV replays.
However, the following data must also be stored in replays, but is likely not stored in ghost data:
- Number of points scored this race/battle, or player VR/BR
- Team indicator (blue vs red vs solo)
- Battle indicator (VS/GP mode vs battle mode)
Player Data
The mii and name of each player are stored in consecutive 0x100 byte sized blocks. Each block of player data has an identical format to that of the Mii Info block for ghost data.
Offset | Size | Description |
---|---|---|
0x268 | 8 | Unknown. |
0x270 | 92 | Mii Data. See full description on 3dsbrew. Note that the embedded Mii name is in UTF-16 (little Endian). For CPU Players, a no name Mii is used. |
0x2cc | 2 | Probably Padding. |
0x2ce | 2 | CRC-16 XMODEM Checksum of the Mii Data and additional padding. |
0x2d0 | 1 | Player Country ID. |
0x2d1 | 1 | Player Sub-region ID. |
0x2d2 | 2 | Probably Padding (always 0). |
0x2d4 | 1 | Player Country ID repeat (purpose unknown). |
0x2d5 | 1 | Player Sub-region ID repeat (purpose unknown). |
0x2d6 | 80 | Unknown. |
0x330 | 20 | Mii Name in UTF-16 big Endian. In local play this is the name of the character a player or CPU is playing as. In online play, this is the name of the Mii a player is using. |
0x344 | 36 | Unknown (mostly 0). |
0x368 | End of player data |
The format above repeats for the remaining 11 players.