diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-24 20:59:37 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-24 20:59:37 -0400 |
commit | 6c964a63505f6dc7527661400f6aae145c4cdf4b (patch) | |
tree | 68e02184207ab15f1d8bc011f16242bd3bf9fee7 /asm | |
parent | 8a85485cc25b9ac67c9b60697efd56c88d7b1d5f (diff) |
through InitPlayerAvatar
Diffstat (limited to 'asm')
-rw-r--r-- | asm/field_player_avatar.s | 1173 | ||||
-rw-r--r-- | asm/overworld.s | 2 |
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 |