From be2010e0db8ca527693d40a6f1410000033f7e7f Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 28 Jun 2019 04:30:45 +0800 Subject: finished reset_save_heap --- src/quest_log.c | 2 +- src/reset_save_heap.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 src/reset_save_heap.c (limited to 'src') diff --git a/src/quest_log.c b/src/quest_log.c index 07d44388d..3fd9d53de 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -859,7 +859,7 @@ void sub_8110F14(u8 taskId) } else { - SetMainCallback2(sub_8056938); + SetMainCallback2(CB2_ContinueSavedGame); DestroyTask(taskId); } } diff --git a/src/reset_save_heap.c b/src/reset_save_heap.c new file mode 100644 index 000000000..4347eb756 --- /dev/null +++ b/src/reset_save_heap.c @@ -0,0 +1,30 @@ +#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; + + imeBackup = REG_IME; + REG_IME = 0; + RegisterRamReset(0x00000001); + 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); +} -- cgit v1.2.3