summaryrefslogtreecommitdiff
path: root/src/reset_save_heap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/reset_save_heap.c')
-rw-r--r--src/reset_save_heap.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/reset_save_heap.c b/src/reset_save_heap.c
new file mode 100644
index 000000000..428f7b88d
--- /dev/null
+++ b/src/reset_save_heap.c
@@ -0,0 +1,29 @@
+#include "global.h"
+#include "main.h"
+#include "gpu_regs.h"
+#include "m4a.h"
+#include "load_save.h"
+#include "save.h"
+#include "new_game.h"
+#include "overworld.h"
+#include "malloc.h"
+
+void sub_8079B7C(void)
+{
+ u16 imeBackup = REG_IME;
+
+ REG_IME = 0;
+ RegisterRamReset(RESET_EWRAM);
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_FORCED_BLANK);
+ REG_IME = imeBackup;
+ gMain.inBattle = FALSE;
+ SetSaveBlocksPointers();
+ ResetMenuAndMonGlobals();
+ Save_ResetSaveCounters();
+ Save_LoadGameData(0);
+ if (gSaveFileStatus == 0 || gSaveFileStatus == 2)
+ Sav2_ClearSetDefault();
+ SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
+ InitHeap(gHeap, HEAP_SIZE);
+ SetMainCallback2(CB2_ContinueSavedGame);
+}