summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2020-03-24 20:59:37 -0400
committerPikalaxALT <PikalaxALT@gmail.com>2020-03-24 20:59:37 -0400
commit6c964a63505f6dc7527661400f6aae145c4cdf4b (patch)
tree68e02184207ab15f1d8bc011f16242bd3bf9fee7 /asm
parent8a85485cc25b9ac67c9b60697efd56c88d7b1d5f (diff)
through InitPlayerAvatar
Diffstat (limited to 'asm')
-rw-r--r--asm/field_player_avatar.s1173
-rw-r--r--asm/overworld.s2
2 files changed, 1 insertions, 1174 deletions
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index bd3cc0536..909c10647 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -5,1179 +5,6 @@
.text
- thumb_func_start PlayerJumpLedge
-PlayerJumpLedge: @ 805C23C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xA
- bl PlaySE
- adds r0, r4, 0
- bl GetJump2MovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x8
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerJumpLedge
-
- thumb_func_start sub_805C260
-sub_805C260: @ 805C260
- push {lr}
- movs r0, 0x9F
- movs r1, 0
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end sub_805C260
-
- thumb_func_start sub_805C270
-sub_805C270: @ 805C270
- push {r4,lr}
- ldr r4, _0805C2AC @ =gPlayerAvatar
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- beq _0805C27E
- cmp r0, 0
- bne _0805C2A6
-_0805C27E:
- bl player_should_look_direction_be_enforced_upon_movement
- lsls r0, 24
- cmp r0, 0
- beq _0805C2A6
- ldr r2, _0805C2B0 @ =gObjectEvents
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- bl PlayerForceSetHeldMovement
-_0805C2A6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C2AC: .4byte gPlayerAvatar
-_0805C2B0: .4byte gObjectEvents
- thumb_func_end sub_805C270
-
- thumb_func_start PlayerGoSpin
-PlayerGoSpin: @ 805C2B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80640E4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerGoSpin
-
- thumb_func_start sub_805C2CC
-sub_805C2CC: @ 805C2CC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0805C308 @ =sForcedMovementFuncs
- ldr r0, [r1]
- cmp r0, 0
- beq _0805C302
- adds r4, r1, 0
- adds r7, r4, 0
- movs r5, 0
-_0805C2E0:
- ldr r1, [r4]
- adds r0, r6, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _0805C2F8
- adds r0, r7, 0x4
- adds r0, r5, r0
- ldr r0, [r0]
- bl _call_via_r0
-_0805C2F8:
- adds r4, 0x8
- adds r5, 0x8
- ldr r0, [r4]
- cmp r0, 0
- bne _0805C2E0
-_0805C302:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C308: .4byte sForcedMovementFuncs
- thumb_func_end sub_805C2CC
-
- thumb_func_start sub_805C30C
-sub_805C30C: @ 805C30C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80642F4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end sub_805C30C
-
- thumb_func_start sub_805C324
-sub_805C324: @ 805C324
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8064320
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end sub_805C324
-
- thumb_func_start sub_805C33C
-sub_805C33C: @ 805C33C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_806434C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end sub_805C33C
-
- thumb_func_start sub_805C354
-sub_805C354: @ 805C354
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1C
- bl PlaySE
- adds r0, r4, 0
- bl sub_8064378
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C354
-
- thumb_func_start sub_805C378
-sub_805C378: @ 805C378
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1C
- bl PlaySE
- adds r0, r4, 0
- bl sub_80643A4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C378
-
- thumb_func_start sub_805C39C
-sub_805C39C: @ 805C39C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1C
- bl PlaySE
- adds r0, r4, 0
- bl sub_80643D0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x8
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C39C
-
- thumb_func_start sub_805C3C0
-sub_805C3C0: @ 805C3C0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1C
- bl PlaySE
- adds r0, r4, 0
- bl sub_8064168
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C3C0
-
- thumb_func_start sub_805C3E4
-sub_805C3E4: @ 805C3E4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- bl PlaySE
- adds r0, r4, 0
- bl sub_80643FC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C3E4
-
- thumb_func_start sub_805C408
-sub_805C408: @ 805C408
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8064428
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end sub_805C408
-
- thumb_func_start sub_805C420
-sub_805C420: @ 805C420
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8064454
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end sub_805C420
-
- thumb_func_start sub_805C438
-sub_805C438: @ 805C438
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r2, _0805C4E8 @ =gObjectEvents
- ldr r0, _0805C4EC @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r4, [r0, 0x1E]
- ldr r1, _0805C4F0 @ =gUnknown_835B864
- subs r0, r5, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0805C4DE
- cmp r5, 0x3
- bne _0805C484
- adds r0, r4, 0
- bl MetatileBehavior_IsUnknownWarp6D
- lsls r0, 24
- cmp r0, 0
- bne _0805C4DE
- adds r0, r4, 0
- bl MetatileBehavior_IsUnknownWarp6F
- lsls r0, 24
- cmp r0, 0
- bne _0805C4DE
-_0805C484:
- cmp r5, 0x4
- bne _0805C4A0
- adds r0, r4, 0
- bl MetatileBehavior_IsUnknownWarp6C
- lsls r0, 24
- cmp r0, 0
- bne _0805C4DE
- adds r0, r4, 0
- bl MetatileBehavior_IsUnknownWarp6E
- lsls r0, 24
- cmp r0, 0
- bne _0805C4DE
-_0805C4A0:
- cmp r6, 0x2
- bne _0805C4D8
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- movs r0, 0x2
- mov r1, sp
- adds r2, r4, 0
- bl MoveCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsWarpDoor
- lsls r0, 24
- cmp r0, 0
- bne _0805C4DE
-_0805C4D8:
- movs r0, 0x7
- bl PlaySE
-_0805C4DE:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C4E8: .4byte gObjectEvents
-_0805C4EC: .4byte gPlayerAvatar
-_0805C4F0: .4byte gUnknown_835B864
- thumb_func_end sub_805C438
-
- thumb_func_start GetXYCoordsOneStepInFrontOfPlayer
-GetXYCoordsOneStepInFrontOfPlayer: @ 805C4F4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r3, _0805C530 @ =gObjectEvents
- ldr r2, _0805C534 @ =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x10]
- strh r0, [r4]
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x12]
- strh r0, [r5]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl MoveCoords
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C530: .4byte gObjectEvents
-_0805C534: .4byte gPlayerAvatar
- thumb_func_end GetXYCoordsOneStepInFrontOfPlayer
-
- thumb_func_start PlayerGetDestCoords
-PlayerGetDestCoords: @ 805C538
- push {r4,r5,lr}
- ldr r5, _0805C560 @ =gObjectEvents
- ldr r4, _0805C564 @ =gPlayerAvatar
- ldrb r3, [r4, 0x5]
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x10]
- strh r2, [r0]
- ldrb r2, [r4, 0x5]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x12]
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C560: .4byte gObjectEvents
-_0805C564: .4byte gPlayerAvatar
- thumb_func_end PlayerGetDestCoords
-
- thumb_func_start player_get_pos_including_state_based_drift
-player_get_pos_including_state_based_drift: @ 805C568
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _0805C5BC @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805C5C0 @ =gObjectEvents
- adds r3, r0, r1
- ldrb r1, [r3]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- beq _0805C588
- b _0805C6B0
-_0805C588:
- ldr r2, _0805C5C4 @ =gSprites
- ldrb r1, [r3, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x32
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0805C59E
- b _0805C6B0
-_0805C59E:
- ldrh r0, [r3, 0x10]
- strh r0, [r4]
- ldrh r0, [r3, 0x12]
- strh r0, [r5]
- ldrb r0, [r3, 0x1C]
- subs r0, 0x10
- cmp r0, 0x30
- bls _0805C5B0
- b _0805C6B0
-_0805C5B0:
- lsls r0, 2
- ldr r1, _0805C5C8 @ =_0805C5CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0805C5BC: .4byte gPlayerAvatar
-_0805C5C0: .4byte gObjectEvents
-_0805C5C4: .4byte gSprites
-_0805C5C8: .4byte _0805C5CC
- .align 2, 0
-_0805C5CC:
- .4byte _0805C690
- .4byte _0805C696
- .4byte _0805C6A0
- .4byte _0805C6A6
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C6B0
- .4byte _0805C690
- .4byte _0805C696
- .4byte _0805C6A0
- .4byte _0805C6A6
-_0805C690:
- ldrh r0, [r5]
- adds r0, 0x1
- b _0805C69A
-_0805C696:
- ldrh r0, [r5]
- subs r0, 0x1
-_0805C69A:
- strh r0, [r5]
- movs r0, 0x1
- b _0805C6BC
-_0805C6A0:
- ldrh r0, [r4]
- subs r0, 0x1
- b _0805C6AA
-_0805C6A6:
- ldrh r0, [r4]
- adds r0, 0x1
-_0805C6AA:
- strh r0, [r4]
- movs r0, 0x1
- b _0805C6BC
-_0805C6B0:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r4]
- strh r0, [r5]
- movs r0, 0
-_0805C6BC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end player_get_pos_including_state_based_drift
-
- thumb_func_start GetPlayerFacingDirection
-GetPlayerFacingDirection: @ 805C6C4
- ldr r2, _0805C6DC @ =gObjectEvents
- ldr r0, _0805C6E0 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bx lr
- .align 2, 0
-_0805C6DC: .4byte gObjectEvents
-_0805C6E0: .4byte gPlayerAvatar
- thumb_func_end GetPlayerFacingDirection
-
- thumb_func_start GetPlayerMovementDirection
-GetPlayerMovementDirection: @ 805C6E4
- ldr r2, _0805C6F8 @ =gObjectEvents
- ldr r0, _0805C6FC @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsrs r0, 4
- bx lr
- .align 2, 0
-_0805C6F8: .4byte gObjectEvents
-_0805C6FC: .4byte gPlayerAvatar
- thumb_func_end GetPlayerMovementDirection
-
- thumb_func_start PlayerGetZCoord
-PlayerGetZCoord: @ 805C700
- ldr r2, _0805C714 @ =gObjectEvents
- ldr r0, _0805C718 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- bx lr
- .align 2, 0
-_0805C714: .4byte gObjectEvents
-_0805C718: .4byte gPlayerAvatar
- thumb_func_end PlayerGetZCoord
-
- thumb_func_start sub_805C71C
-sub_805C71C: @ 805C71C
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _0805C744 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805C748 @ =gObjectEvents
- adds r0, r1
- lsls r3, 16
- asrs r3, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r3, 0
- bl MoveObjectEventToMapCoords
- pop {r0}
- bx r0
- .align 2, 0
-_0805C744: .4byte gPlayerAvatar
-_0805C748: .4byte gObjectEvents
- thumb_func_end sub_805C71C
-
- thumb_func_start TestPlayerAvatarFlags
-TestPlayerAvatarFlags: @ 805C74C
- ldr r1, _0805C758 @ =gPlayerAvatar
- ldrb r1, [r1]
- ands r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_0805C758: .4byte gPlayerAvatar
- thumb_func_end TestPlayerAvatarFlags
-
- thumb_func_start sub_805C75C
-sub_805C75C: @ 805C75C
- ldr r0, _0805C764 @ =gPlayerAvatar
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805C764: .4byte gPlayerAvatar
- thumb_func_end sub_805C75C
-
- thumb_func_start GetPlayerAvatarObjectId
-GetPlayerAvatarObjectId: @ 805C768
- ldr r0, _0805C770 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_0805C770: .4byte gPlayerAvatar
- thumb_func_end GetPlayerAvatarObjectId
-
- thumb_func_start sub_805C774
-sub_805C774: @ 805C774
- push {lr}
- bl ForcedMovement_None
- pop {r0}
- bx r0
- thumb_func_end sub_805C774
-
- thumb_func_start sub_805C780
-sub_805C780: @ 805C780
- push {r4,lr}
- ldr r0, _0805C7C0 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _0805C7C4 @ =gObjectEvents
- adds r4, r0
- adds r0, r4, 0
- bl npc_clear_strange_bits
- ldrb r1, [r4, 0x18]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r4, 0
- bl SetObjectEventDirection
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0805C7B8
- bl Bike_HandleBumpySlopeJump
- movs r0, 0
- bl Bike_UpdateBikeCounterSpeed
-_0805C7B8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805C7C0: .4byte gPlayerAvatar
-_0805C7C4: .4byte gObjectEvents
- thumb_func_end sub_805C780
-
- thumb_func_start sub_805C7C8
-sub_805C7C8: @ 805C7C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetPlayerAvatarGraphicsIdByStateIdAndGender
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_805C7C8
-
- thumb_func_start GetPlayerAvatarGraphicsIdByStateIdAndGender
-GetPlayerAvatarGraphicsIdByStateIdAndGender: @ 805C7E0
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0805C7F4 @ =gUnknown_835B874
- lsrs r0, 23
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_0805C7F4: .4byte gUnknown_835B874
- thumb_func_end GetPlayerAvatarGraphicsIdByStateIdAndGender
-
- thumb_func_start GetHoennLinkPartnerGraphicsIdByGender
-GetHoennLinkPartnerGraphicsIdByGender: @ 805C7F8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805C804 @ =gUnknown_835B880
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805C804: .4byte gUnknown_835B880
- thumb_func_end GetHoennLinkPartnerGraphicsIdByGender
-
- thumb_func_start GetPlayerAvatarGraphicsIdByStateId
-GetPlayerAvatarGraphicsIdByStateId: @ 805C808
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805C820 @ =gPlayerAvatar
- ldrb r1, [r1, 0x7]
- bl GetPlayerAvatarGraphicsIdByStateIdAndGender
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0805C820: .4byte gPlayerAvatar
- thumb_func_end GetPlayerAvatarGraphicsIdByStateId
-
- thumb_func_start GetPlayerAvatarGenderByGraphicsId
-GetPlayerAvatarGenderByGraphicsId: @ 805C824
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bgt _0805C836
- cmp r0, 0x7
- blt _0805C836
- movs r0, 0x1
- b _0805C838
-_0805C836:
- movs r0, 0
-_0805C838:
- pop {r1}
- bx r1
- thumb_func_end GetPlayerAvatarGenderByGraphicsId
-
- thumb_func_start PartyHasMonWithSurf
-PartyHasMonWithSurf: @ 805C83C
- push {r4,r5,lr}
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _0805C880
- movs r5, 0
- b _0805C866
-_0805C84E:
- adds r0, r4, 0
- movs r1, 0x39
- bl MonKnowsMove
- lsls r0, 24
- cmp r0, 0
- beq _0805C860
- movs r0, 0x1
- b _0805C882
-_0805C860:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0805C866:
- cmp r5, 0x5
- bhi _0805C880
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0805C888 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _0805C84E
-_0805C880:
- movs r0, 0
-_0805C882:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C888: .4byte gPlayerParty
- thumb_func_end PartyHasMonWithSurf
-
- thumb_func_start IsPlayerSurfingNorth
-IsPlayerSurfingNorth: @ 805C88C
- push {lr}
- bl GetPlayerMovementDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0805C8AA
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0805C8AA
- movs r0, 0x1
- b _0805C8AC
-_0805C8AA:
- movs r0, 0
-_0805C8AC:
- pop {r1}
- bx r1
- thumb_func_end IsPlayerSurfingNorth
-
- thumb_func_start IsPlayerFacingSurfableFishableWater
-IsPlayerFacingSurfableFishableWater: @ 805C8B0
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _0805C924 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _0805C928 @ =gObjectEvents
- adds r4, r0
- ldrh r1, [r4, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r4, 0x12]
- mov r5, sp
- adds r5, 0x2
- strh r0, [r5]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- mov r1, sp
- adds r2, r5, 0
- bl MoveCoords
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- ldrb r3, [r4, 0x18]
- lsls r3, 28
- lsrs r3, 28
- adds r0, r4, 0
- bl GetCollisionAtCoords
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0805C92C
- bl PlayerGetZCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0805C92C
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MetatileAtCoordsIsWaterTile
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805C92C
- movs r0, 0x1
- b _0805C92E
- .align 2, 0
-_0805C924: .4byte gPlayerAvatar
-_0805C928: .4byte gObjectEvents
-_0805C92C:
- movs r0, 0
-_0805C92E:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsPlayerFacingSurfableFishableWater
-
- thumb_func_start MetatileAtCoordsIsWaterTile
-MetatileAtCoordsIsWaterTile: @ 805C938
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x1
- bl MapGridGetMetatileAttributeAt
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl TestMetatileAttributeBit
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end MetatileAtCoordsIsWaterTile
-
- thumb_func_start ClearPlayerAvatarInfo
-ClearPlayerAvatarInfo: @ 805C95C
- push {lr}
- ldr r0, _0805C96C @ =gPlayerAvatar
- movs r1, 0
- movs r2, 0x20
- bl memset
- pop {r0}
- bx r0
- .align 2, 0
-_0805C96C: .4byte gPlayerAvatar
- thumb_func_end ClearPlayerAvatarInfo
-
- thumb_func_start SetPlayerAvatarStateMask
-SetPlayerAvatarStateMask: @ 805C970
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0805C984 @ =gPlayerAvatar
- ldrb r2, [r3]
- movs r1, 0xE0
- ands r1, r2
- orrs r0, r1
- strb r0, [r3]
- bx lr
- .align 2, 0
-_0805C984: .4byte gPlayerAvatar
- thumb_func_end SetPlayerAvatarStateMask
-
- thumb_func_start GetPlayerAvatarStateTransitionByGraphicsId
-GetPlayerAvatarStateTransitionByGraphicsId: @ 805C988
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- ldr r3, _0805C9B0 @ =gUnknown_835B882
- lsls r0, r1, 1
- adds r0, r1
- lsls r4, r0, 1
- adds r6, r3, 0x1
-_0805C99E:
- lsls r0, r2, 1
- adds r1, r0, r4
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r5
- bne _0805C9B4
- adds r0, r1, r6
- ldrb r0, [r0]
- b _0805C9C0
- .align 2, 0
-_0805C9B0: .4byte gUnknown_835B882
-_0805C9B4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _0805C99E
- movs r0, 0x1
-_0805C9C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetPlayerAvatarStateTransitionByGraphicsId
-
- thumb_func_start GetPlayerAvatarGraphicsIdByCurrentState
-GetPlayerAvatarGraphicsIdByCurrentState: @ 805C9C8
- push {r4-r6,lr}
- ldr r0, _0805C9F0 @ =gPlayerAvatar
- ldrb r5, [r0]
- movs r2, 0
- ldr r3, _0805C9F4 @ =gUnknown_835B882
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 1
- adds r0, r1
- lsls r4, r0, 1
- adds r6, r3, 0x1
-_0805C9DC:
- lsls r0, r2, 1
- adds r1, r0, r4
- adds r0, r1, r6
- ldrb r0, [r0]
- ands r0, r5
- cmp r0, 0
- beq _0805C9F8
- adds r0, r1, r3
- ldrb r0, [r0]
- b _0805CA04
- .align 2, 0
-_0805C9F0: .4byte gPlayerAvatar
-_0805C9F4: .4byte gUnknown_835B882
-_0805C9F8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _0805C9DC
- movs r0, 0
-_0805CA04:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetPlayerAvatarGraphicsIdByCurrentState
-
- thumb_func_start SetPlayerAvatarExtraStateTransition
-SetPlayerAvatarExtraStateTransition: @ 805CA0C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0805CA38 @ =gPlayerAvatar
- ldrb r1, [r5, 0x7]
- bl GetPlayerAvatarStateTransitionByGraphicsId
- lsls r0, 24
- lsrs r0, 24
- orrs r0, r4
- ldrb r1, [r5, 0x1]
- orrs r0, r1
- strb r0, [r5, 0x1]
- bl DoPlayerAvatarTransition
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805CA38: .4byte gPlayerAvatar
- thumb_func_end SetPlayerAvatarExtraStateTransition
-
- thumb_func_start InitPlayerAvatar
-InitPlayerAvatar: @ 805CA3C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x18
- adds r4, r0, 0
- adds r5, r1, 0
- mov r9, r2
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0
- mov r1, r8
- bl GetPlayerAvatarGraphicsIdByStateIdAndGender
- mov r1, sp
- movs r3, 0
- strb r0, [r1, 0x1]
- mov r0, sp
- lsls r4, 16
- asrs r4, 16
- subs r4, 0x7
- movs r6, 0
- strh r4, [r0, 0x4]
- lsls r5, 16
- asrs r5, 16
- subs r5, 0x7
- strh r5, [r0, 0x6]
- strb r6, [r0, 0x8]
- movs r0, 0xB
- strb r0, [r1, 0x9]
- mov r2, sp
- ldrb r1, [r2, 0xA]
- subs r0, 0x1B
- ands r0, r1
- strb r0, [r2, 0xA]
- mov r0, sp
- strb r6, [r0, 0xA]
- strh r3, [r0, 0xC]
- strh r3, [r0, 0xE]
- str r3, [sp, 0x10]
- strh r3, [r0, 0x14]
- bl SpawnSpecialObjectEvent
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 3
- adds r4, r5
- lsls r4, 2
- ldr r0, _0805CAFC @ =gObjectEvents
- adds r4, r0
- ldrb r0, [r4, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x2]
- bl CreateWarpArrowSprite
- strb r0, [r4, 0x1B]
- adds r0, r4, 0
- mov r1, r9
- bl ObjectEventTurn
- bl ClearPlayerAvatarInfo
- ldr r0, _0805CB00 @ =gPlayerAvatar
- strb r6, [r0, 0x2]
- strb r6, [r0, 0x3]
- strb r5, [r0, 0x5]
- ldrb r1, [r4, 0x4]
- strb r1, [r0, 0x4]
- mov r1, r8
- strb r1, [r0, 0x7]
- movs r0, 0x21
- bl SetPlayerAvatarStateMask
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805CAFC: .4byte gObjectEvents
-_0805CB00: .4byte gPlayerAvatar
- thumb_func_end InitPlayerAvatar
-
thumb_func_start sub_805CB04
sub_805CB04: @ 805CB04
push {r4-r6,lr}
diff --git a/asm/overworld.s b/asm/overworld.s
index 6ab3ef811..f12288d23 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -7871,7 +7871,7 @@ sub_8058878: @ 8058878
lsls r1, 30
lsrs r1, 31
movs r0, 0
- bl sub_805C7C8
+ bl GetRivalAvatarGraphicsIdByStateIdAndGender
b _080588C6
.align 2, 0
_080588B4: .4byte gLinkPlayerObjectEvents