through sub_8054F38

This commit is contained in:
PikalaxALT
2020-03-26 19:59:05 -04:00
parent 84a69bf140
commit 012f8ed12f
3 changed files with 123 additions and 288 deletions
+3 -283
View File
@@ -5,286 +5,6 @@
.text
thumb_func_start Overworld_ResetStateAfterTeleport
Overworld_ResetStateAfterTeleport: @ 8054D08
push {lr}
bl ResetInitialPlayerAvatarState
movs r0, 0x83
lsls r0, 4
bl FlagClear
ldr r0, _08054D54 @ =0x0000405e
movs r1, 0
bl VarSet
ldr r0, _08054D58 @ =0x00000802
bl FlagClear
movs r0, 0x80
lsls r0, 4
bl FlagClear
ldr r0, _08054D5C @ =0x0000406e
movs r1, 0
bl VarSet
ldr r0, _08054D60 @ =0x00000805
bl FlagClear
ldr r0, _08054D64 @ =0x00000806
bl FlagClear
ldr r0, _08054D68 @ =0x00000808
bl FlagClear
ldr r0, _08054D6C @ =0x0000404d
movs r1, 0
bl VarSet
pop {r0}
bx r0
.align 2, 0
_08054D54: .4byte 0x0000405e
_08054D58: .4byte 0x00000802
_08054D5C: .4byte 0x0000406e
_08054D60: .4byte 0x00000805
_08054D64: .4byte 0x00000806
_08054D68: .4byte 0x00000808
_08054D6C: .4byte 0x0000404d
thumb_func_end Overworld_ResetStateAfterTeleport
thumb_func_start Overworld_ResetStateAfterDigEscRope
Overworld_ResetStateAfterDigEscRope: @ 8054D70
push {lr}
bl ResetInitialPlayerAvatarState
movs r0, 0x83
lsls r0, 4
bl FlagClear
ldr r0, _08054DBC @ =0x0000405e
movs r1, 0
bl VarSet
ldr r0, _08054DC0 @ =0x00000802
bl FlagClear
movs r0, 0x80
lsls r0, 4
bl FlagClear
ldr r0, _08054DC4 @ =0x0000406e
movs r1, 0
bl VarSet
ldr r0, _08054DC8 @ =0x00000805
bl FlagClear
ldr r0, _08054DCC @ =0x00000806
bl FlagClear
ldr r0, _08054DD0 @ =0x00000808
bl FlagClear
ldr r0, _08054DD4 @ =0x0000404d
movs r1, 0
bl VarSet
pop {r0}
bx r0
.align 2, 0
_08054DBC: .4byte 0x0000405e
_08054DC0: .4byte 0x00000802
_08054DC4: .4byte 0x0000406e
_08054DC8: .4byte 0x00000805
_08054DCC: .4byte 0x00000806
_08054DD0: .4byte 0x00000808
_08054DD4: .4byte 0x0000404d
thumb_func_end Overworld_ResetStateAfterDigEscRope
thumb_func_start sub_8054DD8
sub_8054DD8: @ 8054DD8
push {lr}
bl ResetInitialPlayerAvatarState
movs r0, 0x83
lsls r0, 4
bl FlagClear
ldr r0, _08054E24 @ =0x0000405e
movs r1, 0
bl VarSet
ldr r0, _08054E28 @ =0x00000802
bl FlagClear
movs r0, 0x80
lsls r0, 4
bl FlagClear
ldr r0, _08054E2C @ =0x0000406e
movs r1, 0
bl VarSet
ldr r0, _08054E30 @ =0x00000805
bl FlagClear
ldr r0, _08054E34 @ =0x00000806
bl FlagClear
ldr r0, _08054E38 @ =0x00000808
bl FlagClear
ldr r0, _08054E3C @ =0x0000404d
movs r1, 0
bl VarSet
pop {r0}
bx r0
.align 2, 0
_08054E24: .4byte 0x0000405e
_08054E28: .4byte 0x00000802
_08054E2C: .4byte 0x0000406e
_08054E30: .4byte 0x00000805
_08054E34: .4byte 0x00000806
_08054E38: .4byte 0x00000808
_08054E3C: .4byte 0x0000404d
thumb_func_end sub_8054DD8
thumb_func_start sub_8054E40
sub_8054E40: @ 8054E40
push {lr}
movs r0, 0x80
lsls r0, 4
bl FlagClear
ldr r0, _08054E64 @ =0x0000406e
movs r1, 0
bl VarSet
bl sub_805610C
bl UpdateLocationHistoryForRoamer
bl RoamerMoveToOtherLocationSet
pop {r0}
bx r0
.align 2, 0
_08054E64: .4byte 0x0000406e
thumb_func_end sub_8054E40
thumb_func_start ResetGameStats
ResetGameStats: @ 8054E68
push {r4,r5,lr}
movs r2, 0
ldr r5, _08054E8C @ =gSaveBlock1Ptr
movs r4, 0x90
lsls r4, 5
movs r3, 0
_08054E74:
ldr r0, [r5]
lsls r1, r2, 2
adds r0, r4
adds r0, r1
str r3, [r0]
adds r2, 0x1
cmp r2, 0x3F
ble _08054E74
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08054E8C: .4byte gSaveBlock1Ptr
thumb_func_end ResetGameStats
thumb_func_start IncrementGameStat
IncrementGameStat: @ 8054E90
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x33
bhi _08054EB8
adds r0, r4, 0
bl GetGameStat
adds r1, r0, 0
ldr r0, _08054EAC @ =0x00fffffe
cmp r1, r0
bhi _08054EB0
adds r1, 0x1
b _08054EB2
.align 2, 0
_08054EAC: .4byte 0x00fffffe
_08054EB0:
ldr r1, _08054EC0 @ =0x00ffffff
_08054EB2:
adds r0, r4, 0
bl SetGameStat
_08054EB8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08054EC0: .4byte 0x00ffffff
thumb_func_end IncrementGameStat
thumb_func_start GetGameStat
GetGameStat: @ 8054EC4
push {lr}
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x33
bhi _08054EF8
ldr r0, _08054EF0 @ =gSaveBlock1Ptr
ldr r2, [r0]
lsls r0, r1, 2
movs r1, 0x90
lsls r1, 5
adds r2, r1
adds r2, r0
ldr r0, _08054EF4 @ =gSaveBlock2Ptr
ldr r1, [r0]
movs r0, 0xF2
lsls r0, 4
adds r1, r0
ldr r0, [r2]
ldr r1, [r1]
eors r0, r1
b _08054EFA
.align 2, 0
_08054EF0: .4byte gSaveBlock1Ptr
_08054EF4: .4byte gSaveBlock2Ptr
_08054EF8:
movs r0, 0
_08054EFA:
pop {r1}
bx r1
thumb_func_end GetGameStat
thumb_func_start SetGameStat
SetGameStat: @ 8054F00
push {lr}
adds r3, r1, 0
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x33
bhi _08054F2A
ldr r0, _08054F30 @ =gSaveBlock1Ptr
ldr r1, [r0]
lsls r0, r2, 2
movs r2, 0x90
lsls r2, 5
adds r1, r2
adds r1, r0
ldr r0, _08054F34 @ =gSaveBlock2Ptr
ldr r0, [r0]
movs r2, 0xF2
lsls r2, 4
adds r0, r2
ldr r0, [r0]
eors r0, r3
str r0, [r1]
_08054F2A:
pop {r0}
bx r0
.align 2, 0
_08054F30: .4byte gSaveBlock1Ptr
_08054F34: .4byte gSaveBlock2Ptr
thumb_func_end SetGameStat
thumb_func_start sub_8054F38
sub_8054F38: @ 8054F38
push {r4-r6,lr}
adds r5, r0, 0
movs r4, 0
ldr r6, _08054F64 @ =gSaveBlock1Ptr
_08054F40:
lsls r1, r4, 2
movs r0, 0x90
lsls r0, 5
adds r1, r0
ldr r0, [r6]
adds r0, r1
adds r1, r5, 0
bl ApplyNewEncryptionKeyToWord
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3F
bls _08054F40
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08054F64: .4byte gSaveBlock1Ptr
thumb_func_end sub_8054F38
thumb_func_start sub_8054F68
sub_8054F68: @ 8054F68
push {r4-r7,lr}
@@ -1025,8 +745,8 @@ _080554B4: .4byte gUnknown_2031DBC
_080554B8: .4byte gSaveBlock1Ptr
thumb_func_end copy_saved_warp3_bank_and_enter_x_to_warp1
thumb_func_start sub_80554BC
sub_80554BC: @ 80554BC
thumb_func_start Overworld_SetWhiteoutRespawnPoint
Overworld_SetWhiteoutRespawnPoint: @ 80554BC
push {lr}
ldr r0, _080554C8 @ =gUnknown_2031DBC
bl SetWhiteoutRespawnWarpAndHealerNpc
@@ -1034,7 +754,7 @@ sub_80554BC: @ 80554BC
bx r0
.align 2, 0
_080554C8: .4byte gUnknown_2031DBC
thumb_func_end sub_80554BC
thumb_func_end Overworld_SetWhiteoutRespawnPoint
thumb_func_start SetLastHealLocationWarp
SetLastHealLocationWarp: @ 80554CC