User:Wit/Questionable tables/rksys.dat
Savefile, "RKGD"
the global settings byte follows the actual RKGD
magic. don't be confused; this does not indicate ghost data*. i think.
also worth noting that the "new file" mentioned a couple times is the original file after being played for about another year.
the "newer file" is the same file still after being played for about another year (until now).
most of the original file's gameplay was mediated by, and some recorded in, "Mp's server". if you don't know who or what that is, that information probably won't help.
*actually, i'm starting to get the feeling it does; that it has something to do with downloaded ghosts.
after making a brand-new save file in Dolphin with the "old file"'s NAND backup, i connected to Wiimmfi & downloaded the NTSC-U top 10 for SNES Ghost Valley 2. L2 now contains three Miis:
- 0x00:
01r
- male, no birthday, colour 5 (resembles guest "B") - 0x22:
ゆ
- male, no birthday, colour 4 (resembles guest "A") - 0x36:
r02
- female, no birthday, colour 2 (resembles guest "D")
Offset | Size | Description |
---|---|---|
0x23308 | 4 | "RKGD" in ASCII; Revolution Kart Global Data section identifier. |
0x2330C | 3 | Unknown. Probably padding. |
0x2330F | 1 | Global settings. See rksys.dat#Settings. |
0x23310 | 0x384 × 10 | Some sorta list composed of #List 1 entries. |
0x25638 | 0x50 × 64 | #List 2 entries This seems to be time trial record-holders, alternating between global & continental, going through each track in rksys.dat order. |
0x26A38 | 0x54 × 2 | #List 3 entries |
0x26AE0 | 4 × 10 | IDs for the 10 most recently-seen special ghosts. |
0x26B08 | 7 bits | Year relative to 2000 (e.g., 9 means 2009, 15 means 2015). |
0x26B08.7 | 4 bits | Month with January = 1, December = 12. |
0x26B09.3 | 5 bits | Date with the first = 1, probably. |
note | This is the date of the last ghost race. It may be blank. | |
0x26B0A | 1 | rksys.dat#Region ID |
0x26B0B | 0x14F1 | Unknown. Entirely zeroes in my files, so it's probably padding. |
0x27FFC | 4 | CRC-32 of the whole file up to here. |
0x28000 | End. |
List 1 entries
Offset | Size | Description |
---|---|---|
0x00 | 4 | Competition ID, or 0xFFFFFFFF if none. |
0x04 | 0xE0 × 4 | Some sorta list composed of #List 1.1 entries. If the above field is 0xFFFFFFFF, this is all zeroes. It seems that the first two entries are mostly sourced from offset 0x4000 of the concerning competition, with the last two blank. |
0x384 | End. |
List 1.1 entries
Offset | Size | Description |
---|---|---|
0x00 | 4 × 3 | More uint32_t s!
|
0x0C | 0x4A | Mii data. |
0x56 | 0x02 | CRC-16 of the Mii data. |
0x58 | 4 | What? |
0x5C | 0x64 | Beats me. Or, as the actual wiki pages say, Unknown. |
0xC0 | 2 | 0x0004. |
0xC2 | 2 | 0xFFFF. |
0xC4 | 1 | Some identifier (0? ) for the competition in question.Here's what I meant by "mostly" above: that 0? byte is EE in the competition file. However! The 0? byte does appear in said file at offset 0x24!
|
0xC5 | 0x1B | From what I've seen, always filled with 0xEE. |
0xE0 | End. |
List 2 entries
Offset | Size | Description |
---|---|---|
0x00 | 4 | Ghost ID? |
0x04 | 0x4A | Mii data. |
0x4E | 2 | CRC-16 of the Mii data. |
0x50 | End. |
List 3 entries
Offset | Size | Description |
---|---|---|
0x00 | 4 | Ghost ID? |
0x04 | 4 | Current competition ID. |
0x08 | 0x4A | Mii data. This most often matches the first two entries in the corresponding L1 entry, but on my SD save, all of L3 is blank. |
0x52 | 0x02 | CRC-16 of the Mii data. |
0x54 | End. |
RKPD, 0x55C0
the main rksys.dat page currently makes no mention of this section, not even that it exists.
Offset | Size | Description |
---|---|---|
0x55C0 | 8 × 6 | #List 4 entries. If the competition ID of the first of these for any licence matches that of the running competition, the Mario Kart Channel icon deems that the player must already be aware thereof. |
0x55F0 | 0x40 | In all files I've seen, this is filled with 0x80. Probably padding. |
0x5630 | 4 × 2 × 10 | uint32_t pairs. For as many #List 1 entries as are filled, this is a ghost ID followed by the ID of the corresponding L1 entry. After that, zeroes.This was all zeroes for the licences which hadn't played online. In my SD save, this only has one entry for the second L1 entry. No other licences have been played, let alone online. |
0x5680 | 7 bits | Year relative to 2000 (e.g., 9 means 2009, 15 means 2015). |
0x5680.7 | 4 bits | Month with January = 1, December = 12. |
0x5681.3 | 5 bits | Date with the first = 1, probably. |
note | What does this date refer to? Is it a date at all? Why does it change when a licence isn't used? | |
0x5682 | 2 | Unknown uint16_t . In one instance was this one (my main licence in the "new" file), otherwise zero. [This was also one in my SD save.] Maybe a flag indicating that a competition has been played?
|
0x5684 | 0x4A | Mii data for this licence. Zero'd out on my SD save. Probably the last Mii used in a competition. |
0x56CE | 2 | CRC-16 of the Mii data. |
0x56D0 | End. |
List 4 entries
Offset | Size | Description |
---|---|---|
0x00 | 4 | Unknown. |
0x04 | 2 | Unknown. Mostly the same throughout entries. |
0x06 | 2 | Competition ID. |
0x08 | End. |
Miscellaneous
it's worth noting that the Mii data & CRCs in the "best lap" leaderboards are all corrupted somehow. it seems like RAM trash, but there seems to be a pattern to it, and it's the same across several courses within a single save file.