diff options
Diffstat (limited to 'asm/bike.s')
-rw-r--r-- | asm/bike.s | 2211 |
1 files changed, 0 insertions, 2211 deletions
diff --git a/asm/bike.s b/asm/bike.s deleted file mode 100644 index d73fa55dc..000000000 --- a/asm/bike.s +++ /dev/null @@ -1,2211 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start MovePlayerOnBike -MovePlayerOnBike: @ 80E50A8 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, _080E50CC @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E50D0 - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnMachBike - b _080E50D8 - .align 2, 0 -_080E50CC: .4byte gPlayerAvatar -_080E50D0: - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnAcroBike -_080E50D8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerOnBike - - thumb_func_start MovePlayerOnMachBike -MovePlayerOnMachBike: @ 80E50E0 - push {r4,lr} - sub sp, 0x4 - mov r1, sp - strb r0, [r1] - ldr r4, _080E510C @ =gUnknown_083DB594 - mov r0, sp - bl CheckMovementInputMachBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E510C: .4byte gUnknown_083DB594 - thumb_func_end MovePlayerOnMachBike - - thumb_func_start CheckMovementInputMachBike -CheckMovementInputMachBike: @ 80E5110 - push {r4,lr} - adds r4, r0, 0 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldrb r1, [r4] - cmp r1, 0 - bne _080E5138 - strb r0, [r4] - ldr r2, _080E5134 @ =gPlayerAvatar - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _080E514C - strb r1, [r2, 0x2] - movs r0, 0 - b _080E5160 - .align 2, 0 -_080E5134: .4byte gPlayerAvatar -_080E5138: - ldr r2, _080E5154 @ =gPlayerAvatar - cmp r1, r3 - beq _080E515C - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - beq _080E515C - ldrb r0, [r2, 0xB] - cmp r0, 0 - beq _080E5158 - strb r3, [r4] -_080E514C: - movs r0, 0x2 - strb r0, [r2, 0x2] - movs r0, 0x3 - b _080E5160 - .align 2, 0 -_080E5154: .4byte gPlayerAvatar -_080E5158: - movs r0, 0x1 - b _080E515E -_080E515C: - movs r0, 0x2 -_080E515E: - strb r0, [r2, 0x2] -_080E5160: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputMachBike - - thumb_func_start sub_80E5168 -sub_80E5168: @ 80E5168 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - bl sub_80E6024 - pop {r0} - bx r0 - thumb_func_end sub_80E5168 - - thumb_func_start sub_80E517C -sub_80E517C: @ 80E517C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080E51AC @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E51B0 @ =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - beq _080E51B4 - adds r0, r5, 0 - bl PlayerTurnInPlace - bl sub_80E6024 - b _080E51BE - .align 2, 0 -_080E51AC: .4byte gPlayerAvatar -_080E51B0: .4byte gMapObjects -_080E51B4: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_80E5168 -_080E51BE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E517C - - thumb_func_start sub_80E51C4 -sub_80E51C4: @ 80E51C4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r6, _080E51F8 @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E51FC @ =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E520A - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _080E5200 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_80E5270 - b _080E5266 - .align 2, 0 -_080E51F8: .4byte gPlayerAvatar -_080E51FC: .4byte gMapObjects -_080E5200: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_80E5168 - b _080E5266 -_080E520A: - adds r0, r5, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E5242 - cmp r4, 0x6 - bne _080E522C - adds r0, r5, 0 - bl PlayerJumpLedge - b _080E5266 -_080E522C: - bl sub_80E6024 - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E5266 - adds r0, r5, 0 - bl PlayerOnBikeCollide - b _080E5266 -_080E5242: - ldr r1, _080E526C @ =gUnknown_083DB5A4 - ldrb r0, [r6, 0xA] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r7, 0 - bl _call_via_r1 - ldrb r2, [r6, 0xA] - lsls r0, r2, 24 - lsrs r1, r0, 24 - lsrs r0, 25 - adds r0, r2, r0 - strb r0, [r6, 0xB] - cmp r1, 0x1 - bhi _080E5266 - adds r0, r2, 0x1 - strb r0, [r6, 0xA] -_080E5266: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E526C: .4byte gUnknown_083DB5A4 - thumb_func_end sub_80E51C4 - - thumb_func_start sub_80E5270 -sub_80E5270: @ 80E5270 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldr r6, _080E52A8 @ =gPlayerAvatar - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _080E5286 - subs r0, 0x1 - strb r0, [r6, 0xB] - strb r0, [r6, 0xA] -_080E5286: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E52C2 - cmp r5, 0x6 - bne _080E52AC - adds r0, r4, 0 - bl PlayerJumpLedge - b _080E52D2 - .align 2, 0 -_080E52A8: .4byte gPlayerAvatar -_080E52AC: - bl sub_80E6024 - subs r0, r5, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E52D2 - adds r0, r4, 0 - bl PlayerOnBikeCollide - b _080E52D2 -_080E52C2: - ldr r0, _080E52D8 @ =gUnknown_083DB5A4 - ldrb r1, [r6, 0xA] - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r7, 0 - bl _call_via_r1 -_080E52D2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080E52D8: .4byte gUnknown_083DB5A4 - thumb_func_end sub_80E5270 - - thumb_func_start MovePlayerOnAcroBike -MovePlayerOnAcroBike: @ 80E52DC - push {r4,lr} - sub sp, 0x4 - mov r3, sp - strb r0, [r3] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080E5310 @ =gUnknown_083DB5B0 - mov r0, sp - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5310: .4byte gUnknown_083DB5B0 - thumb_func_end MovePlayerOnAcroBike - - thumb_func_start CheckMovementInputAcroBike -CheckMovementInputAcroBike: @ 80E5314 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080E5338 @ =gUnknown_083DB5E4 - ldr r3, _080E533C @ =gPlayerAvatar - ldrb r3, [r3, 0x8] - lsls r3, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080E5338: .4byte gUnknown_083DB5E4 -_080E533C: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputAcroBike - - thumb_func_start CheckMovementInputAcroBikeNormal -CheckMovementInputAcroBikeNormal: @ 80E5340 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080E5374 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r2, 0xA] - ldrb r1, [r4] - cmp r1, 0 - bne _080E5380 - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _080E5378 - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0x2 - strb r0, [r2, 0x8] - movs r0, 0x3 - b _080E53D4 - .align 2, 0 -_080E5374: .4byte gPlayerAvatar -_080E5378: - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0 - b _080E53D4 -_080E5380: - cmp r1, r3 - bne _080E53A6 - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _080E539E - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _080E539E - adds r0, 0x1 - strb r0, [r2, 0xB] - movs r0, 0x4 - strb r0, [r2, 0x8] - movs r0, 0xB - b _080E53D4 -_080E539E: - ldrb r0, [r4] - ldr r2, _080E53CC @ =gPlayerAvatar - cmp r0, r3 - beq _080E53D0 -_080E53A6: - ldr r0, _080E53CC @ =gPlayerAvatar - ldrb r1, [r0, 0x2] - adds r2, r0, 0 - cmp r1, 0x2 - beq _080E53D0 - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - ldrb r0, [r4] - strb r0, [r2, 0x9] - strb r1, [r2, 0x2] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _080E53D4 - .align 2, 0 -_080E53CC: .4byte gPlayerAvatar -_080E53D0: - movs r0, 0x2 - strb r0, [r2, 0x2] -_080E53D4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeNormal - - thumb_func_start CheckMovementInputAcroBikeChangingDirection -CheckMovementInputAcroBikeChangingDirection: @ 80E53DC - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080E5404 @ =gPlayerAvatar - ldrb r0, [r4, 0x9] - strb r0, [r5] - ldrb r0, [r4, 0xA] - adds r0, 0x1 - strb r0, [r4, 0xA] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bls _080E5408 - movs r0, 0x1 - strb r0, [r4, 0x2] - movs r0, 0 - strb r0, [r4, 0x8] - bl sub_80E6024 - movs r0, 0x1 - b _080E544E - .align 2, 0 -_080E5404: .4byte gPlayerAvatar -_080E5408: - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_80E5C2C - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _080E544A - bl sub_80E6024 - movs r0, 0x1 - strb r0, [r4, 0xB] - adds r0, r6, 0 - bl GetOppositeDirection - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _080E543E - movs r0, 0x6 - strb r0, [r4, 0x8] - movs r0, 0x9 - b _080E544E -_080E543E: - movs r0, 0x2 - strb r0, [r4, 0x2] - movs r0, 0x5 - strb r0, [r4, 0x8] - movs r0, 0x8 - b _080E544E -_080E544A: - strb r6, [r5] - movs r0, 0 -_080E544E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeChangingDirection - - thumb_func_start CheckMovementInputAcroBikeStandingWheelie -CheckMovementInputAcroBikeStandingWheelie: @ 80E5454 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080E54A0 @ =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E54A4 @ =gMapObjects - adds r1, r0, r1 - movs r0, 0 - strb r0, [r5, 0x2] - movs r0, 0x2 - ands r4, r0 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0 - bne _080E54A8 - strb r4, [r5, 0xA] - ldrb r0, [r1, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080E54AE - strb r6, [r7] - strb r0, [r5, 0x8] - bl sub_80E6024 - movs r0, 0x4 - b _080E54EC - .align 2, 0 -_080E54A0: .4byte gPlayerAvatar -_080E54A4: .4byte gMapObjects -_080E54A8: - ldrb r0, [r5, 0xA] - adds r0, 0x1 - strb r0, [r5, 0xA] -_080E54AE: - ldr r1, _080E54C4 @ =gPlayerAvatar - ldrb r0, [r1, 0xA] - cmp r0, 0x27 - bls _080E54C8 - strb r6, [r7] - movs r0, 0x3 - strb r0, [r1, 0x8] - bl sub_80E6024 - movs r0, 0x6 - b _080E54EC - .align 2, 0 -_080E54C4: .4byte gPlayerAvatar -_080E54C8: - ldrb r0, [r7] - cmp r0, r6 - bne _080E54DE - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_80E6024 - movs r0, 0xA - b _080E54EC -_080E54DE: - cmp r0, 0 - beq _080E54E8 - movs r0, 0x1 - strb r0, [r1, 0x2] - b _080E54EA -_080E54E8: - strb r6, [r7] -_080E54EA: - movs r0, 0x5 -_080E54EC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeStandingWheelie - - thumb_func_start CheckMovementInputAcroBikeBunnyHop -CheckMovementInputAcroBikeBunnyHop: @ 80E54F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, _080E5554 @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5558 @ =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _080E5566 - bl sub_80E6024 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080E555C - movs r0, 0x2 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r9 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _080E558A - .align 2, 0 -_080E5554: .4byte gPlayerAvatar -_080E5558: .4byte gMapObjects -_080E555C: - strb r5, [r6] - strb r0, [r4, 0x2] - strb r0, [r4, 0x8] - movs r0, 0x4 - b _080E558A -_080E5566: - ldrb r0, [r6] - cmp r0, 0 - bne _080E5570 - strb r5, [r6] - b _080E557C -_080E5570: - cmp r0, r2 - beq _080E5582 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _080E5582 - movs r0, 0x1 -_080E557C: - strb r0, [r4, 0x2] - movs r0, 0x6 - b _080E558A -_080E5582: - ldr r1, _080E5598 @ =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x7 -_080E558A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E5598: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputAcroBikeBunnyHop - - thumb_func_start CheckMovementInputAcroBikeMovingWheelie -CheckMovementInputAcroBikeMovingWheelie: @ 80E559C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, _080E55F8 @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E55FC @ =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r9, r0 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _080E5634 - bl sub_80E6024 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080E5620 - strb r1, [r4, 0x8] - ldrb r0, [r6] - cmp r0, 0 - bne _080E5600 - strb r5, [r6] - b _080E560A - .align 2, 0 -_080E55F8: .4byte gPlayerAvatar -_080E55FC: .4byte gMapObjects -_080E5600: - cmp r0, r5 - beq _080E5610 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _080E5610 -_080E560A: - strb r1, [r4, 0x2] - movs r0, 0x4 - b _080E5664 -_080E5610: - ldr r1, _080E561C @ =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xC - b _080E5664 - .align 2, 0 -_080E561C: .4byte gPlayerAvatar -_080E5620: - mov r0, r9 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r10 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _080E5664 -_080E5634: - ldrb r0, [r6] - cmp r0, 0 - bne _080E564A - strb r5, [r6] - mov r1, r9 - strb r1, [r4, 0x8] - strb r0, [r4, 0x2] - bl sub_80E6024 - movs r0, 0x5 - b _080E5664 -_080E564A: - cmp r2, r0 - beq _080E565C - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _080E565C - movs r0, 0 - strb r0, [r4, 0x2] - movs r0, 0x5 - b _080E5664 -_080E565C: - ldr r1, _080E5674 @ =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xA -_080E5664: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080E5674: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputAcroBikeMovingWheelie - - thumb_func_start CheckMovementInputAcroBikeUnknownMode5 -CheckMovementInputAcroBikeUnknownMode5: @ 80E5678 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _080E56CC @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E56D0 @ =gMapObjects - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl FieldObjectSetDirection - movs r0, 0 - strb r0, [r6, 0x8] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080E56CC: .4byte gPlayerAvatar -_080E56D0: .4byte gMapObjects - thumb_func_end CheckMovementInputAcroBikeUnknownMode5 - - thumb_func_start CheckMovementInputAcroBikeUnknownMode6 -CheckMovementInputAcroBikeUnknownMode6: @ 80E56D4 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080E56F4 @ =gPlayerAvatar - movs r3, 0 - strb r3, [r4, 0x8] - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080E56F4: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputAcroBikeUnknownMode6 - - thumb_func_start sub_80E56F8 -sub_80E56F8: @ 80E56F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end sub_80E56F8 - - thumb_func_start sub_80E5708 -sub_80E5708: @ 80E5708 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E573C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5740 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E572E - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E572E: - adds r0, r4, 0 - bl PlayerFaceDirection - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E573C: .4byte gPlayerAvatar -_080E5740: .4byte gMapObjects - thumb_func_end sub_80E5708 - - thumb_func_start sub_80E5744 -sub_80E5744: @ 80E5744 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r0, _080E5774 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5778 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E577C - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_80E56F8 - b _080E57B6 - .align 2, 0 -_080E5774: .4byte gPlayerAvatar -_080E5778: .4byte gMapObjects -_080E577C: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E57B0 - cmp r1, 0x6 - bne _080E579E - adds r0, r4, 0 - bl PlayerJumpLedge - b _080E57B6 -_080E579E: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E57B6 - adds r0, r4, 0 - bl PlayerOnBikeCollide - b _080E57B6 -_080E57B0: - adds r0, r6, 0 - bl npc_use_some_d2s -_080E57B6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E5744 - - thumb_func_start sub_80E57BC -sub_80E57BC: @ 80E57BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E57F0 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E57F4 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E57E2 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E57E2: - adds r0, r4, 0 - bl sub_805951C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E57F0: .4byte gPlayerAvatar -_080E57F4: .4byte gMapObjects - thumb_func_end sub_80E57BC - - thumb_func_start sub_80E57F8 -sub_80E57F8: @ 80E57F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E582C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5830 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E581E - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E581E: - adds r0, r4, 0 - bl sub_8059534 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E582C: .4byte gPlayerAvatar -_080E5830: .4byte gMapObjects - thumb_func_end sub_80E57F8 - - thumb_func_start sub_80E5834 -sub_80E5834: @ 80E5834 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E5868 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E586C @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E585A - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E585A: - adds r0, r4, 0 - bl sub_8059504 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E5868: .4byte gPlayerAvatar -_080E586C: .4byte gMapObjects - thumb_func_end sub_80E5834 - - thumb_func_start sub_80E5870 -sub_80E5870: @ 80E5870 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E58A4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E58A8 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E5896 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080E5896: - adds r0, r4, 0 - bl sub_805954C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E58A4: .4byte gPlayerAvatar -_080E58A8: .4byte gMapObjects - thumb_func_end sub_80E5870 - - thumb_func_start sub_80E58AC -sub_80E58AC: @ 80E58AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080E58D8 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E58DC @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E58E0 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_80E5870 - b _080E591A - .align 2, 0 -_080E58D8: .4byte gPlayerAvatar -_080E58DC: .4byte gMapObjects -_080E58E0: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080E5914 - cmp r1, 0x9 - beq _080E5914 - cmp r1, 0x6 - bne _080E58FE - adds r0, r4, 0 - bl sub_8059594 - b _080E591A -_080E58FE: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E591A - cmp r1, 0xB - bhi _080E5914 - adds r0, r4, 0 - bl sub_80E5870 - b _080E591A -_080E5914: - adds r0, r4, 0 - bl sub_8059570 -_080E591A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E58AC - - thumb_func_start sub_80E5920 -sub_80E5920: @ 80E5920 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - beq _080E5954 - cmp r0, 0x7 - beq _080E5980 - cmp r0, 0x9 - bls _080E594C - adds r0, r1, 0 - adds r1, r5, 0 - bl sub_80E5EC0 - lsls r0, 24 - cmp r0, 0 - bne _080E5954 -_080E594C: - adds r0, r5, 0 - bl sub_80E5708 - b _080E5980 -_080E5954: - ldr r0, _080E5988 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080E598C @ =gMapObjects - adds r4, r0 - movs r0, 0x22 - bl PlaySE - ldrb r0, [r4, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r5, 0 - bl sub_80608A4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl player_npc_set_state_and_x22_etc -_080E5980: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E5988: .4byte gPlayerAvatar -_080E598C: .4byte gMapObjects - thumb_func_end sub_80E5920 - - thumb_func_start sub_80E5990 -sub_80E5990: @ 80E5990 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80595B8 - pop {r0} - bx r0 - thumb_func_end sub_80E5990 - - thumb_func_start sub_80E59A0 -sub_80E59A0: @ 80E59A0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, _080E59D0 @ =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E59D4 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E59D8 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_8059504 - b _080E5A28 - .align 2, 0 -_080E59D0: .4byte gPlayerAvatar -_080E59D4: .4byte gMapObjects -_080E59D8: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E5A1E - cmp r1, 0x6 - bne _080E59FA - adds r0, r4, 0 - bl sub_8059594 - b _080E5A28 -_080E59FA: - cmp r1, 0x9 - beq _080E5A0E - cmp r1, 0x4 - bhi _080E5A28 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _080E5A16 -_080E5A0E: - adds r0, r4, 0 - bl sub_8059504 - b _080E5A28 -_080E5A16: - adds r0, r4, 0 - bl sub_80595DC - b _080E5A28 -_080E5A1E: - adds r0, r6, 0 - bl sub_8059618 - movs r0, 0x2 - strb r0, [r7, 0x2] -_080E5A28: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E59A0 - - thumb_func_start sub_80E5A30 -sub_80E5A30: @ 80E5A30 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, _080E5A60 @ =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5A64 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E5A68 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_805951C - b _080E5AB8 - .align 2, 0 -_080E5A60: .4byte gPlayerAvatar -_080E5A64: .4byte gMapObjects -_080E5A68: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E5AAE - cmp r1, 0x6 - bne _080E5A8A - adds r0, r4, 0 - bl sub_8059594 - b _080E5AB8 -_080E5A8A: - cmp r1, 0x9 - beq _080E5A9E - cmp r1, 0x4 - bhi _080E5AB8 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _080E5AA6 -_080E5A9E: - adds r0, r4, 0 - bl sub_8059504 - b _080E5AB8 -_080E5AA6: - adds r0, r4, 0 - bl sub_80595DC - b _080E5AB8 -_080E5AAE: - adds r0, r6, 0 - bl sub_8059600 - movs r0, 0x2 - strb r0, [r7, 0x2] -_080E5AB8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E5A30 - - thumb_func_start sub_80E5AC0 -sub_80E5AC0: @ 80E5AC0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r0, _080E5AF0 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080E5AF4 @ =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80E5E70 - lsls r0, 24 - cmp r0, 0 - bne _080E5AF8 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_8059534 - b _080E5B32 - .align 2, 0 -_080E5AF0: .4byte gPlayerAvatar -_080E5AF4: .4byte gMapObjects -_080E5AF8: - adds r0, r4, 0 - bl sub_80E5D34 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080E5B2C - cmp r1, 0x6 - bne _080E5B1A - adds r0, r4, 0 - bl PlayerJumpLedge - b _080E5B32 -_080E5B1A: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080E5B32 - adds r0, r4, 0 - bl sub_8059534 - b _080E5B32 -_080E5B2C: - adds r0, r6, 0 - bl sub_8059630 -_080E5B32: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80E5AC0 - - thumb_func_start sub_80E5B38 -sub_80E5B38: @ 80E5B38 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r2, r1, 16 - ldr r0, _080E5B5C @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E5B56 - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_80E5B60 -_080E5B56: - pop {r0} - bx r0 - .align 2, 0 -_080E5B5C: .4byte gPlayerAvatar - thumb_func_end sub_80E5B38 - - thumb_func_start sub_80E5B60 -sub_80E5B60: @ 80E5B60 - push {r4,r5,lr} - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r5, 0 - bl sub_80E5CF4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, _080E5B88 @ =gPlayerAvatar - ldr r0, [r4, 0xC] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _080E5B8C - ldrb r0, [r4, 0x14] - cmp r0, 0xFE - bhi _080E5B96 - adds r0, 0x1 - strb r0, [r4, 0x14] - b _080E5B96 - .align 2, 0 -_080E5B88: .4byte gPlayerAvatar -_080E5B8C: - adds r0, r2, 0 - bl sub_80E5C7C - movs r0, 0 - strb r0, [r4, 0xB] -_080E5B96: - movs r0, 0xF - adds r2, r5, 0 - ands r2, r0 - ldr r4, _080E5BB4 @ =gPlayerAvatar - ldr r0, [r4, 0x10] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _080E5BB8 - ldrb r0, [r4, 0x1C] - cmp r0, 0xFE - bhi _080E5BC2 - adds r0, 0x1 - strb r0, [r4, 0x1C] - b _080E5BC2 - .align 2, 0 -_080E5BB4: .4byte gPlayerAvatar -_080E5BB8: - adds r0, r2, 0 - bl sub_80E5CB8 - movs r0, 0 - strb r0, [r4, 0xB] -_080E5BC2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80E5B60 - - thumb_func_start sub_80E5BC8 -sub_80E5BC8: @ 80E5BC8 - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - movs r2, 0 - ldrb r0, [r3] - cmp r0, 0 - beq _080E5BF2 - ldr r5, _080E5C0C @ =gUnknown_0202E86C -_080E5BD8: - adds r0, r2, r5 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bhi _080E5C08 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080E5BD8 -_080E5BF2: - movs r2, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _080E5C22 - ldr r3, _080E5C10 @ =gUnknown_0202E874 -_080E5BFC: - adds r0, r2, r3 - adds r1, r4, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5C14 -_080E5C08: - movs r0, 0 - b _080E5C24 - .align 2, 0 -_080E5C0C: .4byte gUnknown_0202E86C -_080E5C10: .4byte gUnknown_0202E874 -_080E5C14: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080E5BFC -_080E5C22: - movs r0, 0x1 -_080E5C24: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E5BC8 - - thumb_func_start sub_80E5C2C -sub_80E5C2C: @ 80E5C2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_080E5C32: - ldr r0, _080E5C64 @ =gUnknown_083DB608 - adds r4, r5, r0 - ldr r0, _080E5C68 @ =gPlayerAvatar - ldr r1, [r0, 0xC] - ldr r2, [r0, 0x10] - ldr r0, [r4, 0x8] - ands r1, r0 - ldr r0, [r4, 0xC] - ands r2, r0 - ldr r0, [r4] - cmp r1, r0 - bne _080E5C6C - ldr r0, [r4, 0x4] - cmp r2, r0 - bne _080E5C6C - ldr r0, [r4, 0x10] - ldr r1, [r4, 0x14] - bl sub_80E5BC8 - lsls r0, 24 - cmp r0, 0 - beq _080E5C6C - ldrb r0, [r4, 0x18] - b _080E5C76 - .align 2, 0 -_080E5C64: .4byte gUnknown_083DB608 -_080E5C68: .4byte gPlayerAvatar -_080E5C6C: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - bls _080E5C32 - movs r0, 0 -_080E5C76: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80E5C2C - - thumb_func_start sub_80E5C7C -sub_80E5C7C: @ 80E5C7C - push {r4,lr} - lsls r0, 24 - ldr r3, _080E5CB4 @ =gPlayerAvatar - ldr r2, [r3, 0xC] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0xC] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x14 -_080E5C98: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _080E5C98 - movs r0, 0x1 - strb r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5CB4: .4byte gPlayerAvatar - thumb_func_end sub_80E5C7C - - thumb_func_start sub_80E5CB8 -sub_80E5CB8: @ 80E5CB8 - push {r4,lr} - lsls r0, 24 - ldr r3, _080E5CF0 @ =gPlayerAvatar - ldr r2, [r3, 0x10] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0x10] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x1C -_080E5CD4: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _080E5CD4 - movs r0, 0x1 - strb r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5CF0: .4byte gPlayerAvatar - thumb_func_end sub_80E5CB8 - - thumb_func_start sub_80E5CF4 -sub_80E5CF4: @ 80E5CF4 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080E5D08 - movs r0, 0x2 - b _080E5D2E -_080E5D08: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E5D14 - movs r0, 0x1 - b _080E5D2E -_080E5D14: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080E5D20 - movs r0, 0x3 - b _080E5D2E -_080E5D20: - movs r0, 0x10 - ands r2, r0 - cmp r2, 0 - bne _080E5D2C - movs r0, 0 - b _080E5D2E -_080E5D2C: - movs r0, 0x4 -_080E5D2E: - pop {r1} - bx r1 - thumb_func_end sub_80E5CF4 - - thumb_func_start sub_80E5D34 -sub_80E5D34: @ 80E5D34 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _080E5D98 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080E5D9C @ =gMapObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_80E5DA0 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080E5D98: .4byte gPlayerAvatar -_080E5D9C: .4byte gMapObjects - thumb_func_end sub_80E5D34 - - thumb_func_start sub_80E5DA0 -sub_80E5DA0: @ 80E5DA0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - adds r5, r4, 0 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - str r5, [sp] - bl CheckForFieldObjectCollision - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _080E5DE0 - cmp r4, 0 - bne _080E5DDC - adds r0, r5, 0 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - beq _080E5DD8 - movs r4, 0x2 -_080E5DD8: - cmp r4, 0 - beq _080E5DE0 -_080E5DDC: - bl sub_80E5E4C -_080E5DE0: - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E5DA0 - - thumb_func_start sub_80E5DEC -sub_80E5DEC: @ 80E5DEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _080E5E04 - ldr r0, _080E5E08 @ =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x8 - bne _080E5E0C -_080E5E04: - movs r0, 0x1 - b _080E5E0E - .align 2, 0 -_080E5E08: .4byte gMapHeader -_080E5E0C: - movs r0, 0 -_080E5E0E: - pop {r1} - bx r1 - thumb_func_end sub_80E5DEC - - thumb_func_start IsRunningDisallowedByMetatile -IsRunningDisallowedByMetatile: @ 80E5E14 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsRunningDisallowed - lsls r0, 24 - cmp r0, 0 - bne _080E5E3E - adds r0, r4, 0 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - beq _080E5E42 - bl PlayerGetZCoord - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080E5E42 -_080E5E3E: - movs r0, 0x1 - b _080E5E44 -_080E5E42: - movs r0, 0 -_080E5E44: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsRunningDisallowedByMetatile - - thumb_func_start sub_80E5E4C -sub_80E5E4C: @ 80E5E4C - push {lr} - ldr r0, _080E5E68 @ =gUnknown_02039250 - ldrb r0, [r0] - cmp r0, 0 - beq _080E5E62 - ldr r1, _080E5E6C @ =gUnknown_02039251 - ldrb r0, [r1] - cmp r0, 0x63 - bhi _080E5E62 - adds r0, 0x1 - strb r0, [r1] -_080E5E62: - pop {r0} - bx r0 - .align 2, 0 -_080E5E68: .4byte gUnknown_02039250 -_080E5E6C: .4byte gUnknown_02039251 - thumb_func_end sub_80E5E4C - - thumb_func_start sub_80E5E70 -sub_80E5E70: @ 80E5E70 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0xFD - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080E5E9A - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedVerticalRail - lsls r0, 24 - cmp r0, 0 - bne _080E5EB2 - adds r0, r4, 0 - bl MetatileBehavior_IsVerticalRail - b _080E5EAC -_080E5E9A: - adds r0, r5, 0 - bl MetatileBehavior_IsIsolatedHorizontalRail - lsls r0, 24 - cmp r0, 0 - bne _080E5EB2 - adds r0, r5, 0 - bl MetatileBehavior_IsHorizontalRail -_080E5EAC: - lsls r0, 24 - cmp r0, 0 - beq _080E5EB6 -_080E5EB2: - movs r0, 0 - b _080E5EB8 -_080E5EB6: - movs r0, 0x1 -_080E5EB8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E5E70 - - thumb_func_start sub_80E5EC0 -sub_80E5EC0: @ 80E5EC0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - movs r3, 0xFF - lsls r3, 24 - adds r1, r3 - lsrs r1, 24 - cmp r1, 0x1 - bhi _080E5EE0 - cmp r0, 0xA - beq _080E5EE8 - cmp r0, 0xC - bne _080E5EEC - b _080E5EE8 -_080E5EE0: - cmp r2, 0xB - beq _080E5EE8 - cmp r2, 0xD - bne _080E5EEC -_080E5EE8: - movs r0, 0 - b _080E5EEE -_080E5EEC: - movs r0, 0x1 -_080E5EEE: - pop {r1} - bx r1 - thumb_func_end sub_80E5EC0 - - thumb_func_start sub_80E5EF4 -sub_80E5EF4: @ 80E5EF4 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080E5F30 @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - bne _080E5F34 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _080E5F34 - movs r0, 0 - b _080E5F36 - .align 2, 0 -_080E5F30: .4byte gPlayerAvatar -_080E5F34: - movs r0, 0x1 -_080E5F36: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E5EF4 - - thumb_func_start player_should_look_direction_be_enforced_upon_movement -player_should_look_direction_be_enforced_upon_movement: @ 80E5F40 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080E5F74 - ldr r2, _080E5F6C @ =gMapObjects - ldr r0, _080E5F70 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _080E5F74 - movs r0, 0 - b _080E5F76 - .align 2, 0 -_080E5F6C: .4byte gMapObjects -_080E5F70: .4byte gPlayerAvatar -_080E5F74: - movs r0, 0x1 -_080E5F76: - pop {r1} - bx r1 - thumb_func_end player_should_look_direction_be_enforced_upon_movement - - thumb_func_start GetOnOffBike -GetOnOffBike: @ 80E5F7C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080E5FA4 @ =gUnknown_0202E854 - movs r0, 0 - strb r0, [r1] - ldr r0, _080E5FA8 @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _080E5FAC - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - bl sav1_reset_battle_music_maybe - bl sub_8053E90 - b _080E5FC0 - .align 2, 0 -_080E5FA4: .4byte gUnknown_0202E854 -_080E5FA8: .4byte gPlayerAvatar -_080E5FAC: - adds r0, r2, 0 - bl SetPlayerAvatarTransitionFlags - ldr r4, _080E5FC8 @ =0x00000193 - adds r0, r4, 0 - bl sav1_set_battle_music_maybe - adds r0, r4, 0 - bl sub_8053FB0 -_080E5FC0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080E5FC8: .4byte 0x00000193 - thumb_func_end GetOnOffBike - - thumb_func_start sub_80E5FCC -sub_80E5FCC: @ 80E5FCC - push {lr} - ldr r2, _080E6008 @ =gPlayerAvatar - movs r3, 0 - strb r3, [r2, 0x8] - strb r3, [r2, 0x9] - strb r3, [r2, 0xA] - strb r3, [r2, 0xB] - str r0, [r2, 0xC] - str r1, [r2, 0x10] - movs r1, 0 - adds r2, 0x14 -_080E5FE2: - adds r0, r1, r2 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _080E5FE2 - movs r1, 0 - ldr r3, _080E600C @ =gUnknown_0202E874 - movs r2, 0 -_080E5FF6: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _080E5FF6 - pop {r0} - bx r0 - .align 2, 0 -_080E6008: .4byte gPlayerAvatar -_080E600C: .4byte gUnknown_0202E874 - thumb_func_end sub_80E5FCC - - thumb_func_start sub_80E6010 -sub_80E6010: @ 80E6010 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080E6020 @ =gPlayerAvatar - strb r0, [r2, 0xA] - lsrs r1, r0, 1 - adds r0, r1 - strb r0, [r2, 0xB] - bx lr - .align 2, 0 -_080E6020: .4byte gPlayerAvatar - thumb_func_end sub_80E6010 - - thumb_func_start sub_80E6024 -sub_80E6024: @ 80E6024 - ldr r1, _080E6030 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0xA] - strb r0, [r1, 0xB] - bx lr - .align 2, 0 -_080E6030: .4byte gPlayerAvatar - thumb_func_end sub_80E6024 - - thumb_func_start sub_80E6034 -sub_80E6034: @ 80E6034 - push {lr} - sub sp, 0x8 - ldr r1, _080E605C @ =gUnknown_083DB600 - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r2, _080E6060 @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E6064 - ldrb r0, [r2, 0xA] - lsls r0, 1 - add r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - b _080E607E - .align 2, 0 -_080E605C: .4byte gUnknown_083DB600 -_080E6060: .4byte gPlayerAvatar -_080E6064: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E6070 - movs r0, 0x3 - b _080E607E -_080E6070: - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - bne _080E607C - movs r0, 0x1 - b _080E607E -_080E607C: - movs r0, 0x2 -_080E607E: - add sp, 0x8 - pop {r1} - bx r1 - thumb_func_end sub_80E6034 - - thumb_func_start sub_80E6084 -sub_80E6084: @ 80E6084 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080E60D4 @ =gPlayerAvatar - ldrb r1, [r5] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E60CC - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _080E60CC - movs r0, 0x2 - strb r0, [r5, 0x8] - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - bl sub_8059C94 -_080E60CC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080E60D4: .4byte gPlayerAvatar - thumb_func_end sub_80E6084 - - .align 2, 0 @ Don't pad with nop. |