User:Wit/Questionable tables/rksys.dat

From Custom Mario Kart
Jump to navigation Jump to search

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")
    01r
  • 0x22: - male, no birthday, colour 4 (resembles guest "A")
  • 0x36: r02 - female, no birthday, colour 2 (resembles guest "D")
RKGD
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

RKGD
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

RKGD
Offset Size Description
0x00 4 × 3 More uint32_ts!
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

RKGD
Offset Size Description
0x00 4 Ghost ID?
0x04 0x4A Mii data.
0x4E 2 CRC-16 of the Mii data.
0x50 End.

List 3 entries

RKGD
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.

RKPD
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

RKPD
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.