through sub_805D1A8
This commit is contained in:
+1
-1
@@ -729,7 +729,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8
|
||||
beq _080BD5F8
|
||||
movs r0, 0x1
|
||||
bl SetPlayerAvatarTransitionFlags
|
||||
bl sav1_reset_battle_music_maybe
|
||||
bl Overworld_ClearSavedMusic
|
||||
bl Overworld_PlaySpecialMapMusic
|
||||
b _080BD618
|
||||
.align 2, 0
|
||||
|
||||
+3
-877
@@ -5,882 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_805CB04
|
||||
sub_805CB04: @ 805CB04
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldr r6, _0805CB64 @ =gObjectEvents
|
||||
ldr r5, _0805CB68 @ =gPlayerAvatar
|
||||
ldrb r0, [r5, 0x5]
|
||||
lsls r1, r0, 3
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r6
|
||||
movs r0, 0x1
|
||||
ands r4, r0
|
||||
lsls r3, r4, 5
|
||||
ldrb r2, [r1, 0x1]
|
||||
movs r0, 0x21
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
orrs r0, r3
|
||||
strb r0, [r1, 0x1]
|
||||
movs r0, 0x8
|
||||
bl TestPlayerAvatarFlags
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805CB5C
|
||||
ldr r2, _0805CB6C @ =gSprites
|
||||
ldrb r1, [r5, 0x5]
|
||||
lsls r0, r1, 3
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r6
|
||||
ldrb r0, [r0, 0x1A]
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r2
|
||||
adds r1, 0x3E
|
||||
lsls r3, r4, 2
|
||||
ldrb r2, [r1]
|
||||
movs r0, 0x5
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
orrs r0, r3
|
||||
strb r0, [r1]
|
||||
_0805CB5C:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CB64: .4byte gObjectEvents
|
||||
_0805CB68: .4byte gPlayerAvatar
|
||||
_0805CB6C: .4byte gSprites
|
||||
thumb_func_end sub_805CB04
|
||||
|
||||
thumb_func_start sub_805CB70
|
||||
sub_805CB70: @ 805CB70
|
||||
push {r4,r5,lr}
|
||||
ldr r5, _0805CBAC @ =gPlayerAvatar
|
||||
ldrb r0, [r5, 0x5]
|
||||
lsls r4, r0, 3
|
||||
adds r4, r0
|
||||
lsls r4, 2
|
||||
ldr r0, _0805CBB0 @ =gObjectEvents
|
||||
adds r4, r0
|
||||
movs r0, 0x3
|
||||
bl GetPlayerAvatarGraphicsIdByStateId
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventSetGraphicsId
|
||||
ldrb r1, [r5, 0x4]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, _0805CBB4 @ =gSprites
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
bl StartSpriteAnim
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CBAC: .4byte gPlayerAvatar
|
||||
_0805CBB0: .4byte gObjectEvents
|
||||
_0805CBB4: .4byte gSprites
|
||||
thumb_func_end sub_805CB70
|
||||
|
||||
thumb_func_start sub_805CBB8
|
||||
sub_805CBB8: @ 805CBB8
|
||||
push {lr}
|
||||
ldr r2, _0805CBD4 @ =gPlayerAvatar
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0x6
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _0805CBD8
|
||||
movs r0, 0x5
|
||||
bl GetPlayerAvatarGraphicsIdByStateId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
b _0805CBE0
|
||||
.align 2, 0
|
||||
_0805CBD4: .4byte gPlayerAvatar
|
||||
_0805CBD8:
|
||||
ldr r0, _0805CBE4 @ =gUnknown_835B88E
|
||||
ldrb r1, [r2, 0x7]
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
_0805CBE0:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805CBE4: .4byte gUnknown_835B88E
|
||||
thumb_func_end sub_805CBB8
|
||||
|
||||
thumb_func_start sub_805CBE8
|
||||
sub_805CBE8: @ 805CBE8
|
||||
push {r4,r5,lr}
|
||||
ldr r5, _0805CC20 @ =gPlayerAvatar
|
||||
ldrb r0, [r5, 0x5]
|
||||
lsls r4, r0, 3
|
||||
adds r4, r0
|
||||
lsls r4, 2
|
||||
ldr r0, _0805CC24 @ =gObjectEvents
|
||||
adds r4, r0
|
||||
bl sub_805CBB8
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventSetGraphicsId
|
||||
ldrb r1, [r5, 0x4]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, _0805CC28 @ =gSprites
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
bl StartSpriteAnim
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CC20: .4byte gPlayerAvatar
|
||||
_0805CC24: .4byte gObjectEvents
|
||||
_0805CC28: .4byte gSprites
|
||||
thumb_func_end sub_805CBE8
|
||||
|
||||
thumb_func_start sub_805CC2C
|
||||
sub_805CC2C: @ 805CC2C
|
||||
push {lr}
|
||||
movs r0, 0x2
|
||||
bl sub_8150498
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_805CC2C
|
||||
|
||||
thumb_func_start nullsub_24
|
||||
nullsub_24: @ 805CC38
|
||||
bx lr
|
||||
thumb_func_end nullsub_24
|
||||
|
||||
thumb_func_start nullsub_25
|
||||
nullsub_25: @ 805CC3C
|
||||
bx lr
|
||||
thumb_func_end nullsub_25
|
||||
|
||||
thumb_func_start sub_805CC40
|
||||
sub_805CC40: @ 805CC40
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0x4
|
||||
adds r5, r0, 0
|
||||
ldrb r0, [r5, 0x1E]
|
||||
mov r8, r0
|
||||
movs r1, 0
|
||||
mov r0, sp
|
||||
strh r1, [r0]
|
||||
movs r6, 0x1
|
||||
ldr r1, _0805CCA4 @ =gUnknown_835B890
|
||||
mov r9, r1
|
||||
mov r4, sp
|
||||
mov r7, sp
|
||||
adds r7, 0x2
|
||||
_0805CC62:
|
||||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
lsls r0, 2
|
||||
add r0, r9
|
||||
ldr r1, [r0]
|
||||
mov r0, r8
|
||||
bl _call_via_r1
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805CCA8
|
||||
ldrb r0, [r5, 0x18]
|
||||
lsrs r0, 4
|
||||
cmp r6, r0
|
||||
bne _0805CCA8
|
||||
ldrh r0, [r5, 0x10]
|
||||
strh r0, [r4]
|
||||
ldrh r0, [r5, 0x12]
|
||||
strh r0, [r7]
|
||||
adds r0, r6, 0
|
||||
mov r1, sp
|
||||
adds r2, r7, 0
|
||||
bl MoveCoords
|
||||
ldrb r0, [r5, 0x1B]
|
||||
movs r1, 0
|
||||
ldrsh r2, [r4, r1]
|
||||
movs r1, 0
|
||||
ldrsh r3, [r7, r1]
|
||||
adds r1, r6, 0
|
||||
bl ShowWarpArrowSprite
|
||||
b _0805CCC2
|
||||
.align 2, 0
|
||||
_0805CCA4: .4byte gUnknown_835B890
|
||||
_0805CCA8:
|
||||
ldrh r1, [r4]
|
||||
adds r1, 0x1
|
||||
strh r1, [r4]
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
cmp r1, 0x3
|
||||
ble _0805CC62
|
||||
ldrb r0, [r5, 0x1B]
|
||||
bl SetSpriteInvisible
|
||||
_0805CCC2:
|
||||
add sp, 0x4
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_805CC40
|
||||
|
||||
thumb_func_start StartStrengthAnim
|
||||
StartStrengthAnim: @ 805CCD0
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
ldr r6, _0805CD04 @ =taskFF_bump_boulder
|
||||
adds r0, r6, 0
|
||||
movs r1, 0xFF
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _0805CD08 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
strh r4, [r1, 0xA]
|
||||
strh r5, [r1, 0xC]
|
||||
bl _call_via_r6
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CD04: .4byte taskFF_bump_boulder
|
||||
_0805CD08: .4byte gTasks
|
||||
thumb_func_end StartStrengthAnim
|
||||
|
||||
thumb_func_start taskFF_bump_boulder
|
||||
taskFF_bump_boulder: @ 805CD0C
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r6, _0805CD54 @ =gUnknown_835B8A0
|
||||
ldr r2, _0805CD58 @ =gTasks
|
||||
ldr r5, _0805CD5C @ =gObjectEvents
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r4, r1, r2
|
||||
_0805CD20:
|
||||
movs r0, 0x8
|
||||
ldrsh r3, [r4, r0]
|
||||
lsls r3, 2
|
||||
adds r3, r6
|
||||
ldr r0, _0805CD60 @ =gPlayerAvatar
|
||||
ldrb r0, [r0, 0x5]
|
||||
lsls r1, r0, 3
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r5
|
||||
movs r2, 0xA
|
||||
ldrsh r0, [r4, r2]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 2
|
||||
adds r2, r5
|
||||
ldr r3, [r3]
|
||||
adds r0, r4, 0
|
||||
bl _call_via_r3
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0805CD20
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CD54: .4byte gUnknown_835B8A0
|
||||
_0805CD58: .4byte gTasks
|
||||
_0805CD5C: .4byte gObjectEvents
|
||||
_0805CD60: .4byte gPlayerAvatar
|
||||
thumb_func_end taskFF_bump_boulder
|
||||
|
||||
thumb_func_start sub_805CD64
|
||||
sub_805CD64: @ 805CD64
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl ScriptContext2_Enable
|
||||
ldr r1, _0805CD80 @ =gPlayerAvatar
|
||||
movs r0, 0x1
|
||||
strb r0, [r1, 0x6]
|
||||
ldrh r0, [r4, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805CD80: .4byte gPlayerAvatar
|
||||
thumb_func_end sub_805CD64
|
||||
|
||||
thumb_func_start sub_805CD84
|
||||
sub_805CD84: @ 805CD84
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
adds r5, r1, 0
|
||||
adds r4, r2, 0
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventIsMovementOverridden
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0805CE0E
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventIsMovementOverridden
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0805CE0E
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
ldrb r0, [r6, 0xC]
|
||||
bl GetWalkInPlaceNormalMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r5, 0
|
||||
bl sub_805C06C
|
||||
ldrb r0, [r6, 0xC]
|
||||
bl sub_8063F2C
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_805C0A4
|
||||
ldr r2, _0805CE18 @ =gFieldEffectArguments
|
||||
movs r1, 0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
str r0, [r2]
|
||||
movs r1, 0x12
|
||||
ldrsh r0, [r4, r1]
|
||||
str r0, [r2, 0x4]
|
||||
ldrb r0, [r4, 0xB]
|
||||
lsrs r0, 4
|
||||
str r0, [r2, 0x8]
|
||||
ldr r3, _0805CE1C @ =gSprites
|
||||
ldrb r1, [r4, 0x4]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r3
|
||||
ldrb r0, [r0, 0x5]
|
||||
lsls r0, 28
|
||||
lsrs r0, 30
|
||||
str r0, [r2, 0xC]
|
||||
movs r0, 0xA
|
||||
bl FieldEffectStart
|
||||
movs r0, 0xCF
|
||||
bl PlaySE
|
||||
ldrh r0, [r6, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r6, 0x8]
|
||||
_0805CE0E:
|
||||
movs r0, 0
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805CE18: .4byte gFieldEffectArguments
|
||||
_0805CE1C: .4byte gSprites
|
||||
thumb_func_end sub_805CD84
|
||||
|
||||
thumb_func_start sub_805CE20
|
||||
sub_805CE20: @ 805CE20
|
||||
push {r4,r5,lr}
|
||||
adds r5, r1, 0
|
||||
adds r4, r2, 0
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventCheckHeldMovementStatus
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805CE70
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventCheckHeldMovementStatus
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805CE70
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
adds r0, r4, 0
|
||||
bl sub_806DE28
|
||||
ldrh r0, [r4, 0x10]
|
||||
ldrh r1, [r4, 0x12]
|
||||
bl sub_806DE70
|
||||
ldr r1, _0805CE78 @ =gPlayerAvatar
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0x6]
|
||||
bl ScriptContext2_Disable
|
||||
ldr r0, _0805CE7C @ =taskFF_bump_boulder
|
||||
bl FindTaskIdByFunc
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl DestroyTask
|
||||
_0805CE70:
|
||||
movs r0, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805CE78: .4byte gPlayerAvatar
|
||||
_0805CE7C: .4byte taskFF_bump_boulder
|
||||
thumb_func_end sub_805CE20
|
||||
|
||||
thumb_func_start DoPlayerMatJump
|
||||
DoPlayerMatJump: @ 805CE80
|
||||
push {r4,lr}
|
||||
ldr r4, _0805CE9C @ =sub_805CEA0
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xFF
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl _call_via_r4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CE9C: .4byte sub_805CEA0
|
||||
thumb_func_end DoPlayerMatJump
|
||||
|
||||
thumb_func_start sub_805CEA0
|
||||
sub_805CEA0: @ 805CEA0
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r5, _0805CEDC @ =gUnknown_835B8AC
|
||||
ldr r2, _0805CEE0 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r4, r1, r2
|
||||
_0805CEB2:
|
||||
movs r0, 0x8
|
||||
ldrsh r2, [r4, r0]
|
||||
lsls r2, 2
|
||||
adds r2, r5
|
||||
ldr r0, _0805CEE4 @ =gPlayerAvatar
|
||||
ldrb r0, [r0, 0x5]
|
||||
lsls r1, r0, 3
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
ldr r0, _0805CEE8 @ =gObjectEvents
|
||||
adds r1, r0
|
||||
ldr r2, [r2]
|
||||
adds r0, r4, 0
|
||||
bl _call_via_r2
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0805CEB2
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CEDC: .4byte gUnknown_835B8AC
|
||||
_0805CEE0: .4byte gTasks
|
||||
_0805CEE4: .4byte gPlayerAvatar
|
||||
_0805CEE8: .4byte gObjectEvents
|
||||
thumb_func_end sub_805CEA0
|
||||
|
||||
thumb_func_start PlayerAvatar_DoSecretBaseMatJump
|
||||
PlayerAvatar_DoSecretBaseMatJump: @ 805CEEC
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
adds r4, r1, 0
|
||||
ldr r5, _0805CF50 @ =gPlayerAvatar
|
||||
movs r0, 0x1
|
||||
strb r0, [r5, 0x6]
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805CF48
|
||||
movs r0, 0xA
|
||||
bl PlaySE
|
||||
ldrb r0, [r4, 0x18]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl GetJumpInPlaceMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_805C06C
|
||||
ldrh r0, [r6, 0xA]
|
||||
adds r0, 0x1
|
||||
strh r0, [r6, 0xA]
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0x1
|
||||
ble _0805CF48
|
||||
movs r0, 0
|
||||
strb r0, [r5, 0x6]
|
||||
ldrb r0, [r5, 0x1]
|
||||
movs r1, 0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r5, 0x1]
|
||||
ldr r0, _0805CF54 @ =sub_805CEA0
|
||||
bl FindTaskIdByFunc
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl DestroyTask
|
||||
_0805CF48:
|
||||
movs r0, 0
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805CF50: .4byte gPlayerAvatar
|
||||
_0805CF54: .4byte sub_805CEA0
|
||||
thumb_func_end PlayerAvatar_DoSecretBaseMatJump
|
||||
|
||||
thumb_func_start DoPlayerMatSpin
|
||||
DoPlayerMatSpin: @ 805CF58
|
||||
push {r4,lr}
|
||||
ldr r4, _0805CF74 @ =sub_805CF78
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xFF
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl _call_via_r4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CF74: .4byte sub_805CF78
|
||||
thumb_func_end DoPlayerMatSpin
|
||||
|
||||
thumb_func_start sub_805CF78
|
||||
sub_805CF78: @ 805CF78
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r5, _0805CFB4 @ =gUnknown_835B8B0
|
||||
ldr r2, _0805CFB8 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r4, r1, r2
|
||||
_0805CF8A:
|
||||
movs r0, 0x8
|
||||
ldrsh r2, [r4, r0]
|
||||
lsls r2, 2
|
||||
adds r2, r5
|
||||
ldr r0, _0805CFBC @ =gPlayerAvatar
|
||||
ldrb r0, [r0, 0x5]
|
||||
lsls r1, r0, 3
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
ldr r0, _0805CFC0 @ =gObjectEvents
|
||||
adds r1, r0
|
||||
ldr r2, [r2]
|
||||
adds r0, r4, 0
|
||||
bl _call_via_r2
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0805CF8A
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805CFB4: .4byte gUnknown_835B8B0
|
||||
_0805CFB8: .4byte gTasks
|
||||
_0805CFBC: .4byte gPlayerAvatar
|
||||
_0805CFC0: .4byte gObjectEvents
|
||||
thumb_func_end sub_805CF78
|
||||
|
||||
thumb_func_start sub_805CFC4
|
||||
sub_805CFC4: @ 805CFC4
|
||||
push {lr}
|
||||
ldrh r2, [r0, 0x8]
|
||||
adds r2, 0x1
|
||||
strh r2, [r0, 0x8]
|
||||
ldrb r1, [r1, 0x18]
|
||||
lsrs r1, 4
|
||||
strh r1, [r0, 0xA]
|
||||
ldr r1, _0805CFE8 @ =gPlayerAvatar
|
||||
movs r0, 0x1
|
||||
strb r0, [r1, 0x6]
|
||||
bl ScriptContext2_Enable
|
||||
movs r0, 0x27
|
||||
bl PlaySE
|
||||
movs r0, 0x1
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805CFE8: .4byte gPlayerAvatar
|
||||
thumb_func_end sub_805CFC4
|
||||
|
||||
thumb_func_start sub_805CFEC
|
||||
sub_805CFEC: @ 805CFEC
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
ldr r1, _0805D060 @ =gUnknown_835B8C0
|
||||
mov r0, sp
|
||||
movs r2, 0x4
|
||||
bl memcpy
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805D054
|
||||
ldrb r0, [r5, 0x18]
|
||||
lsrs r0, 4
|
||||
subs r0, 0x1
|
||||
add r0, sp
|
||||
ldrb r6, [r0]
|
||||
adds r0, r6, 0
|
||||
bl GetFaceDirectionMovementAction
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r5, 0
|
||||
bl sub_805C06C
|
||||
ldrb r0, [r4, 0xA]
|
||||
cmp r6, r0
|
||||
bne _0805D032
|
||||
ldrh r0, [r4, 0xC]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0xC]
|
||||
_0805D032:
|
||||
ldrh r0, [r4, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x8]
|
||||
movs r1, 0xC
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0x3
|
||||
ble _0805D054
|
||||
ldrb r0, [r4, 0xA]
|
||||
bl GetOppositeDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r6, r0
|
||||
bne _0805D054
|
||||
ldrh r0, [r4, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x8]
|
||||
_0805D054:
|
||||
movs r0, 0
|
||||
add sp, 0x4
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805D060: .4byte gUnknown_835B8C0
|
||||
thumb_func_end sub_805CFEC
|
||||
|
||||
thumb_func_start sub_805D064
|
||||
sub_805D064: @ 805D064
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
ldr r1, _0805D0A0 @ =gUnknown_835B8C4
|
||||
mov r0, sp
|
||||
movs r2, 0x5
|
||||
bl memcpy
|
||||
adds r0, r4, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805D094
|
||||
movs r1, 0xC
|
||||
ldrsh r0, [r5, r1]
|
||||
add r0, sp
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, 0
|
||||
bl sub_805C06C
|
||||
movs r0, 0x1
|
||||
strh r0, [r5, 0x8]
|
||||
_0805D094:
|
||||
movs r0, 0
|
||||
add sp, 0x8
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805D0A0: .4byte gUnknown_835B8C4
|
||||
thumb_func_end sub_805D064
|
||||
|
||||
thumb_func_start sub_805D0A4
|
||||
sub_805D0A4: @ 805D0A4
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
adds r0, r5, 0
|
||||
bl ObjectEventClearHeldMovementIfFinished
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805D0E8
|
||||
ldrb r0, [r4, 0xA]
|
||||
bl GetOppositeDirection
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8063F2C
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r5, 0
|
||||
bl sub_805C06C
|
||||
bl ScriptContext2_Disable
|
||||
ldr r1, _0805D0F0 @ =gPlayerAvatar
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0x6]
|
||||
ldr r0, _0805D0F4 @ =sub_805CF78
|
||||
bl FindTaskIdByFunc
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl DestroyTask
|
||||
_0805D0E8:
|
||||
movs r0, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805D0F0: .4byte gPlayerAvatar
|
||||
_0805D0F4: .4byte sub_805CF78
|
||||
thumb_func_end sub_805D0A4
|
||||
|
||||
thumb_func_start CreateStopSurfingTask
|
||||
CreateStopSurfingTask: @ 805D0F8
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl ScriptContext2_Enable
|
||||
bl FreezeObjectEvents
|
||||
bl sav1_reset_battle_music_maybe
|
||||
bl Overworld_ChangeMusicToDefault
|
||||
ldr r2, _0805D148 @ =gPlayerAvatar
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0xF7
|
||||
ands r0, r1
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r0, 0x1
|
||||
strb r0, [r2, 0x6]
|
||||
ldr r5, _0805D14C @ =taskFF_0805D1D4
|
||||
adds r0, r5, 0
|
||||
movs r1, 0xFF
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _0805D150 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
strh r4, [r1, 0x8]
|
||||
bl _call_via_r5
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805D148: .4byte gPlayerAvatar
|
||||
_0805D14C: .4byte taskFF_0805D1D4
|
||||
_0805D150: .4byte gTasks
|
||||
thumb_func_end CreateStopSurfingTask
|
||||
|
||||
thumb_func_start sub_805D154
|
||||
sub_805D154: @ 805D154
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl ScriptContext2_Enable
|
||||
bl FreezeObjectEvents
|
||||
ldr r2, _0805D19C @ =gPlayerAvatar
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0xF7
|
||||
ands r0, r1
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r0, 0x1
|
||||
strb r0, [r2, 0x6]
|
||||
ldr r5, _0805D1A0 @ =taskFF_0805D1D4
|
||||
adds r0, r5, 0
|
||||
movs r1, 0xFF
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _0805D1A4 @ =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
strh r4, [r1, 0x8]
|
||||
bl _call_via_r5
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805D19C: .4byte gPlayerAvatar
|
||||
_0805D1A0: .4byte taskFF_0805D1D4
|
||||
_0805D1A4: .4byte gTasks
|
||||
thumb_func_end sub_805D154
|
||||
|
||||
thumb_func_start sub_805D1A8
|
||||
sub_805D1A8: @ 805D1A8
|
||||
push {lr}
|
||||
ldr r0, _0805D1CC @ =gUnknown_3005E88
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _0805D1C6
|
||||
cmp r0, 0x3
|
||||
beq _0805D1C6
|
||||
ldr r0, _0805D1D0 @ =gUnknown_835B820
|
||||
ldrb r0, [r0, 0x2]
|
||||
movs r1, 0x10
|
||||
bl sub_811278C
|
||||
movs r0, 0x2
|
||||
bl CreateStopSurfingTask
|
||||
_0805D1C6:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805D1CC: .4byte gUnknown_3005E88
|
||||
_0805D1D0: .4byte gUnknown_835B820
|
||||
thumb_func_end sub_805D1A8
|
||||
|
||||
thumb_func_start taskFF_0805D1D4
|
||||
taskFF_0805D1D4: @ 805D1D4
|
||||
thumb_func_start Task_StopSurfingInit
|
||||
Task_StopSurfingInit: @ 805D1D4
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
@@ -928,7 +54,7 @@ _0805D230: .4byte gPlayerAvatar
|
||||
_0805D234: .4byte gObjectEvents
|
||||
_0805D238: .4byte gTasks
|
||||
_0805D23C: .4byte sub_805D240
|
||||
thumb_func_end taskFF_0805D1D4
|
||||
thumb_func_end Task_StopSurfingInit
|
||||
|
||||
thumb_func_start sub_805D240
|
||||
sub_805D240: @ 805D240
|
||||
|
||||
+5
-5
@@ -1715,7 +1715,7 @@ sub_8055864: @ 8055864
|
||||
bl SetSav1WeatherFromCurrMapHeader
|
||||
bl sub_805610C
|
||||
bl sub_8055CB8
|
||||
bl sav1_reset_battle_music_maybe
|
||||
bl Overworld_ClearSavedMusic
|
||||
bl mapheader_run_script_with_tag_x3
|
||||
bl TryRegenerateRenewableHiddenItems
|
||||
bl InitMap
|
||||
@@ -1792,7 +1792,7 @@ sub_8055920: @ 8055920
|
||||
bl FlagClear
|
||||
_08055974:
|
||||
bl sub_8055CB8
|
||||
bl sav1_reset_battle_music_maybe
|
||||
bl Overworld_ClearSavedMusic
|
||||
bl mapheader_run_script_with_tag_x3
|
||||
bl TryRegenerateRenewableHiddenItems
|
||||
bl UpdateLocationHistoryForRoamer
|
||||
@@ -2474,8 +2474,8 @@ Overworld_SetSavedMusic: @ 8055E78
|
||||
_08055E80: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end Overworld_SetSavedMusic
|
||||
|
||||
thumb_func_start sav1_reset_battle_music_maybe
|
||||
sav1_reset_battle_music_maybe: @ 8055E84
|
||||
thumb_func_start Overworld_ClearSavedMusic
|
||||
Overworld_ClearSavedMusic: @ 8055E84
|
||||
ldr r0, _08055E90 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
@@ -2483,7 +2483,7 @@ sav1_reset_battle_music_maybe: @ 8055E84
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08055E90: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sav1_reset_battle_music_maybe
|
||||
thumb_func_end Overworld_ClearSavedMusic
|
||||
|
||||
thumb_func_start sub_8055E94
|
||||
sub_8055E94: @ 8055E94
|
||||
|
||||
Reference in New Issue
Block a user