finished reset_save_heap

This commit is contained in:
jiangzhengwenjz
2019-06-28 04:30:45 +08:00
parent 6e570a107f
commit be2010e0db
12 changed files with 55 additions and 87 deletions
-8
View File
@@ -1,8 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
.align 2, 0 @ Don't pad with nop.
+1 -1
View File
@@ -305,7 +305,7 @@ c2_copyright_1: @ 80EC820
lsls r0, 24
cmp r0, 0
bne _080EC858
bl sub_8054A28
bl ResetMenuAndMonGlobals
bl Save_ResetSaveCounters
movs r0, 0
bl Save_LoadGameData
+3 -3
View File
@@ -174,8 +174,8 @@ Sav2_ClearSetDefault: @ 8054A18
bx r0
thumb_func_end Sav2_ClearSetDefault
thumb_func_start sub_8054A28
sub_8054A28: @ 8054A28
thumb_func_start ResetMenuAndMonGlobals
ResetMenuAndMonGlobals: @ 8054A28
push {lr}
ldr r1, _08054A5C @ =gUnknown_2031DB0
movs r0, 0
@@ -195,7 +195,7 @@ sub_8054A28: @ 8054A28
bx r0
.align 2, 0
_08054A5C: .4byte gUnknown_2031DB0
thumb_func_end sub_8054A28
thumb_func_end ResetMenuAndMonGlobals
thumb_func_start sub_8054A60
sub_8054A60: @ 8054A60
+3 -3
View File
@@ -3833,8 +3833,8 @@ _0805692C:
_08056934: .4byte gMapHeader
thumb_func_end sub_8056918
thumb_func_start sub_8056938
sub_8056938: @ 8056938
thumb_func_start CB2_ContinueSavedGame
CB2_ContinueSavedGame: @ 8056938
push {lr}
bl sub_80569BC
bl StopMapMusic
@@ -3880,7 +3880,7 @@ _080569AC:
_080569B0: .4byte gFieldCallback
_080569B4: .4byte sub_8056918
_080569B8: .4byte sub_8056534
thumb_func_end sub_8056938
thumb_func_end CB2_ContinueSavedGame
thumb_func_start sub_80569BC
sub_80569BC: @ 80569BC
-68
View File
@@ -1,68 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8079B7C
sub_8079B7C: @ 8079B7C
push {r4,r5,lr}
ldr r5, _08079BEC @ =0x04000208
ldrh r4, [r5]
movs r0, 0
strh r0, [r5]
movs r0, 0x1
bl RegisterRamReset
movs r0, 0
movs r1, 0x80
bl ClearGpuRegBits
strh r4, [r5]
ldr r1, _08079BF0 @ =gMain
ldr r0, _08079BF4 @ =0x00000439
adds r1, r0
ldrb r2, [r1]
movs r0, 0x3
negs r0, r0
ands r0, r2
strb r0, [r1]
bl SetSaveBlocksPointers
bl sub_8054A28
bl Save_ResetSaveCounters
movs r0, 0
bl Save_LoadGameData
ldr r0, _08079BF8 @ =gSaveFileStatus
ldrh r0, [r0]
cmp r0, 0
beq _08079BC4
cmp r0, 0x2
bne _08079BC8
_08079BC4:
bl Sav2_ClearSetDefault
_08079BC8:
ldr r0, _08079BFC @ =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x15]
lsls r0, 31
lsrs r0, 31
bl SetPokemonCryStereo
ldr r0, _08079C00 @ =gHeap
movs r1, 0xE0
lsls r1, 9
bl InitHeap
ldr r0, _08079C04 @ =sub_8056938
bl SetMainCallback2
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08079BEC: .4byte 0x04000208
_08079BF0: .4byte gMain
_08079BF4: .4byte 0x00000439
_08079BF8: .4byte gSaveFileStatus
_08079BFC: .4byte gSaveBlock2Ptr
_08079C00: .4byte gHeap
_08079C04: .4byte sub_8056938
thumb_func_end sub_8079B7C
.align 2, 0 @ Don't pad with nop.
+1 -1
View File
@@ -1106,7 +1106,7 @@ _08079248:
bne _080792A6
bl SeedRngAndSetTrainerId
bl SetSaveBlocksPointers
bl sub_8054A28
bl ResetMenuAndMonGlobals
bl Save_ResetSaveCounters
movs r0, 0
bl Save_LoadGameData
+1
View File
@@ -14,5 +14,6 @@ void NewGameInitData(void);
void ResetMiniGamesResults(void);
void sub_808447C(void);
void Sav2_ClearSetDefault(void);
void ResetMenuAndMonGlobals(void);
#endif // GUARD_NEW_GAME_H
+1 -1
View File
@@ -81,7 +81,7 @@ void mapldr_default(void);
u32 GetGameStat(u8);
void sub_8056938(void);
void CB2_ContinueSavedGame(void);
void sub_8055D5C(struct WarpData *);
void sub_80572A8(void);
void sub_805726C(void);
+13
View File
@@ -0,0 +1,13 @@
#ifndef GUARD_RESET_SAVE_HEAP_H
#define GUARD_RESET_SAVE_HEAP_H
// Exported type declarations
// Exported RAM declarations
// Exported ROM declarations
void sub_8079B7C(void);
#endif //GUARD_RESET_SAVE_HEAP_H
+1 -1
View File
@@ -117,7 +117,7 @@ SECTIONS {
asm/reshow_battle_screen.o(.text);
asm/battle_anim_status_effects.o(.text);
asm/title_screen.o(.text);
asm/reset_save_heap.o(.text);
src/reset_save_heap.o(.text);
asm/field_weather.o(.text);
asm/field_weather_effects.o(.text);
asm/field_fadetransition.o(.text);
+1 -1
View File
@@ -859,7 +859,7 @@ void sub_8110F14(u8 taskId)
}
else
{
SetMainCallback2(sub_8056938);
SetMainCallback2(CB2_ContinueSavedGame);
DestroyTask(taskId);
}
}
+30
View File
@@ -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);
}