Consolidate save_table_entry.h and related consts into save_table.h

This commit is contained in:
lhearachel 2023-09-23 14:04:43 -07:00
parent 8d3c104a20
commit 1407ff729f
9 changed files with 35 additions and 78 deletions

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_CONST_020E582C_H
#define POKEPLATINUM_CONST_020E582C_H
extern const int gExtraSaveTableSize;
#endif // POKEPLATINUM_CONST_020E582C_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_CONST_020E5830_H
#define POKEPLATINUM_CONST_020E5830_H
extern const int gSaveTableSize;
#endif // POKEPLATINUM_CONST_020E5830_H

View File

@ -1,8 +0,0 @@
#ifndef POKEPLATINUM_CONST_020E5834_H
#define POKEPLATINUM_CONST_020E5834_H
#include "struct_defs/save_table_entry.h"
extern const SaveTableEntry gExtraSaveTableEntries[];
#endif // POKEPLATINUM_CONST_020E5834_H

View File

@ -1,8 +0,0 @@
#ifndef POKEPLATINUM_CONST_020E5894_H
#define POKEPLATINUM_CONST_020E5894_H
#include "struct_defs/save_table_entry.h"
extern const SaveTableEntry gSaveTableEntries[];
#endif // POKEPLATINUM_CONST_020E5894_H

View File

@ -13,6 +13,16 @@
#define SAVE_PAGE_MAX 32
#define SAVE_SECTOR_SIZE (0x1000)
typedef int (*SaveEntrySizeFunc)(void);
typedef void (*SaveEntryInitFunc)(void*);
typedef struct SaveTableEntry {
int dataID; //< Canonical ID for the entry. Used by external functions to retrieve it from the table.
u32 blockID; //< Block ID for the entry. Specifies what block of the save data the entry is stored in.
SaveEntrySizeFunc sizeFunc; //< Function for determining how large the entry is.
SaveEntryInitFunc initFunc; //< Function for initializing an empty entry.
} SaveTableEntry;
enum SaveBlockID {
SAVE_BLOCK_ID_NORMAL = 0,
SAVE_BLOCK_ID_BOXES,
@ -74,6 +84,11 @@ enum ExtraSaveTableEntryID {
EXTRA_SAVE_TABLE_ENTRY_MAX
};
extern const SaveTableEntry gSaveTable[];
extern const int gSaveTableSize;
extern const SaveTableEntry gExtraSaveTable[];
extern const int gExtraSaveTableSize;
/**
* @brief Loads the TVBroadcast sector of the save data.
*

View File

@ -1,14 +0,0 @@
#ifndef POKEPLATINUM_SAVE_TABLE_ENTRY_H
#define POKEPLATINUM_SAVE_TABLE_ENTRY_H
typedef int (*SaveEntrySizeFunc)(void);
typedef void (*SaveEntryInitFunc)(void*);
typedef struct SaveTableEntry {
int dataID; //< Canonical ID for the entry. Used by external functions to retrieve it from the table.
u32 blockID; //< Block ID for the entry. Specifies what block of the save data the entry is stored in.
SaveEntrySizeFunc sizeFunc; //< Function for determining how large the entry is.
SaveEntryInitFunc initFunc; //< Function for initializing an empty entry.
} SaveTableEntry;
#endif // POKEPLATINUM_SAVE_TABLE_ENTRY_H

View File

@ -1,15 +1,9 @@
#include <nitro.h>
#include <string.h>
#include "constdata/const_020E5830.h"
#include "constdata/const_020E5894.h"
#include "constdata/const_020E5834.h"
#include "constdata/const_020E582C.h"
#include "struct_defs/save_table_entry.h"
#include "savedata/save_table.h"
#include "unk_02014D38.h"
#include "savedata/save_table.h"
#include "unk_020244AC.h"
#include "unk_02025CB0.h"
#include "unk_02025E08.h"
@ -51,7 +45,7 @@
#include "party.h"
#include "unk_0207D3B8.h"
const SaveTableEntry gSaveTableEntries[] = {
const SaveTableEntry gSaveTable[] = {
{ SAVE_TABLE_ENTRY_SYSTEM, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)SystemData_SaveSize, (SaveEntryInitFunc)SystemData_Init },
{ SAVE_TABLE_ENTRY_PLAYER, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Player_SaveSize, (SaveEntryInitFunc)Player_Init },
{ SAVE_TABLE_ENTRY_PARTY, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Party_SaveSize, (SaveEntryInitFunc)Party_Init },
@ -92,7 +86,7 @@ const SaveTableEntry gSaveTableEntries[] = {
{ SAVE_TABLE_ENTRY_PSS_BOXES, SAVE_BLOCK_ID_BOXES, (SaveEntrySizeFunc)PSSBoxes_SaveSize, (SaveEntryInitFunc)PSSBoxes_Init },
};
const int gSaveTableSize = NELEMS(gSaveTableEntries);
const int gSaveTableSize = NELEMS(gSaveTable);
TVBroadcast* SaveData_TVBroadcast(SaveData *save)
{
@ -116,7 +110,7 @@ PalParkTransfer* SaveData_PalParkTransfer(SaveData *save)
return SaveData_Get(save, SAVE_TABLE_ENTRY_PAL_PARK_TRANSFER);
}
const SaveTableEntry gExtraSaveTableEntries[] = {
const SaveTableEntry gExtraSaveTable[] = {
{ EXTRA_SAVE_TABLE_ENTRY_HALL_OF_FAME, SAVE_PAGE_MAX, (SaveEntrySizeFunc)HallOfFame_SaveSize, (SaveEntryInitFunc)HallOfFame_Init },
{ EXTRA_SAVE_TABLE_ENTRY_FRONTIER, SAVE_PAGE_MAX + 3, (SaveEntrySizeFunc)Frontier_Extra_SaveSize, (SaveEntryInitFunc)Frontier_Extra_Init },
{ EXTRA_SAVE_TABLE_ENTRY_MY_RECORDINGS, SAVE_PAGE_MAX + 4, (SaveEntrySizeFunc)BattleRecording_SaveSize, (SaveEntryInitFunc)BattleRecording_Init },
@ -125,7 +119,7 @@ const SaveTableEntry gExtraSaveTableEntries[] = {
{ EXTRA_SAVE_TABLE_ENTRY_DL_RECORDINGS_2, SAVE_PAGE_MAX + 10, (SaveEntrySizeFunc)BattleRecording_SaveSize, (SaveEntryInitFunc)BattleRecording_Init },
};
const int gExtraSaveTableSize = NELEMS(gExtraSaveTableEntries);
const int gExtraSaveTableSize = NELEMS(gExtraSaveTable);
HallOfFame* SaveData_HallOfFame(SaveData *save, int heapID, int *resultCode)
{

View File

@ -9,16 +9,11 @@
#include "struct_decls/struct_020797DC_decl.h"
#include "struct_decls/struct_021C0794_decl.h"
#include "constdata/const_020E5830.h"
#include "constdata/const_020E5894.h"
#include "constdata/const_020E5834.h"
#include "constdata/const_020E582C.h"
#include "struct_defs/save_table_entry.h"
#include "struct_defs/struct_0202DF8C.h"
#include "unk_02014D38.h"
#include "savedata/save_table.h"
#include "unk_02014D38.h"
#include "unk_020244AC.h"
#include "unk_02025CB0.h"
#include "unk_02025E08.h"
@ -60,7 +55,7 @@
#include "party.h"
#include "unk_0207D3B8.h"
const SaveTableEntry gSaveTableEntries[] = {
const SaveTableEntry gSaveTable[] = {
{ SAVE_TABLE_ENTRY_SYSTEM, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)SystemData_SaveSize, (SaveEntryInitFunc)SystemData_Init },
{ SAVE_TABLE_ENTRY_PLAYER, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Player_SaveSize, (SaveEntryInitFunc)Player_Init },
{ SAVE_TABLE_ENTRY_PARTY, SAVE_BLOCK_ID_NORMAL, (SaveEntrySizeFunc)Party_SaveSize, (SaveEntryInitFunc)Party_Init },
@ -101,7 +96,7 @@ const SaveTableEntry gSaveTableEntries[] = {
{ SAVE_TABLE_ENTRY_PSS_BOXES, SAVE_BLOCK_ID_BOXES, (SaveEntrySizeFunc)PSSBoxes_SaveSize, (SaveEntryInitFunc)PSSBoxes_Init },
};
const int gSaveTableSize = NELEMS(gSaveTableEntries);
const int gSaveTableSize = NELEMS(gSaveTable);
TVBroadcast * SaveData_TVBroadcast (SaveData * param0)
{
@ -125,7 +120,7 @@ PalParkTransfer * SaveData_PalParkTransfer (SaveData * param0)
return SaveData_Get(param0, 32);
}
const SaveTableEntry gExtraSaveTableEntries[] = {
const SaveTableEntry gExtraSaveTable[] = {
{EXTRA_SAVE_TABLE_ENTRY_HALL_OF_FAME, SAVE_PAGE_MAX, (SaveEntrySizeFunc)HallOfFame_SaveSize, (SaveEntryInitFunc)HallOfFame_Init},
{EXTRA_SAVE_TABLE_ENTRY_FRONTIER, SAVE_PAGE_MAX + 3, (SaveEntrySizeFunc)Frontier_Extra_SaveSize, (SaveEntryInitFunc)Frontier_Extra_Init},
{EXTRA_SAVE_TABLE_ENTRY_MY_RECORDINGS, SAVE_PAGE_MAX + 4, (SaveEntrySizeFunc)BattleRecording_SaveSize, (SaveEntryInitFunc)BattleRecording_Init},
@ -134,7 +129,7 @@ const SaveTableEntry gExtraSaveTableEntries[] = {
{EXTRA_SAVE_TABLE_ENTRY_DL_RECORDINGS_2, SAVE_PAGE_MAX + 10, (SaveEntrySizeFunc)BattleRecording_SaveSize, (SaveEntryInitFunc)BattleRecording_Init},
};
const int gExtraSaveTableSize = NELEMS(gExtraSaveTableEntries);
const int gExtraSaveTableSize = NELEMS(gExtraSaveTable);
HallOfFame * SaveData_HallOfFame (SaveData * param0, int param1, int * param2)
{

View File

@ -5,12 +5,7 @@
#include "struct_decls/struct_0202783C_decl.h"
#include "constdata/const_020E5830.h"
#include "constdata/const_020E5894.h"
#include "constdata/const_020E5834.h"
#include "constdata/const_020E582C.h"
#include "struct_defs/save_table_entry.h"
#include "savedata/save_table.h"
#include "unk_02017728.h"
#include "heap.h"
@ -935,7 +930,7 @@ static BOOL sub_0202516C (const SaveData * param0, int param1, int param2)
int sub_020251A4 (int param0)
{
int v0;
const SaveTableEntry * v1 = gSaveTableEntries;
const SaveTableEntry * v1 = gSaveTable;
GF_ASSERT(param0 < gSaveTableSize);
v0 = v1[param0].sizeFunc();
@ -948,7 +943,7 @@ int sub_020251A4 (int param0)
static void sub_020251DC (UnkStruct_020251DC * param0)
{
const SaveTableEntry * v0 = gSaveTableEntries;
const SaveTableEntry * v0 = gSaveTable;
int v1;
int v2 = 0;
@ -1009,7 +1004,7 @@ static void sub_02025258 (UnkStruct_02025258 * param0, const UnkStruct_020251DC
static void sub_020252EC (UnkStruct_020252EC * param0, const UnkStruct_020251DC * param1)
{
const SaveTableEntry * v0 = gSaveTableEntries;
const SaveTableEntry * v0 = gSaveTable;
int v1;
int v2;
void * v3;
@ -1028,7 +1023,7 @@ static void sub_020252EC (UnkStruct_020252EC * param0, const UnkStruct_020251DC
void sub_02025340 (SaveData * param0)
{
const SaveTableEntry * v0 = gExtraSaveTableEntries;
const SaveTableEntry * v0 = gExtraSaveTable;
int v1;
int v2;
void * v3;
@ -1109,7 +1104,7 @@ int SaveDataExtra_Save (const SaveData * param0, int param1, void * param2)
sub_02017B7C(1);
GF_ASSERT(param1 < gExtraSaveTableSize);
v0 = &gExtraSaveTableEntries[param1];
v0 = &gExtraSaveTable[param1];
GF_ASSERT(v0->dataID == param1);
v1 = v0->sizeFunc() + sizeof(UnkStruct_020253B4);
@ -1154,7 +1149,7 @@ int SaveDataExtra_SaveMirror (SaveData * param0, int param1, void * param2)
sub_02017B7C(1);
GF_ASSERT(param1 < gExtraSaveTableSize);
v0 = &gExtraSaveTableEntries[param1];
v0 = &gExtraSaveTable[param1];
GF_ASSERT(v0->dataID == param1);
v1 = v0->sizeFunc() + sizeof(UnkStruct_020253B4);
@ -1197,7 +1192,7 @@ void * SaveDataExtra_Get (SaveData * param0, int param1, int param2, int * param
u32 v5, v6;
GF_ASSERT(param2 < gExtraSaveTableSize);
v0 = &gExtraSaveTableEntries[param2];
v0 = &gExtraSaveTable[param2];
GF_ASSERT(v0->dataID == param2);
v2 = v0->sizeFunc() + sizeof(UnkStruct_020253B4);
@ -1265,7 +1260,7 @@ void * SaveDataExtra_Mirror (SaveData * param0, int param1, int param2, int * pa
GF_ASSERT(param2 < gExtraSaveTableSize);
GF_ASSERT(param2 != 0);
v0 = &gExtraSaveTableEntries[param2];
v0 = &gExtraSaveTable[param2];
GF_ASSERT(v0->dataID == param2);
v2 = v0->sizeFunc() + sizeof(UnkStruct_020253B4);