Initial AP save data

This commit is contained in:
aMannus
2025-05-23 01:21:29 +02:00
parent 1510c23684
commit cc9d15e1b7
6 changed files with 56 additions and 16 deletions

View File

@@ -69,6 +69,7 @@ typedef enum { // Pre-existing IDs for save sections in base code
SECTION_ID_ENTRANCES,
SECTION_ID_SCENES,
SECTION_ID_TRACKER_DATA,
SECTION_ID_ARCHIPELAGO,
SECTION_ID_MAX
} SaveFuncIDs;
@@ -168,9 +169,24 @@ typedef struct ShipBossRushSaveContextData {
u8 options[BR_OPTIONS_MAX];
} ShipBossRushSaveContextData;
typedef struct ArchipelagoLocationData {
char itemName[100];
char locationName[100];
char playerName[17];
u8 itemType;
} ArchipelagoLocationData;
typedef struct ShipArchipelagoSaveContextData {
char roomHash[100];
char slotName[17];
u32 lastReceivedItemIndex;
ArchipelagoLocationData locations[RC_MAX];
} ShipArchipelagoSaveContextData;
typedef union ShipQuestSpecificSaveContextData {
ShipRandomizerSaveContextData randomizer;
ShipBossRushSaveContextData bossRush;
ShipArchipelagoSaveContextData archipelago;
} ShipQuestSpecificSaveContextData;
typedef struct ShipQuestSaveContextData {
@@ -178,20 +194,6 @@ typedef struct ShipQuestSaveContextData {
ShipQuestSpecificSaveContextData data;
} ShipQuestSaveContextData;
typedef struct ArchipelagoLocationData {
char itemName[100];
char locationName[100];
char playerName[17];
u8 flags;
} ArchipelagoLocationData;
typedef struct ArchipelagoData {
char roomHash[100];
char slotName[17];
u32 lastReceivedItemIndex;
ArchipelagoLocationData locations[RC_MAX];
} ArchipelagoData;
typedef struct ShipSaveContextData {
u16 pendingSale;
u16 pendingSaleMod;
@@ -199,7 +201,6 @@ typedef struct ShipSaveContextData {
SohStats stats;
FaroresWindData backupFW;
ShipQuestSaveContextData quest;
ArchipelagoData apData;
u8 maskMemory;
u8 filenameLanguage;
//TODO: Move non-rando specific flags to a new sohInf and move the remaining randomizerInf to ShipRandomizerSaveContextData