summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-11-04 17:12:02 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2019-11-04 17:12:02 -0500
commit2fa08605b8cf4f8f2cca6ecad046587275737b20 (patch)
tree913a034293f828caa2544cec5def0054c4a0e7f3
parent57b328ad409349510691952805eb058965d3d321 (diff)
Propagate save status, type, and sector defines
-rw-r--r--include/reset_save_heap.h2
-rw-r--r--include/save.h7
-rw-r--r--src/cereader_tool.c8
-rw-r--r--src/hall_of_fame.c6
-rw-r--r--src/intro.c2
-rw-r--r--src/link.c4
-rw-r--r--src/mystery_gift_menu.c2
-rw-r--r--src/quest_log.c2
-rw-r--r--src/reset_save_heap.c6
-rw-r--r--src/save.c30
-rw-r--r--src/title_screen.c2
11 files changed, 38 insertions, 33 deletions
diff --git a/include/reset_save_heap.h b/include/reset_save_heap.h
index 8cb038906..e29448815 100644
--- a/include/reset_save_heap.h
+++ b/include/reset_save_heap.h
@@ -7,7 +7,7 @@
// Exported ROM declarations
-void sub_8079B7C(void);
+void ResetSaveHeap(void);
#endif //GUARD_RESET_SAVE_HEAP_H
diff --git a/include/save.h b/include/save.h
index 5b7223e77..ed527eefd 100644
--- a/include/save.h
+++ b/include/save.h
@@ -54,6 +54,11 @@ struct SaveSectionOffsets
#define UNKNOWN_CHECK_VALUE 0x8012025
+#define SECTOR_SAVE1(n) (n)
+#define SECTOR_SAVE2(n) ((n) + NUM_SECTORS_PER_SAVE_SLOT)
+#define SECTOR_HOF(n) ((n) + 2 * NUM_SECTORS_PER_SAVE_SLOT)
+#define SECTOR_TTOWER(n) ((n) + 2 * NUM_SECTORS_PER_SAVE_SLOT + 2)
+
// SetSectorDamagedStatus states
enum
{
@@ -106,7 +111,7 @@ u8 sub_80DA40C(void);
u8 sub_80DA434(void);
u8 sub_80DA45C(void);
bool8 sub_80DA4A0(void);
-u8 Save_LoadGameData(u8 a1);
+u8 Save_LoadGameData(u8 saveType);
u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
u32 sub_8153634(u8 sector, u8* src);
void sub_8153688(u8 taskId);
diff --git a/src/cereader_tool.c b/src/cereader_tool.c
index 066702fe0..654a70b48 100644
--- a/src/cereader_tool.c
+++ b/src/cereader_tool.c
@@ -47,11 +47,11 @@ static bool32 CEReaderTool_SaveTrainerTower_r(struct EReaderTrainerHillSet * ttd
memset(buffer, 0, 0x1000);
memcpy(buffer, ttdata, SEC30_SIZE);
buffer[1] = sub_815D654();
- if (TryWriteSpecialSaveSection(30, buffer) != TRUE)
+ if (TryWriteSpecialSaveSection(SECTOR_TTOWER(0), buffer) != TRUE)
return FALSE;
memset(buffer, 0, 0x1000);
memcpy(buffer, (u8 *)ttdata + SEC30_SIZE, SEC31_SIZE);
- if (TryWriteSpecialSaveSection(31, buffer) != TRUE)
+ if (TryWriteSpecialSaveSection(SECTOR_TTOWER(1), buffer) != TRUE)
return FALSE;
return TRUE;
}
@@ -66,11 +66,11 @@ bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * ttdata)
static bool32 CEReaderTool_LoadTrainerTower_r(struct EReaderTrainerHillSet * ttdata, void * buffer)
{
- if (TryCopySpecialSaveSection(30, buffer) != 1)
+ if (TryCopySpecialSaveSection(SECTOR_TTOWER(0), buffer) != 1)
return FALSE;
memcpy(ttdata + 0x000, buffer, SEC30_SIZE);
- if (TryCopySpecialSaveSection(31, buffer) != 1)
+ if (TryCopySpecialSaveSection(SECTOR_TTOWER(1), buffer) != 1)
return FALSE;
memcpy((u8 *)ttdata + SEC30_SIZE, buffer, SEC31_SIZE);
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index 791d2dc33..bbdddf883 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -80,7 +80,7 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId);
static void Task_Hof_ExitOnKeyPressed(u8 taskId);
static void Task_Hof_HandlePaletteOnExit(u8 taskId);
static void Task_Hof_HandleExit(u8 taskId);
-static void SetCallback2AfterHallOfFameDisplay(void);
+static void SetWarpsToRollCredits(void);
static void Task_HofPC_CopySaveData(u8 taskId);
static void Task_HofPC_DrawSpritesPrintText(u8 taskId);
static void Task_HofPC_PrintMonInfo(u8 taskId);
@@ -699,11 +699,11 @@ static void Task_Hof_HandleExit(u8 taskId)
if (sHofMonPtr != NULL)
FREE_AND_SET_NULL(sHofMonPtr);
- SetCallback2AfterHallOfFameDisplay();
+ SetWarpsToRollCredits();
}
}
-static void SetCallback2AfterHallOfFameDisplay(void)
+static void SetWarpsToRollCredits(void)
{
VarSet(VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR, 1);
FlagSet(FLAG_SPECIAL_FLAG_0x4000);
diff --git a/src/intro.c b/src/intro.c
index e2432b6a2..33a03a389 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -574,7 +574,7 @@ void c2_copyright_1(void)
{
ResetMenuAndMonGlobals();
Save_ResetSaveCounters();
- Save_LoadGameData(0);
+ Save_LoadGameData(SAVE_NORMAL);
if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_INVALID)
Sav2_ClearSetDefault();
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
diff --git a/src/link.c b/src/link.c
index ac9cf9cfe..dfbc9fcb2 100644
--- a/src/link.c
+++ b/src/link.c
@@ -464,7 +464,7 @@ void LinkTestProcessKeyInput(void)
}
if (JOY_NEW(R_BUTTON))
{
- TrySavingData(1);
+ TrySavingData(SAVE_LINK);
}
if (JOY_NEW(SELECT_BUTTON))
{
@@ -1581,7 +1581,7 @@ static void CB2_PrintErrorMessage(void)
PlaySE(SE_PIN);
gWirelessCommType = 0;
sLinkErrorBuffer.unk_06 = 0;
- sub_8079B7C();
+ ResetSaveHeap();
}
}
else if (gWirelessCommType == 2)
diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c
index 55a1a7287..8384d211d 100644
--- a/src/mystery_gift_menu.c
+++ b/src/mystery_gift_menu.c
@@ -914,7 +914,7 @@ bool32 mevent_save_game(u8 * state)
(*state)++;
break;
case 1:
- TrySavingData(0);
+ TrySavingData(SAVE_NORMAL);
(*state)++;
break;
case 2:
diff --git a/src/quest_log.c b/src/quest_log.c
index 7ce3ede12..dfb3bad5b 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -1067,7 +1067,7 @@ static void QuestLog_EndPlayback(void)
{
ResetSpecialVars();
Save_ResetSaveCounters();
- Save_LoadGameData(0);
+ Save_LoadGameData(SAVE_NORMAL);
SetMainCallback2(sub_8057430);
gFieldCallback2 = sub_8111F60;
FreeAllWindowBuffers();
diff --git a/src/reset_save_heap.c b/src/reset_save_heap.c
index 428f7b88d..7b9d30c06 100644
--- a/src/reset_save_heap.c
+++ b/src/reset_save_heap.c
@@ -8,7 +8,7 @@
#include "overworld.h"
#include "malloc.h"
-void sub_8079B7C(void)
+void ResetSaveHeap(void)
{
u16 imeBackup = REG_IME;
@@ -20,8 +20,8 @@ void sub_8079B7C(void)
SetSaveBlocksPointers();
ResetMenuAndMonGlobals();
Save_ResetSaveCounters();
- Save_LoadGameData(0);
- if (gSaveFileStatus == 0 || gSaveFileStatus == 2)
+ Save_LoadGameData(SAVE_NORMAL);
+ if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_INVALID)
Sav2_ClearSetDefault();
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
InitHeap(gHeap, HEAP_SIZE);
diff --git a/src/save.c b/src/save.c
index e38e9f10f..a2d365886 100644
--- a/src/save.c
+++ b/src/save.c
@@ -719,7 +719,7 @@ bool8 sub_80DA3D8(void)
{
u8 retVal = sub_80D9AA4(0xE, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
- DoSaveFailedScreen(0);
+ DoSaveFailedScreen(SAVE_NORMAL);
if (retVal == 0xFF)
return 1;
else
@@ -730,7 +730,7 @@ u8 sub_80DA40C(void)
{
sub_80D9B04(0xE, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
- DoSaveFailedScreen(0);
+ DoSaveFailedScreen(SAVE_NORMAL);
return 0;
}
@@ -738,7 +738,7 @@ u8 sub_80DA434(void)
{
sav12_xor_get(0xE, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
- DoSaveFailedScreen(0);
+ DoSaveFailedScreen(SAVE_NORMAL);
return 0;
}
@@ -769,34 +769,34 @@ bool8 sub_80DA4A0(void)
retVal = TRUE;
}
if (gDamagedSaveSectors)
- DoSaveFailedScreen(1);
+ DoSaveFailedScreen(SAVE_LINK);
return retVal;
}
-u8 Save_LoadGameData(u8 a1)
+u8 Save_LoadGameData(u8 saveType)
{
u8 result;
if (gFlashMemoryPresent != TRUE)
{
- gSaveFileStatus = 4;
- return 0xFF;
+ gSaveFileStatus = SAVE_STATUS_NO_FLASH;
+ return SAVE_STATUS_ERROR;
}
UpdateSaveAddresses();
- switch (a1)
+ switch (saveType)
{
- case 0:
+ case SAVE_NORMAL:
default:
result = sub_80D9E14(0xFFFF, gRamSaveSectionLocations);
LoadSerializedGame();
gSaveFileStatus = result;
gGameContinueCallback = 0;
break;
- case 3:
- result = sub_80DA120(0x1C, gDecompressionBuffer, 0xF80);
- if(result == 1)
- result = sub_80DA120(0x1D, gDecompressionBuffer + 0xF80, 0xF80);
+ case SAVE_HALL_OF_FAME:
+ result = sub_80DA120(SECTOR_HOF(0), gDecompressionBuffer, 0xF80);
+ if (result == SAVE_STATUS_OK)
+ result = sub_80DA120(SECTOR_HOF(1), gDecompressionBuffer + 0xF80, 0xF80);
break;
}
@@ -809,7 +809,7 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst)
s32 size;
u8* savData;
- if (sector != 30 && sector != 31)
+ if (sector != SECTOR_TTOWER(0) && sector != SECTOR_TTOWER(1))
return 0xFF;
ReadFlash(sector, 0, (u8 *)&gSaveDataBuffer, sizeof(struct SaveSection));
if (*(u32*)(&gSaveDataBuffer.data[0]) != 0xB39D)
@@ -830,7 +830,7 @@ u32 TryWriteSpecialSaveSection(u8 sector, u8* src)
u8* savData;
void* savDataBuffer;
- if (sector != 30 && sector != 31)
+ if (sector != SECTOR_TTOWER(0) && sector != SECTOR_TTOWER(1))
return 0xFF;
savDataBuffer = &gSaveDataBuffer;
diff --git a/src/title_screen.c b/src/title_screen.c
index 44bdc7c0f..2d6b6cf15 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -621,7 +621,7 @@ static void SetTitleScreenScene_Cry(s16 * data)
SetSaveBlocksPointers();
ResetMenuAndMonGlobals();
Save_ResetSaveCounters();
- Save_LoadGameData(0);
+ Save_LoadGameData(SAVE_NORMAL);
if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_INVALID)
Sav2_ClearSetDefault();
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);