RKG (File Format)
Revision as of 23:29, 20 December 2015 by MrBean35000vr (talk | contribs) (New information about format written up.)
RKG is the format of ghost data. In a savefile all ghosts are saved in the rksys file. Staff ghosts are saved each in a rkg file on the disc.
Offset | Type | Description |
---|---|---|
0x00 | char[4] | 'RKGD' in ASCII; File identifier |
0x04 | char[3] | time (7 bits minutes, 7 bits seconds, 10 bits milliseconds) |
0x07 | char[1] | track (important - determines on which slot it loads. Non-standard.) |
0x08 | char[1] | vehicle |
0x09 | char[1] | character |
0x0A | char[2] | Unknown / Used controller? |
0x0C | char[2] | A bitfield indicating ghost properties. 08 00 indicates compression. 00 04 for normal/your own ghost, 08 94 for staff ghost and 08 98 for expert ghost. |
0x0E | char[2] | Decompressed input data length (from 0x88 onwards) |
0x10 | char[1] | Lap count (tested with lap modifier) |
0x11 | char[3] | 1st lap time |
0x14 | char[3] | 2nd lap time |
0x17 | char[3] | 3rd lap time |
0x1A | char[3] | 4th lap time |
0x1D | char[3] | 5th lap time |
0x20 | char[20] | padding / NOT 6th lap and so on. |
0x34 | char | country (see http://wiibrew.org/wiki/Country_Codes) |
0x35 | char | state (see MKWii_Network_Protocol/USER/State_codes) |
0x36 | char[2] | Unused - always 0x00 |
0x38 | char[2] | Padding (00 00) |
0x3C | char[4B] | Driver's Mii Data |
0x52 | char[1] | country |
0x88 | int | Length of the Yaz1 data in bytes, if data is compressed. Start of input data if not. |
0x8C | char | The actual ghost controller input data. outside of the savegame it is compressed in Yaz0 with Yaz1 as an file identifier. |
int | A CRC-32 Checksum of the whole file (excluding the last 4 bytes of course). |
The bytes 0x34 to 0x37 are set to 0xFFFFFFFF if the user who created that ghost data disabled sharing his country / location information.