From d7927ec43df11a06e91da99515989e896b3f2df6 Mon Sep 17 00:00:00 2001 From: Rachel Date: Fri, 21 Jun 2024 10:26:15 -0700 Subject: [PATCH] Document primary GameRecords struct members --- include/game_records.h | 9 ++++++--- src/game_records.c | 14 +++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/include/game_records.h b/include/game_records.h index a7bf2218ac..c099968c0f 100644 --- a/include/game_records.h +++ b/include/game_records.h @@ -4,15 +4,18 @@ #include "struct_decls/pokedexdata_decl.h" #include "savedata.h" +#define NUM_U32_RECORDS 71 +#define NUM_U16_RECORDS 77 + typedef struct GameRecords_sub1 { u16 unk_00; u16 unk_02; } GameRecords_sub1; typedef struct GameRecords { - u32 unk_00[71]; - u16 unk_11C[77]; - u16 unk_1B6; + u32 recordsU32[NUM_U32_RECORDS]; + u16 recordsU16[NUM_U16_RECORDS]; + u16 padding; // this should be added by the compiler, but is needed to match GameRecords_sub1 unk_1B8; } GameRecords; diff --git a/src/game_records.c b/src/game_records.c index d11af18a61..1076e53e32 100644 --- a/src/game_records.c +++ b/src/game_records.c @@ -35,8 +35,8 @@ static void sub_0202CD94 (GameRecords * records, int param1) return; } - records->unk_1B8.unk_00 = sub_0201D5B8(&records->unk_00[1], sizeof(GameRecords) - sizeof(GameRecords_sub1) - sizeof(u32)) & 0xffff; - EncryptData(&records->unk_00[1], sizeof(GameRecords) - sizeof(GameRecords_sub1) - sizeof(u32), records->unk_1B8.unk_00 + (records->unk_1B8.unk_02 << 16)); + records->unk_1B8.unk_00 = sub_0201D5B8(&records->recordsU32[1], sizeof(GameRecords) - sizeof(GameRecords_sub1) - sizeof(u32)) & 0xffff; + EncryptData(&records->recordsU32[1], sizeof(GameRecords) - sizeof(GameRecords_sub1) - sizeof(u32), records->unk_1B8.unk_00 + (records->unk_1B8.unk_02 << 16)); } static void sub_0202CDC0 (GameRecords * records, int param1) @@ -45,15 +45,15 @@ static void sub_0202CDC0 (GameRecords * records, int param1) return; } - DecryptData(&records->unk_00[1], sizeof(GameRecords) - sizeof(GameRecords_sub1) - sizeof(u32), records->unk_1B8.unk_00 + (records->unk_1B8.unk_02 << 16)); + DecryptData(&records->recordsU32[1], sizeof(GameRecords) - sizeof(GameRecords_sub1) - sizeof(u32), records->unk_1B8.unk_00 + (records->unk_1B8.unk_02 << 16)); } static u32 sub_0202CDE0 (const GameRecords * records, int param1) { if (param1 < ((70 + 1))) { - return records->unk_00[param1]; + return records->recordsU32[param1]; } else if (param1 < ((49 + 28) + ((70 + 1)))) { - return records->unk_11C[param1 - ((70 + 1))]; + return records->recordsU16[param1 - ((70 + 1))]; } GF_ASSERT(0); @@ -63,9 +63,9 @@ static u32 sub_0202CDE0 (const GameRecords * records, int param1) static u32 sub_0202CE08 (GameRecords * records, int param1, u32 param2) { if (param1 < ((70 + 1))) { - records->unk_00[param1] = param2; + records->recordsU32[param1] = param2; } else if (param1 < ((49 + 28) + ((70 + 1)))) { - records->unk_11C[param1 - ((70 + 1))] = param2; + records->recordsU16[param1 - ((70 + 1))] = param2; } else { GF_ASSERT(0); }