diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/bike.s | 6 | ||||
-rw-r--r-- | asm/event_object_movement.s | 23948 | ||||
-rw-r--r-- | asm/field_control_avatar.s | 8 | ||||
-rw-r--r-- | asm/field_player_avatar.s | 62 | ||||
-rw-r--r-- | asm/overworld.s | 84 |
5 files changed, 80 insertions, 24028 deletions
diff --git a/asm/bike.s b/asm/bike.s index e805ccc38..e73e906bc 100644 --- a/asm/bike.s +++ b/asm/bike.s @@ -79,7 +79,7 @@ sub_80BD100: @ 80BD100 lsls r4, 2 ldr r0, _080BD160 @ =gObjectEvents adds r4, r0 - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection lsls r0, 24 lsrs r7, r0, 24 movs r0, 0 @@ -195,7 +195,7 @@ sub_80BD1E8: @ 80BD1E8 lsls r2, 16 lsrs r2, 16 mov r8, r2 - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection lsls r0, 24 lsrs r5, r0, 24 adds r7, r5, 0 @@ -881,7 +881,7 @@ Bike_HandleBumpySlopeJump: @ 80BD6C4 beq _080BD70C movs r0, 0x2 strb r0, [r5, 0x8] - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection lsls r0, 24 lsrs r0, 24 bl nullsub_24 diff --git a/asm/event_object_movement.s b/asm/event_object_movement.s deleted file mode 100644 index ec39d9f08..000000000 --- a/asm/event_object_movement.s +++ /dev/null @@ -1,23948 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start npc_clear_ids_and_state -npc_clear_ids_and_state: @ 805DE2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - movs r2, 0x24 - bl memset - movs r0, 0xFF - strb r0, [r4, 0x8] - movs r0, 0x1 - negs r0, r0 - strb r0, [r4, 0x9] - strb r0, [r4, 0xA] - strb r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end npc_clear_ids_and_state - - thumb_func_start npcs_clear_ids_and_state -npcs_clear_ids_and_state: @ 805DE4C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0805DE70 @ =gObjectEvents -_0805DE52: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - bl npc_clear_ids_and_state - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0805DE52 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805DE70: .4byte gObjectEvents - thumb_func_end npcs_clear_ids_and_state - - thumb_func_start sub_805DE74 -sub_805DE74: @ 805DE74 - push {lr} - bl strange_npc_table_clear - bl npcs_clear_ids_and_state - bl ClearPlayerAvatarInfo - bl sub_805DE8C - pop {r0} - bx r0 - thumb_func_end sub_805DE74 - - thumb_func_start sub_805DE8C -sub_805DE8C: @ 805DE8C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldr r0, _0805DF28 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x54] - mov r9, r0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805DF2C @ =gSprites - mov r10, r1 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r10 - ldrb r1, [r4, 0x1] - movs r5, 0x4 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - movs r1, 0x1 - mov r8, r1 - mov r1, r8 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - adds r4, 0x3E - ldrb r0, [r4] - movs r6, 0x4 - orrs r0, r6 - strb r0, [r4] - mov r0, r9 - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r10 - ldrb r0, [r4, 0x1] - ands r5, r0 - mov r0, r8 - orrs r5, r0 - strb r5, [r4, 0x1] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r6 - strb r0, [r4] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805DF28: .4byte gFieldEffectObjectTemplatePointers -_0805DF2C: .4byte gSprites - thumb_func_end sub_805DE8C - - thumb_func_start GetIndexOfFirstInactiveObjectEvent -GetIndexOfFirstInactiveObjectEvent: @ 805DF30 - push {lr} - movs r1, 0 - ldr r2, _0805DF3C @ =gObjectEvents - ldrb r0, [r2] - b _0805DF54 - .align 2, 0 -_0805DF3C: .4byte gObjectEvents -_0805DF40: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bhi _0805DF5A - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] -_0805DF54: - lsls r0, 31 - cmp r0, 0 - bne _0805DF40 -_0805DF5A: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end GetIndexOfFirstInactiveObjectEvent - - thumb_func_start GetObjectEventIdByLocalIdAndMap -GetObjectEventIdByLocalIdAndMap: @ 805DF60 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0xFE - bls _0805DF78 - bl GetObjectEventIdByLocalId - b _0805DF7C -_0805DF78: - bl GetObjectEventIdByLocalIdAndMapInternal -_0805DF7C: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetObjectEventIdByLocalIdAndMap - - thumb_func_start TryGetObjectEventIdByLocalIdAndMap -TryGetObjectEventIdByLocalIdAndMap: @ 805DF84 - push {r4,lr} - adds r4, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - bl GetObjectEventIdByLocalIdAndMap - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _0805DFA6 - movs r0, 0 - b _0805DFA8 -_0805DFA6: - movs r0, 0x1 -_0805DFA8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end TryGetObjectEventIdByLocalIdAndMap - - thumb_func_start GetObjectEventIdByXY -GetObjectEventIdByXY: @ 805DFB0 - push {r4-r6,lr} - movs r3, 0 - ldr r5, _0805DFF0 @ =gObjectEvents - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r1, 16 -_0805DFBE: - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r5 - ldrb r0, [r2] - lsls r0, 31 - cmp r0, 0 - beq _0805DFDE - movs r6, 0x10 - ldrsh r0, [r2, r6] - cmp r0, r4 - bne _0805DFDE - movs r6, 0x12 - ldrsh r0, [r2, r6] - cmp r0, r1 - beq _0805DFE8 -_0805DFDE: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _0805DFBE -_0805DFE8: - adds r0, r3, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805DFF0: .4byte gObjectEvents - thumb_func_end GetObjectEventIdByXY - - thumb_func_start GetObjectEventIdByLocalIdAndMapInternal -GetObjectEventIdByLocalIdAndMapInternal: @ 805DFF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - ldr r6, _0805E02C @ =gObjectEvents -_0805E006: - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r6 - ldrb r0, [r3] - lsls r0, 31 - cmp r0, 0 - beq _0805E030 - ldrb r0, [r3, 0x8] - cmp r0, r5 - bne _0805E030 - ldrb r0, [r3, 0x9] - cmp r0, r4 - bne _0805E030 - ldrb r0, [r3, 0xA] - cmp r0, r2 - bne _0805E030 - adds r0, r1, 0 - b _0805E03C - .align 2, 0 -_0805E02C: .4byte gObjectEvents -_0805E030: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _0805E006 - movs r0, 0x10 -_0805E03C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetObjectEventIdByLocalIdAndMapInternal - - thumb_func_start GetObjectEventIdByLocalId -GetObjectEventIdByLocalId: @ 805E044 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, _0805E068 @ =gObjectEvents -_0805E04E: - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r4 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _0805E06C - ldrb r0, [r1, 0x8] - cmp r0, r3 - bne _0805E06C - adds r0, r2, 0 - b _0805E078 - .align 2, 0 -_0805E068: .4byte gObjectEvents -_0805E06C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0805E04E - movs r0, 0x10 -_0805E078: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetObjectEventIdByLocalId - - thumb_func_start sub_805E080 -sub_805E080: @ 805E080 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r5, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r0, 0 - mov r10, r0 - mov r8, r0 - mov r9, r0 - movs r1, 0 - str r1, [sp, 0x4] - str r0, [sp, 0x8] - ldrb r0, [r5, 0x2] - cmp r0, 0xFF - bne _0805E0DA - movs r1, 0x1 - mov r10, r1 - ldrb r4, [r5, 0x8] - ldrb r7, [r5, 0xC] - ldrb r6, [r5, 0xE] - ldrh r0, [r5, 0x4] - mov r8, r0 - ldrh r5, [r5, 0x6] - mov r9, r5 - mov r1, r8 - str r1, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - adds r1, r7, 0 - bl Overworld_GetMapHeaderByGroupAndId - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - subs r0, 0x18 - ldr r1, [r1, 0x4] - adds r5, r1, r0 -_0805E0DA: - ldrb r0, [r5] - adds r1, r7, 0 - adds r2, r6, 0 - mov r3, sp - bl GetAvailableObjectEventSlot - lsls r0, 24 - cmp r0, 0 - bne _0805E106 - ldr r1, [sp, 0x4] - lsls r2, r1, 16 - asrs r2, 16 - ldr r0, [sp, 0x8] - lsls r3, r0, 16 - asrs r3, 16 - adds r0, r5, 0 - mov r1, r10 - bl sub_805E238 - lsls r0, 24 - cmp r0, 0 - bne _0805E10A -_0805E106: - movs r0, 0x10 - b _0805E220 -_0805E10A: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805E13C @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl npc_clear_ids_and_state - mov r1, r10 - cmp r1, 0 - beq _0805E140 - mov r1, r8 - lsls r0, r1, 16 - movs r1, 0xE0 - lsls r1, 11 - adds r0, r1 - lsrs r3, r0, 16 - mov r1, r9 - lsls r0, r1, 16 - movs r1, 0xE0 - lsls r1, 11 - adds r0, r1 - b _0805E14E - .align 2, 0 -_0805E13C: .4byte gObjectEvents -_0805E140: - ldrh r0, [r5, 0x4] - adds r0, 0x7 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r0, [r5, 0x6] - adds r0, 0x7 - lsls r0, 16 -_0805E14E: - lsrs r2, r0, 16 - ldrb r0, [r4] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0x1] - strb r0, [r4, 0x5] - ldrb r0, [r5, 0x9] - strb r0, [r4, 0x6] - ldrb r0, [r5] - strb r0, [r4, 0x8] - strb r7, [r4, 0x9] - strb r6, [r4, 0xA] - strh r3, [r4, 0xC] - strh r2, [r4, 0xE] - strh r3, [r4, 0x10] - strh r2, [r4, 0x12] - strh r3, [r4, 0x14] - strh r2, [r4, 0x16] - ldrb r0, [r5, 0x8] - movs r6, 0xF - adds r1, r6, 0 - ands r1, r0 - ldrb r2, [r4, 0xB] - movs r0, 0x10 - negs r0, r0 - mov r8, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0xB] - ldrb r1, [r5, 0x8] - lsls r1, 4 - ands r0, r6 - orrs r0, r1 - strb r0, [r4, 0xB] - ldrb r1, [r5, 0xA] - lsls r1, 28 - movs r0, 0xF - mov r9, r0 - lsrs r1, 28 - ldrb r2, [r4, 0x19] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x19] - ldrb r1, [r5, 0xA] - lsrs r1, 4 - lsls r1, 4 - ands r0, r6 - orrs r0, r1 - strb r0, [r4, 0x19] - ldrh r0, [r5, 0xC] - strb r0, [r4, 0x7] - ldrh r0, [r5, 0xE] - strb r0, [r4, 0x1D] - ldr r1, _0805E230 @ =gInitialMovementTypeFacingDirections - ldrb r0, [r5, 0x9] - adds r0, r1 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - strb r1, [r0] - ldrb r1, [r0] - adds r0, r4, 0 - bl ObjectEventSetDirection - adds r0, r4, 0 - bl ObjectEventHandleDynamicGraphicsId - ldr r1, _0805E234 @ =gRangedMovementTypes - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0805E21C - ldrb r2, [r4, 0x19] - adds r0, r6, 0 - ands r0, r2 - cmp r0, 0 - bne _0805E204 - lsls r0, r2, 28 - lsrs r0, 28 - adds r0, 0x1 - mov r1, r9 - ands r0, r1 - mov r1, r8 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x19] -_0805E204: - ldrb r2, [r4, 0x19] - movs r0, 0xF0 - ands r0, r2 - cmp r0, 0 - bne _0805E21C - lsrs r1, r2, 4 - adds r1, 0x1 - lsls r1, 4 - adds r0, r6, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x19] -_0805E21C: - mov r0, sp - ldrb r0, [r0] -_0805E220: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805E230: .4byte gInitialMovementTypeFacingDirections -_0805E234: .4byte gRangedMovementTypes - thumb_func_end sub_805E080 - - thumb_func_start sub_805E238 -sub_805E238: @ 805E238 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - cmp r1, 0 - beq _0805E25C - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r5, 16 - asrs r2, 16 - bl sub_805E27C - lsls r0, 24 - cmp r0, 0 - beq _0805E274 -_0805E25C: - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r5, 16 - asrs r2, 16 - adds r0, r6, 0 - bl sub_805E2E8 - lsls r0, 24 - cmp r0, 0 - beq _0805E274 - movs r0, 0x1 - b _0805E276 -_0805E274: - movs r0, 0 -_0805E276: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805E238 - - thumb_func_start sub_805E27C -sub_805E27C: @ 805E27C - push {r4,r5,lr} - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - adds r5, r4, 0 - ldrb r0, [r0, 0x1] - subs r0, 0x5F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0805E2DE - ldr r0, _0805E2B8 @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r0, r3, 16 - asrs r3, r0, 16 - cmp r1, r3 - bge _0805E2BC - adds r0, r1, 0 - adds r0, 0x8 - cmp r0, r3 - blt _0805E2DE - movs r0, 0x2 - ldrsh r3, [r2, r0] - subs r1, r3, 0x6 - lsls r0, r4, 16 - b _0805E2CE - .align 2, 0 -_0805E2B8: .4byte gSaveBlock1Ptr -_0805E2BC: - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, 0x8 - cmp r0, r3 - bgt _0805E2DE - movs r0, 0x2 - ldrsh r3, [r2, r0] - subs r1, r3, 0x6 - lsls r0, r5, 16 -_0805E2CE: - asrs r2, r0, 16 - cmp r1, r2 - bgt _0805E2DE - adds r0, r3, 0x6 - cmp r0, r2 - blt _0805E2DE - movs r0, 0 - b _0805E2E0 -_0805E2DE: - movs r0, 0x1 -_0805E2E0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805E27C - - thumb_func_start sub_805E2E8 -sub_805E2E8: @ 805E2E8 - push {r4,r5,lr} - adds r4, r0, 0 - bl GetCurrentMapType - lsls r0, 24 - lsrs r0, 24 - bl IsMapTypeOutdoors - lsls r0, 24 - cmp r0, 0 - beq _0805E37C - ldr r1, _0805E374 @ =VMap - ldr r0, [r1] - adds r3, r0, 0 - subs r3, 0x10 - ldr r0, [r1, 0x4] - adds r5, r0, 0 - subs r5, 0xF - ldrb r0, [r4, 0x1] - subs r0, 0x5F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0805E37C - ldr r0, _0805E378 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r1, [r1, r2] - adds r2, r0, 0 - cmp r1, 0 - bne _0805E32E - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - ble _0805E36A -_0805E32E: - ldr r0, [r2] - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, r3 - bne _0805E344 - movs r0, 0x4 - ldrsh r1, [r4, r0] - adds r0, r3, 0 - subs r0, 0x8 - cmp r1, r0 - bge _0805E36A -_0805E344: - ldr r0, [r2] - movs r1, 0x2 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0805E356 - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - ble _0805E36A -_0805E356: - ldr r0, [r2] - movs r2, 0x2 - ldrsh r0, [r0, r2] - cmp r0, r5 - bne _0805E37C - movs r0, 0x6 - ldrsh r1, [r4, r0] - subs r0, r5, 0x6 - cmp r1, r0 - blt _0805E37C -_0805E36A: - adds r0, r4, 0 - bl sub_805E384 - movs r0, 0 - b _0805E37E - .align 2, 0 -_0805E374: .4byte VMap -_0805E378: .4byte gSaveBlock1Ptr -_0805E37C: - movs r0, 0x1 -_0805E37E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805E2E8 - - thumb_func_start sub_805E384 -sub_805E384: @ 805E384 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x14] - subs r0, 0x11 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xE - bhi _0805E39A - ldrh r0, [r1, 0x14] - bl FlagSet -_0805E39A: - pop {r0} - bx r0 - thumb_func_end sub_805E384 - - thumb_func_start sub_805E3A0 -sub_805E3A0: @ 805E3A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0805E3B8 @ =gMapHeader - ldr r0, [r0, 0x4] - cmp r0, 0 - bne _0805E3CE - b _0805E404 - .align 2, 0 -_0805E3B8: .4byte gMapHeader -_0805E3BC: - ldr r0, [r7] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r4, 0 - bl sub_805E080 - lsls r0, 24 - lsrs r0, 24 - b _0805E406 -_0805E3CE: - ldrb r6, [r0] - movs r5, 0 - cmp r5, r6 - bcs _0805E404 - ldr r7, _0805E410 @ =gSaveBlock1Ptr -_0805E3D8: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - movs r1, 0x8E - lsls r1, 4 - adds r0, r1 - ldr r1, [r7] - adds r4, r1, r0 - ldrb r0, [r4] - cmp r0, r8 - bne _0805E3FA - ldrh r0, [r4, 0x14] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0805E3BC -_0805E3FA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _0805E3D8 -_0805E404: - movs r0, 0x10 -_0805E406: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805E410: .4byte gSaveBlock1Ptr - thumb_func_end sub_805E3A0 - - thumb_func_start GetAvailableObjectEventSlot -GetAvailableObjectEventSlot: @ 805E414 - push {r4-r7,lr} - mov r12, r3 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r2, 0 - ldr r1, _0805E470 @ =gObjectEvents - ldrb r0, [r1] - lsls r0, 31 - adds r7, r1, 0 - cmp r0, 0 - beq _0805E468 - adds r3, r1, 0 -_0805E434: - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r3 - ldrb r0, [r1, 0x8] - cmp r0, r6 - bne _0805E44E - ldrb r0, [r1, 0x9] - cmp r0, r5 - bne _0805E44E - ldrb r0, [r1, 0xA] - cmp r0, r4 - beq _0805E46C -_0805E44E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bhi _0805E46C - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0805E434 -_0805E468: - cmp r2, 0xF - bls _0805E474 -_0805E46C: - movs r0, 0x1 - b _0805E4A8 - .align 2, 0 -_0805E470: .4byte gObjectEvents -_0805E474: - mov r0, r12 - strb r2, [r0] - ldr r1, _0805E4B0 @ =gObjectEvents -_0805E47A: - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrb r0, [r3] - lsls r0, 31 - cmp r0, 0 - beq _0805E49C - ldrb r0, [r3, 0x8] - cmp r0, r6 - bne _0805E49C - ldrb r0, [r3, 0x9] - cmp r0, r5 - bne _0805E49C - ldrb r0, [r3, 0xA] - cmp r0, r4 - beq _0805E46C -_0805E49C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0805E47A - movs r0, 0 -_0805E4A8: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805E4B0: .4byte gObjectEvents - thumb_func_end GetAvailableObjectEventSlot - - thumb_func_start RemoveObjectEvent -RemoveObjectEvent: @ 805E4B4 - push {lr} - ldrb r2, [r0] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bl RemoveObjectEventInternal - pop {r0} - bx r0 - thumb_func_end RemoveObjectEvent - - thumb_func_start RemoveObjectEventByLocalIdAndMap -RemoveObjectEventByLocalIdAndMap: @ 805E4C8 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805E506 - mov r0, sp - ldrb r0, [r0] - bl GetObjectEventFlagIdByObjectEventId - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805E50C @ =gObjectEvents - adds r0, r1 - bl RemoveObjectEvent -_0805E506: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0805E50C: .4byte gObjectEvents - thumb_func_end RemoveObjectEventByLocalIdAndMap - - thumb_func_start RemoveObjectEventInternal -RemoveObjectEventInternal: @ 805E510 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldrh r2, [r0, 0x6] - ldr r1, _0805E554 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - ldr r2, _0805E558 @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0xC - adds r0, r1 - mov r1, sp - str r1, [r0] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - bl DestroySprite - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805E554: .4byte 0xffff0000 -_0805E558: .4byte gSprites - thumb_func_end RemoveObjectEventInternal - - thumb_func_start unref_sub_808D958 -unref_sub_808D958: @ 805E55C - push {r4,lr} - movs r4, 0 -_0805E560: - ldr r0, _0805E588 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _0805E576 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r1, _0805E58C @ =gObjectEvents - adds r0, r1 - bl RemoveObjectEvent -_0805E576: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0805E560 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805E588: .4byte gPlayerAvatar -_0805E58C: .4byte gObjectEvents - thumb_func_end unref_sub_808D958 - - thumb_func_start sub_805E590 -sub_805E590: @ 805E590 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r1, 0 - adds r1, r2, 0 - adds r2, r3, 0 - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x24] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - lsls r4, 16 - lsrs r4, 16 - mov r10, r4 - bl sub_805E080 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x10 - bne _0805E5CA - movs r0, 0x10 - b _0805E718 -_0805E5CA: - mov r0, r8 - lsls r4, r0, 3 - adds r0, r4, r0 - lsls r0, 2 - ldr r1, _0805E5F4 @ =gObjectEvents - adds r5, r0, r1 - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - adds r6, r0, 0 - ldrb r1, [r6, 0xC] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0805E5F8 - ldrh r0, [r6, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl LoadPlayerObjectReflectionPalette - b _0805E606 - .align 2, 0 -_0805E5F4: .4byte gObjectEvents -_0805E5F8: - cmp r0, 0xA - bne _0805E606 - ldrh r0, [r6, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl LoadSpecialObjectReflectionPalette -_0805E606: - ldrb r0, [r5, 0x6] - cmp r0, 0x4C - bne _0805E614 - ldrb r0, [r5, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r5, 0x1] -_0805E614: - ldr r1, _0805E648 @ =0x0000ffff - adds r0, r1, 0 - strh r0, [r7, 0x2] - adds r0, r7, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x40 - bne _0805E650 - ldr r0, _0805E64C @ =gObjectEvents - mov r2, r8 - adds r1, r4, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - movs r0, 0x10 - b _0805E718 - .align 2, 0 -_0805E648: .4byte 0x0000ffff -_0805E64C: .4byte gObjectEvents -_0805E650: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _0805E728 @ =gSprites - adds r4, r0, r1 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - ldrh r2, [r5, 0x10] - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldrh r2, [r5, 0x12] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_8063AD4 - ldrh r0, [r6, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r4, 0 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r2, r4, 0 - adds r2, 0x29 - strb r0, [r2] - ldrh r0, [r4, 0x20] - adds r0, 0x8 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r1, 0x10 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - strh r0, [r4, 0x22] - ldrb r1, [r6, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - mov r0, r8 - strh r0, [r4, 0x2E] - strb r7, [r5, 0x4] - ldrb r1, [r6, 0xC] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 4 - ldrb r2, [r5, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _0805E702 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0805E702: - ldrb r0, [r5, 0xB] - lsrs r0, 4 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80679F8 - mov r0, r8 -_0805E718: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805E728: .4byte gSprites - thumb_func_end sub_805E590 - - thumb_func_start SpawnObjectEvent -SpawnObjectEvent: @ 805E72C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x2C - mov r9, r0 - adds r6, r1, 0 - mov r8, r2 - adds r4, r3, 0 - ldr r5, [sp, 0x48] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0 - str r0, [sp, 0x20] - mov r1, r9 - ldrb r0, [r1, 0x1] - bl GetObjectEventGraphicsInfo - adds r7, r0, 0 - add r2, sp, 0x20 - mov r0, r9 - add r1, sp, 0x8 - bl MakeObjectTemplateFromObjectEventTemplate - ldrh r3, [r7, 0x6] - ldr r2, _0805E7A4 @ =0xffff0000 - add r1, sp, 0x24 - ldr r0, [r1, 0x4] - ands r0, r2 - orrs r0, r3 - str r0, [r1, 0x4] - str r1, [sp, 0x14] - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x4] - mov r0, r9 - add r1, sp, 0x8 - adds r2, r6, 0 - mov r3, r8 - bl sub_805E590 - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - cmp r2, 0x10 - bne _0805E7A8 - movs r0, 0x10 - b _0805E7DE - .align 2, 0 -_0805E7A4: .4byte 0xffff0000 -_0805E7A8: - ldr r4, _0805E7EC @ =gSprites - ldr r1, _0805E7F0 @ =gObjectEvents - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0xC - adds r0, r1 - ldr r1, [r7, 0x1C] - str r1, [r0] - ldr r2, [sp, 0x20] - cmp r2, 0 - beq _0805E7DC - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r1, r2, 0 - bl SetSubspriteTables -_0805E7DC: - adds r0, r5, 0 -_0805E7DE: - add sp, 0x2C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805E7EC: .4byte gSprites -_0805E7F0: .4byte gObjectEvents - thumb_func_end SpawnObjectEvent - - thumb_func_start SpawnSpecialObjectEvent -SpawnSpecialObjectEvent: @ 805E7F4 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - mov r4, sp - adds r4, 0x6 - add r0, sp, 0x4 - adds r1, r4, 0 - bl GetObjectEventMovingCameraOffset - ldr r0, _0805E82C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - add r0, sp, 0x4 - movs r6, 0 - ldrsh r3, [r0, r6] - movs r6, 0 - ldrsh r0, [r4, r6] - str r0, [sp] - adds r0, r5, 0 - bl SpawnObjectEvent - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805E82C: .4byte gSaveBlock1Ptr - thumb_func_end SpawnSpecialObjectEvent - - thumb_func_start SpawnSpecialObjectEventParameterized -SpawnSpecialObjectEventParameterized: @ 805E830 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - ldr r4, [sp, 0x2C] - ldr r5, [sp, 0x30] - mov r8, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r3, 16 - ldr r5, _0805E894 @ =0xfff90000 - adds r3, r5 - lsrs r3, 16 - lsls r4, 16 - adds r4, r5 - lsrs r4, 16 - mov r5, sp - movs r6, 0 - strb r2, [r5] - mov r2, sp - strb r0, [r2, 0x1] - mov r0, sp - strb r6, [r0, 0x2] - movs r5, 0 - strh r3, [r0, 0x4] - strh r4, [r0, 0x6] - mov r2, r8 - strb r2, [r0, 0x8] - strb r1, [r0, 0x9] - mov r2, sp - ldrb r1, [r2, 0xA] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0xA] - mov r0, sp - strb r5, [r0, 0xA] - strh r6, [r0, 0xC] - strh r6, [r0, 0xE] - bl SpawnSpecialObjectEvent - lsls r0, 24 - lsrs r0, 24 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805E894: .4byte 0xfff90000 - thumb_func_end SpawnSpecialObjectEventParameterized - - thumb_func_start TrySpawnObjectEvent -TrySpawnObjectEvent: @ 805E898 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - adds r1, r7, 0 - adds r2, r6, 0 - bl GetObjectEventTemplateByLocalIdAndMap - adds r5, r0, 0 - cmp r5, 0 - beq _0805E8DE - mov r4, sp - adds r4, 0x6 - add r0, sp, 0x4 - adds r1, r4, 0 - bl GetObjectEventMovingCameraOffset - add r0, sp, 0x4 - movs r1, 0 - ldrsh r3, [r0, r1] - movs r1, 0 - ldrsh r0, [r4, r1] - str r0, [sp] - adds r0, r5, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl SpawnObjectEvent - lsls r0, 24 - lsrs r0, 24 - b _0805E8E0 -_0805E8DE: - movs r0, 0x10 -_0805E8E0: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end TrySpawnObjectEvent - - thumb_func_start MakeObjectTemplateFromObjectEventGraphicsInfo -MakeObjectTemplateFromObjectEventGraphicsInfo: @ 805E8E8 - push {r4-r7,lr} - adds r6, r1, 0 - adds r4, r2, 0 - adds r7, r3, 0 - lsls r0, 24 - lsrs r0, 24 - bl GetObjectEventGraphicsInfo - adds r5, r0, 0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldr r0, [r5, 0x10] - str r0, [r4, 0x4] - ldr r0, [r5, 0x18] - str r0, [r4, 0x8] - ldr r0, [r5, 0x1C] - str r0, [r4, 0xC] - ldr r0, [r5, 0x20] - str r0, [r4, 0x10] - bl ScriptContext1_IsScriptSetUp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0805E934 - bl sub_8112CAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805E934 - ldr r0, _0805E930 @ =sub_811246C - str r0, [r4, 0x14] - b _0805E936 - .align 2, 0 -_0805E930: .4byte sub_811246C -_0805E934: - str r6, [r4, 0x14] -_0805E936: - ldr r0, [r5, 0x14] - str r0, [r7] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end MakeObjectTemplateFromObjectEventGraphicsInfo - - thumb_func_start MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex -MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex: @ 805E940 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - ldr r4, _0805E95C @ =gMovementTypeCallbacks - lsrs r1, 14 - adds r1, r4 - ldr r1, [r1] - bl MakeObjectTemplateFromObjectEventGraphicsInfo - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805E95C: .4byte gMovementTypeCallbacks - thumb_func_end MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex - - thumb_func_start MakeObjectTemplateFromObjectEventTemplate -MakeObjectTemplateFromObjectEventTemplate: @ 805E960 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldrb r0, [r4, 0x1] - ldrb r1, [r4, 0x9] - adds r2, r5, 0 - bl MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end MakeObjectTemplateFromObjectEventTemplate - - thumb_func_start AddPseudoObjectEvent -AddPseudoObjectEvent: @ 805E978 - push {r4-r6,lr} - sub sp, 0x1C - ldr r4, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - lsls r4, 24 - lsrs r4, 24 - add r3, sp, 0x18 - mov r2, sp - bl MakeObjectTemplateFromObjectEventGraphicsInfo - mov r0, sp - ldrh r1, [r0, 0x2] - ldr r0, _0805E9F0 @ =0x0000ffff - cmp r1, r0 - beq _0805E9A8 - mov r0, sp - ldrh r0, [r0, 0x2] - bl sub_805F4B0 -_0805E9A8: - lsls r1, r6, 16 - asrs r1, 16 - lsls r2, r5, 16 - asrs r2, 16 - mov r0, sp - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _0805E9E4 - ldr r1, [sp, 0x18] - cmp r1, 0 - beq _0805E9E4 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r0, _0805E9F4 @ =gSprites - adds r4, r0 - adds r0, r4, 0 - bl SetSubspriteTables - adds r4, 0x42 - ldrb r1, [r4] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4] -_0805E9E4: - adds r0, r5, 0 - add sp, 0x1C - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805E9F0: .4byte 0x0000ffff -_0805E9F4: .4byte gSprites - thumb_func_end AddPseudoObjectEvent - - thumb_func_start sprite_new -sprite_new: @ 805E9F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - adds r5, r0, 0 - ldr r0, [sp, 0x44] - ldr r4, [sp, 0x48] - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - add r1, sp, 0x18 - mov r8, r1 - strh r2, [r1] - mov r6, sp - adds r6, 0x1A - strh r3, [r6] - lsls r0, 24 - lsrs r7, r0, 24 - mov r9, r7 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x20] - adds r0, r5, 0 - bl GetObjectEventGraphicsInfo - adds r4, r0, 0 - ldr r1, _0805EB38 @ =UpdateObjectEventSpriteSubpriorityAndVisibility - add r3, sp, 0x1C - adds r0, r5, 0 - mov r2, sp - bl MakeObjectTemplateFromObjectEventGraphicsInfo - mov r1, sp - ldr r2, _0805EB3C @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1, 0x2] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, 0x7 - strh r0, [r1] - movs r1, 0 - ldrsh r0, [r6, r1] - adds r0, 0x7 - strh r0, [r6] - mov r0, r8 - adds r1, r6, 0 - movs r2, 0x8 - movs r3, 0x10 - bl sub_8063BC4 - mov r2, r8 - movs r0, 0 - ldrsh r1, [r2, r0] - movs r0, 0 - ldrsh r2, [r6, r0] - mov r0, sp - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x40 - beq _0805EB24 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - ldr r1, _0805EB40 @ =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r5, 0 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, 0x1 - strb r0, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldrb r1, [r4, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r3, [r5, 0x5] - movs r2, 0xF - adds r0, r2, 0 - ands r0, r3 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r3, r5, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - mov r0, r10 - strh r0, [r5, 0x2E] - strh r7, [r5, 0x30] - ldrb r1, [r4, 0xC] - ands r2, r1 - cmp r2, 0xA - bne _0805EAE4 - ldrh r0, [r4, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl LoadSpecialObjectReflectionPalette -_0805EAE4: - ldr r1, [sp, 0x1C] - cmp r1, 0 - beq _0805EB00 - adds r0, r5, 0 - bl SetSubspriteTables - adds r2, r5, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2] -_0805EB00: - adds r0, r5, 0 - mov r1, r9 - bl InitObjectPriorityByZCoord - mov r0, r9 - adds r1, r5, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldr r0, [sp, 0x20] - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_0805EB24: - adds r0, r6, 0 - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805EB38: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility -_0805EB3C: .4byte 0x0000ffff -_0805EB40: .4byte gSprites - thumb_func_end sprite_new - - thumb_func_start sub_805EB44 -sub_805EB44: @ 805EB44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x1C - adds r6, r0, 0 - adds r4, r2, 0 - adds r5, r3, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - bl GetObjectEventGraphicsInfo - adds r7, r0, 0 - ldr r1, _0805EC24 @ =SpriteCallbackDummy - add r3, sp, 0x18 - adds r0, r6, 0 - mov r2, sp - bl MakeObjectTemplateFromObjectEventGraphicsInfo - mov r1, sp - ldr r2, _0805EC28 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1, 0x2] - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _0805EC14 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _0805EC2C @ =gSprites - adds r4, r0, r1 - ldrh r0, [r7, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r4, 0 - adds r1, 0x29 - strb r0, [r1] - movs r0, 0 - ldrsb r0, [r1, r0] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrb r1, [r7, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r3, [r4, 0x5] - movs r2, 0xF - adds r0, r2, 0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4, 0x5] - mov r0, r8 - strh r0, [r4, 0x2E] - ldrb r1, [r7, 0xC] - ands r2, r1 - cmp r2, 0xA - bne _0805EBE6 - ldrh r0, [r7, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl LoadSpecialObjectReflectionPalette -_0805EBE6: - ldr r1, [sp, 0x18] - cmp r1, 0 - beq _0805EC02 - adds r0, r4, 0 - bl SetSubspriteTables - adds r2, r4, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2] -_0805EC02: - movs r0, 0x1 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0805EC14: - adds r0, r5, 0 - add sp, 0x1C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805EC24: .4byte SpriteCallbackDummy -_0805EC28: .4byte 0x0000ffff -_0805EC2C: .4byte gSprites - thumb_func_end sub_805EB44 - - thumb_func_start sub_805EC30 -sub_805EC30: @ 805EC30 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x8] - ldr r0, _0805ED08 @ =gMapHeader - ldr r3, [r0, 0x4] - cmp r3, 0 - beq _0805ECF8 - ldr r7, _0805ED0C @ =gSaveBlock1Ptr - ldr r2, [r7] - ldrh r1, [r2] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r4, r0, 16 - adds r1, 0x11 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0xC] - ldrh r1, [r2, 0x2] - adds r0, r1, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - ldrb r3, [r3] - str r3, [sp, 0x10] - movs r5, 0 - cmp r5, r3 - bcs _0805ECF8 - lsls r0, r1, 16 - asrs r0, 16 - mov r9, r0 - lsls r0, r4, 16 - asrs r0, 16 - mov r8, r0 -_0805EC86: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - movs r1, 0x8E - lsls r1, 4 - adds r0, r1 - ldr r1, [r7] - adds r4, r1, r0 - ldrh r0, [r4, 0x4] - adds r0, 0x7 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r4, 0x6] - adds r0, 0x7 - lsls r0, 16 - asrs r1, r0, 16 - cmp r9, r1 - bgt _0805ECEC - mov r3, r10 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, r1 - blt _0805ECEC - lsls r0, r2, 16 - asrs r1, r0, 16 - cmp r8, r1 - bgt _0805ECEC - ldr r6, [sp, 0xC] - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, r1 - blt _0805ECEC - ldrh r0, [r4, 0x14] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0805ECEC - ldr r0, [r7] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - ldr r0, [sp, 0x4] - lsls r3, r0, 16 - ldr r6, [sp, 0x8] - lsls r0, r6, 16 - asrs r0, 16 - str r0, [sp] - adds r0, r4, 0 - asrs r3, 16 - bl SpawnObjectEvent -_0805ECEC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [sp, 0x10] - cmp r5, r0 - bcc _0805EC86 -_0805ECF8: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805ED08: .4byte gMapHeader -_0805ED0C: .4byte gSaveBlock1Ptr - thumb_func_end sub_805EC30 - - thumb_func_start RemoveObjectEventsOutsideView -RemoveObjectEventsOutsideView: @ 805ED10 - push {r4-r6,lr} - movs r3, 0 - ldr r6, _0805ED64 @ =gUnknown_2031DEC -_0805ED16: - movs r2, 0 - movs r4, 0 - adds r5, r3, 0x1 -_0805ED1C: - lsls r0, r2, 2 - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0 - beq _0805ED2E - ldrb r1, [r1, 0x2] - cmp r3, r1 - bne _0805ED2E - movs r4, 0x1 -_0805ED2E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0805ED1C - cmp r4, 0 - bne _0805ED56 - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - ldr r1, _0805ED68 @ =gObjectEvents - adds r2, r0, r1 - ldr r0, [r2] - ldr r1, _0805ED6C @ =0x00010001 - ands r0, r1 - cmp r0, 0x1 - bne _0805ED56 - adds r0, r2, 0 - bl RemoveObjectEventIfOutsideView -_0805ED56: - lsls r0, r5, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _0805ED16 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805ED64: .4byte gUnknown_2031DEC -_0805ED68: .4byte gObjectEvents -_0805ED6C: .4byte 0x00010001 - thumb_func_end RemoveObjectEventsOutsideView - - thumb_func_start RemoveObjectEventIfOutsideView -RemoveObjectEventIfOutsideView: @ 805ED70 - push {r4-r7,lr} - adds r3, r0, 0 - ldr r0, _0805EDEC @ =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - subs r1, r0, 0x2 - lsls r1, 16 - adds r0, 0x11 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r4, [r2, 0x2] - adds r0, r4, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0x10 - ldrsh r2, [r3, r0] - lsrs r7, r1, 16 - asrs r1, 16 - cmp r2, r1 - blt _0805EDB6 - lsls r0, r5, 16 - asrs r0, 16 - cmp r2, r0 - bgt _0805EDB6 - movs r0, 0x12 - ldrsh r1, [r3, r0] - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - blt _0805EDB6 - lsls r0, r6, 16 - asrs r0, 16 - cmp r1, r0 - ble _0805EDE4 -_0805EDB6: - movs r0, 0xC - ldrsh r1, [r3, r0] - lsls r0, r7, 16 - asrs r0, 16 - cmp r1, r0 - blt _0805EDDE - lsls r0, r5, 16 - asrs r0, 16 - cmp r1, r0 - bgt _0805EDDE - movs r0, 0xE - ldrsh r1, [r3, r0] - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - blt _0805EDDE - lsls r0, r6, 16 - asrs r0, 16 - cmp r1, r0 - ble _0805EDE4 -_0805EDDE: - adds r0, r3, 0 - bl RemoveObjectEvent -_0805EDE4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805EDEC: .4byte gSaveBlock1Ptr - thumb_func_end RemoveObjectEventIfOutsideView - - thumb_func_start sub_805EDF0 -sub_805EDF0: @ 805EDF0 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - bl ClearPlayerAvatarInfo - movs r6, 0 - ldr r7, _0805EE38 @ =gObjectEvents - lsls r4, 16 - lsls r5, 16 -_0805EE0A: - lsls r0, r6, 3 - adds r0, r6 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0805EE24 - adds r0, r6, 0 - asrs r1, r4, 16 - asrs r2, r5, 16 - bl sub_805EE3C -_0805EE24: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bls _0805EE0A - bl sub_805DE8C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805EE38: .4byte gObjectEvents - thumb_func_end sub_805EDF0 - - thumb_func_start sub_805EE3C -sub_805EE3C: @ 805EE3C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - movs r7, 0 - ldr r2, _0805EFE0 @ =gUnknown_2031DEC -_0805EE5E: - lsls r0, r7, 2 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0805EE70 - ldrb r1, [r1, 0x2] - cmp r8, r1 - bne _0805EE70 - b _0805EFCE -_0805EE70: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _0805EE5E - mov r1, r8 - lsls r0, r1, 3 - add r0, r8 - lsls r0, 2 - ldr r1, _0805EFE4 @ =gObjectEvents - adds r6, r0, r1 - movs r0, 0 - str r0, [sp, 0x20] - ldrb r0, [r6, 0x5] - bl GetObjectEventGraphicsInfo - adds r5, r0, 0 - ldrh r2, [r5, 0x6] - ldr r1, _0805EFE8 @ =0xffff0000 - add r4, sp, 0x18 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [r4, 0x4] - ldrb r0, [r6, 0x5] - ldrb r1, [r6, 0x6] - add r3, sp, 0x20 - mov r2, sp - bl MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex - str r4, [sp, 0xC] - mov r0, sp - ldr r2, _0805EFEC @ =0x0000ffff - adds r4, r2, 0 - strh r4, [r0, 0x2] - ldrb r1, [r5, 0xC] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0805EECA - ldrh r0, [r5, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl LoadPlayerObjectReflectionPalette -_0805EECA: - ldrb r0, [r5, 0xC] - lsls r1, r0, 28 - lsrs r0, r1, 28 - cmp r0, 0x9 - bls _0805EEDC - ldrh r0, [r5, 0x2] - lsrs r1, 28 - bl LoadSpecialObjectReflectionPalette -_0805EEDC: - mov r0, sp - strh r4, [r0, 0x2] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x40 - beq _0805EFCE - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _0805EFF0 @ =gSprites - adds r4, r0, r1 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - ldrh r2, [r6, 0x10] - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldrh r2, [r6, 0x12] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl sub_8063AD4 - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r4, 0 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r2, r4, 0 - adds r2, 0x29 - strb r0, [r2] - ldrh r0, [r4, 0x20] - adds r0, 0x8 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r1, 0x10 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, [r5, 0x1C] - str r0, [r4, 0xC] - ldrb r0, [r6, 0x6] - cmp r0, 0xB - bne _0805EF6A - mov r0, r8 - adds r1, r7, 0 - bl SetPlayerAvatarObjectEventIdAndObjectId - bl CreateWarpArrowSprite - strb r0, [r6, 0x1B] -_0805EF6A: - ldr r1, [sp, 0x20] - cmp r1, 0 - beq _0805EF76 - adds r0, r4, 0 - bl SetSubspriteTables -_0805EF76: - ldrb r1, [r5, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - mov r0, r8 - strh r0, [r4, 0x2E] - strb r7, [r6, 0x4] - ldrb r0, [r6, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _0805EFBC - ldrb r0, [r6, 0x6] - cmp r0, 0xB - beq _0805EFBC - ldrb r0, [r6, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0805EFBC: - adds r0, r6, 0 - bl sub_805EFF4 - ldrb r0, [r6, 0xB] - lsrs r0, 4 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord -_0805EFCE: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805EFE0: .4byte gUnknown_2031DEC -_0805EFE4: .4byte gObjectEvents -_0805EFE8: .4byte 0xffff0000 -_0805EFEC: .4byte 0x0000ffff -_0805EFF0: .4byte gSprites - thumb_func_end sub_805EE3C - - thumb_func_start sub_805EFF4 -sub_805EFF4: @ 805EFF4 - push {lr} - ldrb r2, [r0] - movs r3, 0x3 - negs r3, r3 - adds r1, r3, 0 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r2, [r0, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - ands r1, r3 - movs r2, 0x5 - negs r2, r2 - ands r1, r2 - subs r2, 0x4 - ands r1, r2 - subs r2, 0x8 - ands r1, r2 - subs r2, 0x10 - ands r1, r2 - strb r1, [r0, 0x2] - bl ObjectEventClearAnim - pop {r0} - bx r0 - thumb_func_end sub_805EFF4 - - thumb_func_start SetPlayerAvatarObjectEventIdAndObjectId -SetPlayerAvatarObjectEventIdAndObjectId: @ 805F02C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0805F058 @ =gPlayerAvatar - strb r0, [r5, 0x5] - strb r1, [r5, 0x4] - ldr r1, _0805F05C @ =gObjectEvents - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldrb r0, [r4, 0x5] - bl sub_805C824 - strb r0, [r5, 0x7] - ldrb r0, [r4, 0x5] - movs r1, 0x20 - bl SetPlayerAvatarExtraStateTransition - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805F058: .4byte gPlayerAvatar -_0805F05C: .4byte gObjectEvents - thumb_func_end SetPlayerAvatarObjectEventIdAndObjectId - - thumb_func_start ObjectEventSetGraphicsId -ObjectEventSetGraphicsId: @ 805F060 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - adds r0, r1, 0 - bl GetObjectEventGraphicsInfo - adds r5, r0, 0 - ldrb r1, [r6, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805F1CC @ =gSprites - adds r4, r0, r1 - ldrb r1, [r5, 0xC] - movs r0, 0xF - mov r8, r0 - ands r0, r1 - cmp r0, 0 - bne _0805F09E - ldrh r0, [r5, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl PatchObjectPalette -_0805F09E: - ldrb r1, [r5, 0xC] - mov r0, r8 - ands r0, r1 - cmp r0, 0xA - bne _0805F0B2 - ldrh r0, [r5, 0x2] - lsls r1, 28 - lsrs r1, 28 - bl LoadSpecialObjectReflectionPalette -_0805F0B2: - ldr r0, [r4, 0xC] - ldrh r0, [r0, 0x4] - lsrs r0, 5 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - adds r7, r4, 0 - adds r7, 0x3F - ldrb r1, [r7] - movs r2, 0x40 - mov r9, r2 - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _0805F0D6 - adds r0, r4, 0 - bl sub_80075C0 -_0805F0D6: - ldr r0, [r5, 0x10] - ldrb r2, [r0, 0x1] - lsrs r2, 6 - lsls r2, 6 - ldrb r3, [r4, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, 0x1] - ldr r0, [r5, 0x10] - ldrb r0, [r0, 0x3] - lsrs r0, 6 - lsls r0, 6 - ldrb r2, [r4, 0x3] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldr r3, [r5, 0x1C] - str r3, [r4, 0xC] - ldr r0, [r5, 0x18] - str r0, [r4, 0x8] - ldr r0, [r5, 0x14] - str r0, [r4, 0x18] - ldrb r1, [r5, 0xC] - lsls r1, 28 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r7] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _0805F152 - ldrh r0, [r3, 0x4] - lsrs r0, 5 - lsls r0, 24 - lsrs r0, 24 - bl AllocSpriteTiles - lsls r0, 16 - asrs r2, r0, 16 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - bne _0805F142 - mov r0, r10 - bl AllocSpriteTiles - lsls r0, 16 - asrs r2, r0, 16 -_0805F142: - ldr r1, _0805F1D0 @ =0x000003ff - adds r0, r1, 0 - ands r2, r0 - ldrh r1, [r4, 0x4] - ldr r0, _0805F1D4 @ =0xfffffc00 - ands r0, r1 - orrs r0, r2 - strh r0, [r4, 0x4] -_0805F152: - ldrb r1, [r5, 0xC] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 4 - ldrb r2, [r6, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x1] - mov r2, sp - ldrb r2, [r2] - strb r2, [r6, 0x5] - movs r1, 0x10 - ldrsh r0, [r6, r1] - movs r2, 0x12 - ldrsh r1, [r6, r2] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - bl SetSpritePosToMapCoords - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r4, 0 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r2, r4, 0 - adds r2, 0x29 - strb r0, [r2] - ldrh r0, [r4, 0x20] - adds r0, 0x8 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x22] - adds r1, 0x10 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - strh r0, [r4, 0x22] - ldrb r0, [r6, 0x1] - lsrs r0, 7 - cmp r0, 0 - beq _0805F1BA - bl CameraObjectReset1 -_0805F1BA: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805F1CC: .4byte gSprites -_0805F1D0: .4byte 0x000003ff -_0805F1D4: .4byte 0xfffffc00 - thumb_func_end ObjectEventSetGraphicsId - - thumb_func_start ObjectEventSetGraphicsIdByLocalIdAndMap -ObjectEventSetGraphicsIdByLocalIdAndMap: @ 805F1D8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805F20C - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805F214 @ =gObjectEvents - adds r0, r1 - adds r1, r4, 0 - bl ObjectEventSetGraphicsId -_0805F20C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805F214: .4byte gObjectEvents - thumb_func_end ObjectEventSetGraphicsIdByLocalIdAndMap - - thumb_func_start ObjectEventTurn -ObjectEventTurn: @ 805F218 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - bl ObjectEventSetDirection - ldrb r0, [r6, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _0805F25E - ldrb r0, [r6, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, _0805F264 @ =gSprites - adds r4, r5 - ldrb r0, [r6, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldrb r1, [r6, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl SeekSpriteAnim -_0805F25E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805F264: .4byte gSprites - thumb_func_end ObjectEventTurn - - thumb_func_start ObjectEventTurnByLocalIdAndMap -ObjectEventTurnByLocalIdAndMap: @ 805F268 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805F29C - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805F2A4 @ =gObjectEvents - adds r0, r1 - adds r1, r4, 0 - bl ObjectEventTurn -_0805F29C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805F2A4: .4byte gObjectEvents - thumb_func_end ObjectEventTurnByLocalIdAndMap - - thumb_func_start PlayerObjectTurn -PlayerObjectTurn: @ 805F2A8 - push {lr} - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805F2C4 @ =gObjectEvents - adds r0, r2 - bl ObjectEventTurn - pop {r0} - bx r0 - .align 2, 0 -_0805F2C4: .4byte gObjectEvents - thumb_func_end PlayerObjectTurn - - thumb_func_start GetObjectEventGraphicsInfo -GetObjectEventGraphicsInfo: @ 805F2C8 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xEF - bls _0805F2E0 - adds r0, r1, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl VarGetObjectEventGraphicsId - adds r1, r0, 0 -_0805F2E0: - cmp r1, 0x97 - bls _0805F2E6 - movs r1, 0x10 -_0805F2E6: - ldr r0, _0805F2F4 @ =gObjectEventGraphicsInfoPointers - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_0805F2F4: .4byte gObjectEventGraphicsInfoPointers - thumb_func_end GetObjectEventGraphicsInfo - - thumb_func_start ObjectEventHandleDynamicGraphicsId -ObjectEventHandleDynamicGraphicsId: @ 805F2F8 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - cmp r0, 0xEF - bls _0805F30E - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl VarGetObjectEventGraphicsId - strb r0, [r4, 0x5] -_0805F30E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ObjectEventHandleDynamicGraphicsId - - thumb_func_start npc_by_local_id_and_map_set_field_1_bit_x20 -npc_by_local_id_and_map_set_field_1_bit_x20: @ 805F314 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805F356 - ldr r2, _0805F360 @ =gObjectEvents - mov r0, sp - ldrb r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x1 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 5 - ldrb r3, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x1] -_0805F356: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805F360: .4byte gObjectEvents - thumb_func_end npc_by_local_id_and_map_set_field_1_bit_x20 - - thumb_func_start ObjectEventGetLocalIdAndMap -ObjectEventGetLocalIdAndMap: @ 805F364 - push {r4,lr} - ldrb r4, [r0, 0x8] - strb r4, [r1] - ldrb r1, [r0, 0x9] - strb r1, [r2] - ldrb r0, [r0, 0xA] - strb r0, [r3] - pop {r4} - pop {r0} - bx r0 - thumb_func_end ObjectEventGetLocalIdAndMap - - thumb_func_start sub_805F378 -sub_805F378: @ 805F378 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetObjectEventIdByXY - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _0805F3A0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805F3A4 @ =gObjectEvents - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0805F3A0: - pop {r0} - bx r0 - .align 2, 0 -_0805F3A4: .4byte gObjectEvents - thumb_func_end sub_805F378 - - thumb_func_start sub_805F3A8 -sub_805F3A8: @ 805F3A8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r4, r3, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805F3EE - mov r0, sp - ldrb r0, [r0] - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - ldr r0, _0805F3F8 @ =gObjectEvents - adds r2, r0 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805F3FC @ =gSprites - adds r0, r1 - ldrb r1, [r2, 0x3] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x3] - adds r0, 0x43 - strb r4, [r0] -_0805F3EE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805F3F8: .4byte gObjectEvents -_0805F3FC: .4byte gSprites - thumb_func_end sub_805F3A8 - - thumb_func_start sub_805F400 -sub_805F400: @ 805F400 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805F43C - mov r0, sp - ldrb r0, [r0] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _0805F444 @ =gObjectEvents - adds r1, r0 - ldrb r2, [r1, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x3] - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_0805F43C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0805F444: .4byte gObjectEvents - thumb_func_end sub_805F400 - - thumb_func_start sub_805F448 -sub_805F448: @ 805F448 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r5, r3, 16 - lsls r4, 16 - lsrs r4, 16 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805F48C - ldr r2, _0805F494 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805F498 @ =gSprites - adds r0, r1 - strh r5, [r0, 0x24] - strh r4, [r0, 0x26] -_0805F48C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805F494: .4byte gObjectEvents -_0805F498: .4byte gSprites - thumb_func_end sub_805F448 - - thumb_func_start gpu_pal_allocator_reset__manage_upper_four -gpu_pal_allocator_reset__manage_upper_four: @ 805F49C - push {lr} - bl FreeAllSpritePalettes - ldr r1, _0805F4AC @ =gReservedSpritePaletteCount - movs r0, 0xC - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0805F4AC: .4byte gReservedSpritePaletteCount - thumb_func_end gpu_pal_allocator_reset__manage_upper_four - - thumb_func_start sub_805F4B0 -sub_805F4B0: @ 805F4B0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl FindObjectEventPaletteIndexByTag - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0805F4D4 @ =0x000011ff - cmp r1, r0 - beq _0805F4CE - lsls r0, r1, 3 - ldr r1, _0805F4D8 @ =gObjectEventSpritePalettes - adds r0, r1 - bl sub_805F510 -_0805F4CE: - pop {r0} - bx r0 - .align 2, 0 -_0805F4D4: .4byte 0x000011ff -_0805F4D8: .4byte gObjectEventSpritePalettes - thumb_func_end sub_805F4B0 - - thumb_func_start sub_805F4DC -sub_805F4DC: @ 805F4DC - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - ldrh r0, [r5] - ldr r1, _0805F50C @ =0x000011ff - cmp r0, r1 - beq _0805F506 - adds r6, r1, 0 -_0805F4EC: - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - bl sub_805F4B0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, r6 - bne _0805F4EC -_0805F506: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805F50C: .4byte 0x000011ff - thumb_func_end sub_805F4DC - - thumb_func_start sub_805F510 -sub_805F510: @ 805F510 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0805F52E - adds r0, r4, 0 - bl LoadSpritePalette - lsls r0, 24 - lsrs r0, 24 - b _0805F530 -_0805F52E: - movs r0, 0xFF -_0805F530: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805F510 - - thumb_func_start PatchObjectPalette -PatchObjectPalette: @ 805F538 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r4, 24 - bl FindObjectEventPaletteIndexByTag - lsls r0, 24 - ldr r1, _0805F570 @ =gObjectEventSpritePalettes - lsrs r0, 21 - adds r0, r1 - ldr r0, [r0] - lsls r1, r4, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - bl sub_8083598 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805F570: .4byte gObjectEventSpritePalettes - thumb_func_end PatchObjectPalette - - thumb_func_start pal_patch_for_npc_range -pal_patch_for_npc_range: @ 805F574 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - cmp r4, r6 - bcs _0805F598 -_0805F584: - ldrh r0, [r5] - adds r1, r4, 0 - bl PatchObjectPalette - adds r5, 0x2 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0805F584 -_0805F598: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pal_patch_for_npc_range - - thumb_func_start FindObjectEventPaletteIndexByTag -FindObjectEventPaletteIndexByTag: @ 805F5A0 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - movs r2, 0 - ldr r0, _0805F5C8 @ =gObjectEventSpritePalettes - ldrh r1, [r0, 0x4] - ldr r3, _0805F5CC @ =0x000011ff - adds r4, r0, 0 - cmp r1, r3 - beq _0805F5E0 - adds r6, r4, 0 - adds r1, r3, 0 -_0805F5B8: - lsls r0, r2, 3 - adds r0, r6 - ldrh r0, [r0, 0x4] - cmp r0, r5 - bne _0805F5D0 - adds r0, r2, 0 - b _0805F5E2 - .align 2, 0 -_0805F5C8: .4byte gObjectEventSpritePalettes -_0805F5CC: .4byte 0x000011ff -_0805F5D0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 3 - adds r0, r4 - ldrh r0, [r0, 0x4] - cmp r0, r1 - bne _0805F5B8 -_0805F5E0: - movs r0, 0xFF -_0805F5E2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end FindObjectEventPaletteIndexByTag - - thumb_func_start LoadPlayerObjectReflectionPalette -LoadPlayerObjectReflectionPalette: @ 805F5E8 - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl PatchObjectPalette - movs r3, 0 - ldr r1, _0805F630 @ =gUnknown_83A5208 - ldrh r0, [r1] - ldr r2, _0805F634 @ =0x000011ff - cmp r0, r2 - beq _0805F650 - ldr r0, _0805F638 @ =gReflectionEffectPaletteMap - adds r5, r0 - adds r6, r2, 0 -_0805F60C: - lsls r2, r3, 3 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, r4 - bne _0805F640 - adds r1, 0x4 - adds r1, r2, r1 - ldr r0, _0805F63C @ =gUnknown_2037098 - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldrb r1, [r5] - bl PatchObjectPalette - b _0805F650 - .align 2, 0 -_0805F630: .4byte gUnknown_83A5208 -_0805F634: .4byte 0x000011ff -_0805F638: .4byte gReflectionEffectPaletteMap -_0805F63C: .4byte gUnknown_2037098 -_0805F640: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r6 - bne _0805F60C -_0805F650: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end LoadPlayerObjectReflectionPalette - - thumb_func_start LoadSpecialObjectReflectionPalette -LoadSpecialObjectReflectionPalette: @ 805F658 - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _0805F6A4 @ =gUnknown_203709A - strh r4, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl PatchObjectPalette - movs r3, 0 - ldr r1, _0805F6A8 @ =gUnknown_83A5278 - ldrh r0, [r1] - ldr r2, _0805F6AC @ =0x000011ff - cmp r0, r2 - beq _0805F6C8 - ldr r0, _0805F6B0 @ =gReflectionEffectPaletteMap - adds r5, r0 - adds r6, r2, 0 -_0805F680: - lsls r2, r3, 3 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, r4 - bne _0805F6B8 - adds r1, 0x4 - adds r1, r2, r1 - ldr r0, _0805F6B4 @ =gUnknown_2037098 - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldrb r1, [r5] - bl PatchObjectPalette - b _0805F6C8 - .align 2, 0 -_0805F6A4: .4byte gUnknown_203709A -_0805F6A8: .4byte gUnknown_83A5278 -_0805F6AC: .4byte 0x000011ff -_0805F6B0: .4byte gReflectionEffectPaletteMap -_0805F6B4: .4byte gUnknown_2037098 -_0805F6B8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r6 - bne _0805F680 -_0805F6C8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end LoadSpecialObjectReflectionPalette - - thumb_func_start sub_805F6D0 -sub_805F6D0: @ 805F6D0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805F6DC @ =gReflectionEffectPaletteMap - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0805F6DC: .4byte gReflectionEffectPaletteMap - thumb_func_end sub_805F6D0 - - thumb_func_start unref_sub_808EAC4 -unref_sub_808EAC4: @ 805F6E0 - push {r4,lr} - ldrh r3, [r0, 0x10] - strh r3, [r0, 0x14] - ldrh r4, [r0, 0x12] - strh r4, [r0, 0x16] - lsls r1, 16 - asrs r1, 16 - adds r1, r3 - strh r1, [r0, 0x10] - lsls r2, 16 - asrs r2, 16 - adds r2, r4 - strh r2, [r0, 0x12] - pop {r4} - pop {r0} - bx r0 - thumb_func_end unref_sub_808EAC4 - - thumb_func_start npc_coords_shift -npc_coords_shift: @ 805F700 - ldrh r3, [r0, 0x10] - strh r3, [r0, 0x14] - ldrh r3, [r0, 0x12] - strh r3, [r0, 0x16] - strh r1, [r0, 0x10] - strh r2, [r0, 0x12] - bx lr - thumb_func_end npc_coords_shift - - thumb_func_start npc_coords_set -npc_coords_set: @ 805F710 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - strh r1, [r0, 0x10] - strh r2, [r0, 0x12] - bx lr - thumb_func_end npc_coords_set - - thumb_func_start sub_805F724 -sub_805F724: @ 805F724 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldrb r1, [r6, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805F7C0 @ =gSprites - adds r7, r0, r1 - ldrb r0, [r6, 0x5] - bl GetObjectEventGraphicsInfo - mov r8, r0 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl npc_coords_set - movs r1, 0x10 - ldrsh r0, [r6, r1] - movs r2, 0x12 - ldrsh r1, [r6, r2] - adds r2, r7, 0 - adds r2, 0x20 - adds r3, r7, 0 - adds r3, 0x22 - bl SetSpritePosToMapCoords - mov r1, r8 - ldrh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r1, r7, 0 - adds r1, 0x28 - strb r0, [r1] - mov r2, r8 - ldrh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 17 - negs r0, r0 - adds r2, r7, 0 - adds r2, 0x29 - strb r0, [r2] - ldrh r0, [r7, 0x20] - adds r0, 0x8 - strh r0, [r7, 0x20] - ldrh r1, [r7, 0x22] - adds r1, 0x10 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - strh r0, [r7, 0x22] - adds r0, r6, 0 - bl sub_805EFF4 - ldrb r0, [r6, 0x1] - lsrs r0, 7 - cmp r0, 0 - beq _0805F7B6 - bl CameraObjectReset1 -_0805F7B6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805F7C0: .4byte gSprites - thumb_func_end sub_805F724 - - thumb_func_start sub_805F7C4 -sub_805F7C4: @ 805F7C4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r5, r3, 16 - lsls r4, 16 - lsrs r4, 16 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805F80C - lsls r1, r5, 16 - lsls r2, r4, 16 - mov r0, sp - ldrb r3, [r0] - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - ldr r3, _0805F814 @ =gObjectEvents - adds r0, r3 - movs r3, 0xE0 - lsls r3, 11 - adds r1, r3 - asrs r1, 16 - adds r2, r3 - asrs r2, 16 - bl sub_805F724 -_0805F80C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805F814: .4byte gObjectEvents - thumb_func_end sub_805F7C4 - - thumb_func_start npc_coords_shift_still -npc_coords_shift_still: @ 805F818 - push {lr} - movs r2, 0x10 - ldrsh r1, [r0, r2] - movs r3, 0x12 - ldrsh r2, [r0, r3] - bl npc_coords_shift - pop {r0} - bx r0 - thumb_func_end npc_coords_shift_still - - thumb_func_start UpdateObjectEventCoordsForCameraUpdate -UpdateObjectEventCoordsForCameraUpdate: @ 805F82C - push {r4,r5,lr} - ldr r2, _0805F88C @ =gCamera - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805F884 - movs r3, 0 - ldr r5, _0805F890 @ =gObjectEvents - movs r0, 0x4 - ldrsh r4, [r2, r0] - movs r0, 0x8 - ldrsh r1, [r2, r0] -_0805F846: - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r5 - ldrb r0, [r2] - lsls r0, 31 - cmp r0, 0 - beq _0805F87A - ldrh r0, [r2, 0xC] - subs r0, r4 - strh r0, [r2, 0xC] - ldrh r0, [r2, 0xE] - subs r0, r1 - strh r0, [r2, 0xE] - ldrh r0, [r2, 0x10] - subs r0, r4 - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x12] - subs r0, r1 - strh r0, [r2, 0x12] - ldrh r0, [r2, 0x14] - subs r0, r4 - strh r0, [r2, 0x14] - ldrh r0, [r2, 0x16] - subs r0, r1 - strh r0, [r2, 0x16] -_0805F87A: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _0805F846 -_0805F884: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805F88C: .4byte gCamera -_0805F890: .4byte gObjectEvents - thumb_func_end UpdateObjectEventCoordsForCameraUpdate - - thumb_func_start GetObjectEventIdByXYZ -GetObjectEventIdByXYZ: @ 805F894 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - ldr r0, _0805F8E0 @ =gObjectEvents - mov r8, r0 -_0805F8AC: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - mov r2, r8 - adds r1, r0, r2 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _0805F8E4 - movs r2, 0x10 - ldrsh r0, [r1, r2] - cmp r0, r7 - bne _0805F8E4 - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r0, r6 - bne _0805F8E4 - adds r0, r1, 0 - adds r1, r5, 0 - bl ObjectEventDoesZCoordMatch - lsls r0, 24 - cmp r0, 0 - beq _0805F8E4 - adds r0, r4, 0 - b _0805F8F0 - .align 2, 0 -_0805F8E0: .4byte gObjectEvents -_0805F8E4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0805F8AC - movs r0, 0x10 -_0805F8F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetObjectEventIdByXYZ - - thumb_func_start ObjectEventDoesZCoordMatch -ObjectEventDoesZCoordMatch: @ 805F8FC - push {lr} - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xB] - movs r0, 0xF - ands r0, r2 - cmp r0, 0 - beq _0805F91C - cmp r1, 0 - beq _0805F91C - lsls r0, r2, 28 - lsrs r0, 28 - cmp r0, r1 - beq _0805F91C - movs r0, 0 - b _0805F91E -_0805F91C: - movs r0, 0x1 -_0805F91E: - pop {r1} - bx r1 - thumb_func_end ObjectEventDoesZCoordMatch - - thumb_func_start UpdateObjectEventsForCameraUpdate -UpdateObjectEventsForCameraUpdate: @ 805F924 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - bl UpdateObjectEventCoordsForCameraUpdate - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_805EC30 - bl RemoveObjectEventsOutsideView - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end UpdateObjectEventsForCameraUpdate - - thumb_func_start AddCameraObject -AddCameraObject: @ 805F950 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0805F98C @ =gUnknown_835B944 - movs r1, 0 - movs r2, 0 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805F990 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x3E - adds r2, r1 - mov r12, r2 - ldrb r2, [r2] - movs r3, 0x4 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - strh r4, [r1, 0x2E] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805F98C: .4byte gUnknown_835B944 -_0805F990: .4byte gSprites - thumb_func_end AddCameraObject - - thumb_func_start ObjectCB_CameraObject -ObjectCB_CameraObject: @ 805F994 - push {r4,r5,lr} - sub sp, 0xC - mov r2, sp - ldr r1, _0805F9B8 @ =gUnknown_835B95C - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - movs r2, 0x30 - ldrsh r1, [r0, r2] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - bl _call_via_r1 - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805F9B8: .4byte gUnknown_835B95C - thumb_func_end ObjectCB_CameraObject - - thumb_func_start CameraObject_0 -CameraObject_0: @ 805F9BC - push {lr} - ldr r3, _0805F9F4 @ =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r1, [r1, 0x20] - strh r1, [r0, 0x20] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x22] - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x1 - strh r1, [r0, 0x30] - bl CameraObject_1 - pop {r0} - bx r0 - .align 2, 0 -_0805F9F4: .4byte gSprites - thumb_func_end CameraObject_0 - - thumb_func_start CameraObject_1 -CameraObject_1: @ 805F9F8 - push {r4,r5,lr} - ldr r3, _0805FA2C @ =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r3, [r1, 0x22] - ldrh r2, [r0, 0x20] - ldrh r4, [r1, 0x20] - movs r5, 0x20 - ldrsh r1, [r1, r5] - subs r1, r2 - strh r1, [r0, 0x32] - ldrh r2, [r0, 0x22] - lsls r1, r3, 16 - asrs r1, 16 - subs r1, r2 - strh r1, [r0, 0x34] - strh r4, [r0, 0x20] - strh r3, [r0, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805FA2C: .4byte gSprites - thumb_func_end CameraObject_1 - - thumb_func_start CameraObject_2 -CameraObject_2: @ 805FA30 - push {r4,lr} - ldr r4, _0805FA5C @ =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x20] - movs r3, 0 - strh r1, [r0, 0x20] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x22] - strh r3, [r0, 0x32] - strh r3, [r0, 0x34] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805FA5C: .4byte gSprites - thumb_func_end CameraObject_2 - - thumb_func_start FindCameraObject -FindCameraObject: @ 805FA60 - push {r4,r5,lr} - movs r3, 0 - ldr r4, _0805FA8C @ =gSprites - adds r5, r4, 0 - adds r5, 0x1C -_0805FA6A: - lsls r0, r3, 4 - adds r0, r3 - lsls r1, r0, 2 - adds r2, r1, r4 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0805FA94 - adds r0, r1, r5 - ldr r1, [r0] - ldr r0, _0805FA90 @ =ObjectCB_CameraObject - cmp r1, r0 - bne _0805FA94 - adds r0, r2, 0 - b _0805FAA0 - .align 2, 0 -_0805FA8C: .4byte gSprites -_0805FA90: .4byte ObjectCB_CameraObject -_0805FA94: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3F - bls _0805FA6A - movs r0, 0 -_0805FAA0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FindCameraObject - - thumb_func_start CameraObjectReset1 -CameraObjectReset1: @ 805FAA8 - push {lr} - bl FindCameraObject - adds r2, r0, 0 - cmp r2, 0 - beq _0805FAC0 - movs r0, 0 - strh r0, [r2, 0x30] - ldr r1, [r2, 0x1C] - adds r0, r2, 0 - bl _call_via_r1 -_0805FAC0: - pop {r0} - bx r0 - thumb_func_end CameraObjectReset1 - - thumb_func_start CameraObjectSetFollowedObjectId -CameraObjectSetFollowedObjectId: @ 805FAC4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl FindCameraObject - cmp r0, 0 - beq _0805FAD8 - strh r4, [r0, 0x2E] - bl CameraObjectReset1 -_0805FAD8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end CameraObjectSetFollowedObjectId - - thumb_func_start CameraObjectGetFollowedObjectId -CameraObjectGetFollowedObjectId: @ 805FAE0 - push {lr} - bl FindCameraObject - cmp r0, 0 - beq _0805FAF2 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r0, 24 - b _0805FAF4 -_0805FAF2: - movs r0, 0x40 -_0805FAF4: - pop {r1} - bx r1 - thumb_func_end CameraObjectGetFollowedObjectId - - thumb_func_start CameraObjectReset2 -CameraObjectReset2: @ 805FAF8 - push {lr} - bl FindCameraObject - movs r1, 0x2 - strh r1, [r0, 0x30] - pop {r0} - bx r0 - thumb_func_end CameraObjectReset2 - - thumb_func_start CopySprite -CopySprite: @ 805FB08 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r12, r0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - movs r5, 0 - ldr r1, _0805FB50 @ =gSprites -_0805FB22: - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0805FB54 - adds r0, r4, 0 - mov r1, r12 - movs r2, 0x44 - bl memcpy - mov r0, r8 - strh r0, [r4, 0x20] - strh r6, [r4, 0x22] - adds r0, r4, 0 - adds r0, 0x43 - strb r7, [r0] - b _0805FB5E - .align 2, 0 -_0805FB50: .4byte gSprites -_0805FB54: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3F - bls _0805FB22 -_0805FB5E: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CopySprite - - thumb_func_start CreateCopySpriteAt -CreateCopySpriteAt: @ 805FB6C - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r12, r0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - movs r5, 0x3F - ldr r3, _0805FBC0 @ =gSprites - movs r2, 0x1 - negs r2, r2 -_0805FB8A: - lsls r0, r5, 16 - asrs r1, r0, 16 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r3 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0805FBC4 - adds r0, r4, 0 - mov r1, r12 - movs r2, 0x44 - bl memcpy - mov r0, r8 - strh r0, [r4, 0x20] - strh r6, [r4, 0x22] - adds r0, r4, 0 - adds r0, 0x43 - strb r7, [r0] - lsls r0, r5, 24 - lsrs r0, 24 - b _0805FBD2 - .align 2, 0 -_0805FBC0: .4byte gSprites -_0805FBC4: - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r2 - bgt _0805FB8A - movs r0, 0x40 -_0805FBD2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CreateCopySpriteAt - - thumb_func_start ObjectEventSetDirection -ObjectEventSetDirection: @ 805FBDC - push {r4,lr} - adds r3, r0, 0 - lsls r1, 24 - lsrs r2, r1, 24 - adds r4, r2, 0 - ldrb r0, [r3, 0x18] - lsls r0, 28 - lsrs r0, 28 - adds r1, r3, 0 - adds r1, 0x20 - strb r0, [r1] - ldrb r0, [r3, 0x1] - lsls r0, 30 - cmp r0, 0 - blt _0805FC0C - movs r0, 0xF - adds r1, r2, 0 - ands r1, r0 - ldrb r2, [r3, 0x18] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x18] -_0805FC0C: - lsls r2, r4, 4 - ldrb r1, [r3, 0x18] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x18] - pop {r4} - pop {r0} - bx r0 - thumb_func_end ObjectEventSetDirection - - thumb_func_start GetObjectEventScriptPointerByLocalIdAndMap -GetObjectEventScriptPointerByLocalIdAndMap: @ 805FC20 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - bl GetObjectEventTemplateByLocalIdAndMap - ldr r0, [r0, 0x10] - pop {r1} - bx r1 - thumb_func_end GetObjectEventScriptPointerByLocalIdAndMap - - thumb_func_start GetObjectEventScriptPointerByObjectEventId -GetObjectEventScriptPointerByObjectEventId: @ 805FC38 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805FC58 @ =gObjectEvents - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r0, [r2, 0x8] - ldrb r1, [r2, 0x9] - ldrb r2, [r2, 0xA] - bl GetObjectEventScriptPointerByLocalIdAndMap - pop {r1} - bx r1 - .align 2, 0 -_0805FC58: .4byte gObjectEvents - thumb_func_end GetObjectEventScriptPointerByObjectEventId - - thumb_func_start GetObjectEventFlagIdByLocalIdAndMap -GetObjectEventFlagIdByLocalIdAndMap: @ 805FC5C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - bl GetObjectEventTemplateByLocalIdAndMap - ldrh r0, [r0, 0x14] - pop {r1} - bx r1 - thumb_func_end GetObjectEventFlagIdByLocalIdAndMap - - thumb_func_start GetObjectEventFlagIdByObjectEventId -GetObjectEventFlagIdByObjectEventId: @ 805FC74 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805FC98 @ =gObjectEvents - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r0, [r2, 0x8] - ldrb r1, [r2, 0x9] - ldrb r2, [r2, 0xA] - bl GetObjectEventFlagIdByLocalIdAndMap - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0805FC98: .4byte gObjectEvents - thumb_func_end GetObjectEventFlagIdByObjectEventId - - thumb_func_start sub_805FC9C -sub_805FC9C: @ 805FC9C - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805FCD0 - ldr r2, _0805FCCC @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x7] - b _0805FCD2 - .align 2, 0 -_0805FCCC: .4byte gObjectEvents -_0805FCD0: - movs r0, 0xFF -_0805FCD2: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_805FC9C - - thumb_func_start sub_805FCD8 -sub_805FCD8: @ 805FCD8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - bl GetObjectEventTemplateByLocalIdAndMap - ldrh r0, [r0, 0xC] - pop {r1} - bx r1 - thumb_func_end sub_805FCD8 - - thumb_func_start sub_805FCF0 -sub_805FCF0: @ 805FCF0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805FD04 @ =gObjectEvents - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x7] - bx lr - .align 2, 0 -_0805FD04: .4byte gObjectEvents - thumb_func_end sub_805FCF0 - - thumb_func_start sub_805FD08 -sub_805FD08: @ 805FD08 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805FD3C - ldr r2, _0805FD38 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1D] - b _0805FD3E - .align 2, 0 -_0805FD38: .4byte gObjectEvents -_0805FD3C: - movs r0, 0xFF -_0805FD3E: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_805FD08 - - thumb_func_start ObjectEventGetBerryTreeId -ObjectEventGetBerryTreeId: @ 805FD44 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805FD58 @ =gObjectEvents - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1D] - bx lr - .align 2, 0 -_0805FD58: .4byte gObjectEvents - thumb_func_end ObjectEventGetBerryTreeId - - thumb_func_start GetObjectEventTemplateByLocalIdAndMap -GetObjectEventTemplateByLocalIdAndMap: @ 805FD5C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0805FD8C @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, r3 - bne _0805FD94 - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, r2 - bne _0805FD94 - movs r0, 0x8E - lsls r0, 4 - adds r1, r0 - ldr r0, _0805FD90 @ =gMapHeader - ldr r0, [r0, 0x4] - b _0805FDA0 - .align 2, 0 -_0805FD8C: .4byte gSaveBlock1Ptr -_0805FD90: .4byte gMapHeader -_0805FD94: - adds r0, r2, 0 - adds r1, r3, 0 - bl Overworld_GetMapHeaderByGroupAndId - ldr r0, [r0, 0x4] - ldr r1, [r0, 0x4] -_0805FDA0: - ldrb r2, [r0] - adds r0, r4, 0 - bl FindObjectEventTemplateInArrayByLocalId - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetObjectEventTemplateByLocalIdAndMap - - thumb_func_start FindObjectEventTemplateInArrayByLocalId -FindObjectEventTemplateInArrayByLocalId: @ 805FDB0 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - cmp r1, r2 - bcs _0805FDDE -_0805FDC2: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r3, r0, r5 - ldrb r0, [r3] - cmp r0, r4 - bne _0805FDD4 - adds r0, r3, 0 - b _0805FDE0 -_0805FDD4: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - bcc _0805FDC2 -_0805FDDE: - movs r0, 0 -_0805FDE0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FindObjectEventTemplateInArrayByLocalId - - thumb_func_start sub_805FDE8 -sub_805FDE8: @ 805FDE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldrb r0, [r4, 0x9] - ldr r1, _0805FE0C @ =gSaveBlock1Ptr - ldr r2, [r1] - movs r1, 0x5 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _0805FE50 - ldrb r1, [r4, 0xA] - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r1, r0 - beq _0805FE18 - b _0805FE50 - .align 2, 0 -_0805FE0C: .4byte gSaveBlock1Ptr -_0805FE10: - mov r1, r8 - adds r0, r5, r1 - adds r0, r3, r0 - b _0805FE52 -_0805FE18: - movs r6, 0 - adds r3, r2, 0 - movs r0, 0x8E - lsls r0, 4 - mov r8, r0 - ldrb r0, [r4, 0x8] - mov r12, r0 - mov r0, r8 - adds r2, r3, r0 - movs r5, 0 - adds r7, r1, 0 -_0805FE2E: - ldrb r1, [r2] - cmp r12, r1 - bne _0805FE46 - ldrb r1, [r4, 0x9] - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r1, r0 - bne _0805FE46 - movs r0, 0x4 - ldrsb r0, [r3, r0] - cmp r7, r0 - beq _0805FE10 -_0805FE46: - adds r2, 0x18 - adds r5, 0x18 - adds r6, 0x1 - cmp r6, 0x3F - ble _0805FE2E -_0805FE50: - movs r0, 0 -_0805FE52: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805FDE8 - - thumb_func_start OverrideTemplateCoordsForObjectEvent -OverrideTemplateCoordsForObjectEvent: @ 805FE5C - push {r4,lr} - adds r4, r0, 0 - bl sub_805FDE8 - adds r1, r0, 0 - cmp r1, 0 - beq _0805FE76 - ldrh r0, [r4, 0x10] - subs r0, 0x7 - strh r0, [r1, 0x4] - ldrh r0, [r4, 0x12] - subs r0, 0x7 - strh r0, [r1, 0x6] -_0805FE76: - pop {r4} - pop {r0} - bx r0 - thumb_func_end OverrideTemplateCoordsForObjectEvent - - thumb_func_start TryOverrideTemplateCoordsForObjectEvent -TryOverrideTemplateCoordsForObjectEvent: @ 805FE7C - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_805FDE8 - cmp r0, 0 - beq _0805FE8C - strb r4, [r0, 0x9] -_0805FE8C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end TryOverrideTemplateCoordsForObjectEvent - - thumb_func_start sub_805FE94 -sub_805FE94: @ 805FE94 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0805FEC2 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805FEC8 @ =gObjectEvents - adds r0, r1 - bl OverrideTemplateCoordsForObjectEvent -_0805FEC2: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0805FEC8: .4byte gObjectEvents - thumb_func_end sub_805FE94 - - thumb_func_start npc_paltag_set_load -npc_paltag_set_load: @ 805FECC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl gpu_pal_allocator_reset__manage_upper_four - ldr r1, _0805FF04 @ =gUnknown_203709A - ldr r2, _0805FF08 @ =0x000011ff - adds r0, r2, 0 - strh r0, [r1] - ldr r2, _0805FF0C @ =gUnknown_2037098 - strb r4, [r2] - cmp r4, 0x1 - bne _0805FF18 - ldr r1, _0805FF10 @ =gUnknown_83A5330 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0x6 - bl pal_patch_for_npc_range - ldr r1, _0805FF14 @ =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - b _0805FF2A - .align 2, 0 -_0805FF04: .4byte gUnknown_203709A -_0805FF08: .4byte 0x000011ff -_0805FF0C: .4byte gUnknown_2037098 -_0805FF10: .4byte gUnknown_83A5330 -_0805FF14: .4byte gReservedSpritePaletteCount -_0805FF18: - ldr r0, _0805FF30 @ =gUnknown_83A5330 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r1, 0 - movs r2, 0xA - bl pal_patch_for_npc_range -_0805FF2A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805FF30: .4byte gUnknown_83A5330 - thumb_func_end npc_paltag_set_load - - thumb_func_start GetObjectPaletteTag -GetObjectPaletteTag: @ 805FF34 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9 - bhi _0805FF70 - ldr r1, _0805FF50 @ =gUnknown_83A5330 - ldr r0, _0805FF54 @ =gUnknown_2037098 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r0, r2, 1 - b _0805FF64 - .align 2, 0 -_0805FF50: .4byte gUnknown_83A5330 -_0805FF54: .4byte gUnknown_2037098 -_0805FF58: - adds r1, r4, 0x4 - adds r1, r2, r1 - ldr r0, _0805FF6C @ =gUnknown_2037098 - ldrb r0, [r0] - ldr r1, [r1] - lsls r0, 1 -_0805FF64: - adds r0, r1 - ldrh r0, [r0] - b _0805FFA2 - .align 2, 0 -_0805FF6C: .4byte gUnknown_2037098 -_0805FF70: - movs r3, 0 - ldr r0, _0805FFA8 @ =gUnknown_83A5278 - ldrh r1, [r0] - ldr r2, _0805FFAC @ =0x000011ff - adds r4, r0, 0 - cmp r1, r2 - beq _0805FFA0 - adds r6, r4, 0 - ldr r0, _0805FFB0 @ =gUnknown_203709A - ldrh r1, [r0] - adds r5, r2, 0 -_0805FF86: - lsls r2, r3, 3 - adds r0, r2, r6 - ldrh r0, [r0] - cmp r0, r1 - beq _0805FF58 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r5 - bne _0805FF86 -_0805FFA0: - ldr r0, _0805FFAC @ =0x000011ff -_0805FFA2: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805FFA8: .4byte gUnknown_83A5278 -_0805FFAC: .4byte 0x000011ff -_0805FFB0: .4byte gUnknown_203709A - thumb_func_end GetObjectPaletteTag - - thumb_func_start sub_805FFB4 -sub_805FFB4: @ 805FFB4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805FFD0 @ =gObjectEvents - adds r0, r2 - ldr r2, _0805FFD4 @ =sub_805FFD8 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0805FFD0: .4byte gObjectEvents -_0805FFD4: .4byte sub_805FFD8 - thumb_func_end sub_805FFB4 - - thumb_func_start sub_805FFD8 -sub_805FFD8: @ 805FFD8 - movs r0, 0 - bx lr - thumb_func_end sub_805FFD8 - - thumb_func_start sub_805FFDC -sub_805FFDC: @ 805FFDC - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805FFF8 @ =gObjectEvents - adds r0, r2 - ldr r2, _0805FFFC @ =sub_8060000 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0805FFF8: .4byte gObjectEvents -_0805FFFC: .4byte sub_8060000 - thumb_func_end sub_805FFDC - - thumb_func_start sub_8060000 -sub_8060000: @ 8060000 - push {r4,lr} - ldr r3, _0806001C @ =gUnknown_83A6018 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806001C: .4byte gUnknown_83A6018 - thumb_func_end sub_8060000 - - thumb_func_start sub_8060020 -sub_8060020: @ 8060020 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0806003C @ =gObjectEvents - adds r0, r2 - ldr r2, _08060040 @ =sub_8060044 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0806003C: .4byte gObjectEvents -_08060040: .4byte sub_8060044 - thumb_func_end sub_8060020 - - thumb_func_start sub_8060044 -sub_8060044: @ 8060044 - push {r4,lr} - ldr r3, _08060060 @ =gUnknown_83A6034 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08060060: .4byte gUnknown_83A6034 - thumb_func_end sub_8060044 - - thumb_func_start sub_8060064 -sub_8060064: @ 8060064 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060064 - - thumb_func_start sub_8060078 -sub_8060078: @ 8060078 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060078 - - thumb_func_start sub_80600A4 -sub_80600A4: @ 80600A4 - push {r4-r6,lr} - adds r6, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _080600D8 - ldr r5, _080600D4 @ =gUnknown_83A6000 - bl Random - movs r4, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r5 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r6, 0 - bl SetObjectEventStepTimer - strh r4, [r6, 0x30] - movs r0, 0x1 - b _080600DA - .align 2, 0 -_080600D4: .4byte gUnknown_83A6000 -_080600D8: - movs r0, 0 -_080600DA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80600A4 - - thumb_func_start sub_80600E0 -sub_80600E0: @ 80600E0 - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _080600F4 - movs r0, 0 - b _080600FA -_080600F4: - movs r0, 0x4 - strh r0, [r4, 0x30] - movs r0, 0x1 -_080600FA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80600E0 - - thumb_func_start sub_8060100 -sub_8060100: @ 8060100 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _08060148 @ =gUnknown_83A6050 - mov r0, sp - movs r2, 0x4 - bl memcpy - bl Random - movs r1, 0x3 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r4, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x5 - strh r0, [r6, 0x30] - adds r0, r5, 0 - adds r1, r4, 0 - bl npc_block_way__next_tile - lsls r0, 24 - cmp r0, 0 - beq _0806013E - movs r0, 0x1 - strh r0, [r6, 0x30] -_0806013E: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08060148: .4byte gUnknown_83A6050 - thumb_func_end sub_8060100 - - thumb_func_start sub_806014C -sub_806014C: @ 806014C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetWalkNormalMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x6 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806014C - - thumb_func_start sub_806017C -sub_806017C: @ 806017C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_8063F2C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x6 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806017C - - thumb_func_start sub_80601AC -sub_80601AC: @ 80601AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _080601CA - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_080601CA: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80601AC - - thumb_func_start ObjectEventIsTrainerAndCloseToPlayer -ObjectEventIsTrainerAndCloseToPlayer: @ 80601D4 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r0, 0x80 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08060240 - ldrb r0, [r5, 0x7] - cmp r0, 0x1 - beq _080601F0 - cmp r0, 0x3 - bne _08060240 -_080601F0: - mov r7, sp - adds r7, 0x2 - mov r0, sp - adds r1, r7, 0 - bl PlayerGetDestCoords - ldrh r2, [r5, 0x10] - ldrh r4, [r5, 0x12] - ldrb r1, [r5, 0x1D] - subs r3, r2, r1 - subs r0, r4, r1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r2, r1, r2 - lsls r2, 16 - lsrs r2, 16 - adds r1, r4 - lsls r1, 16 - lsrs r6, r1, 16 - mov r0, sp - lsls r3, 16 - asrs r3, 16 - movs r1, 0 - ldrsh r4, [r0, r1] - cmp r3, r4 - bgt _08060240 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, r4 - blt _08060240 - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0 - ldrsh r1, [r7, r2] - cmp r0, r1 - bgt _08060240 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, r1 - bge _08060244 -_08060240: - movs r0, 0 - b _08060246 -_08060244: - movs r0, 0x1 -_08060246: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ObjectEventIsTrainerAndCloseToPlayer - - thumb_func_start GetRegularRunningPastFacingDirection -GetRegularRunningPastFacingDirection: @ 8060250 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 16 - lsls r3, 16 - cmp r2, r3 - ble _0806026E - movs r2, 0x4 - lsls r0, r4, 16 - cmp r0, 0 - bge _08060278 - movs r2, 0x3 - b _08060278 -_0806026E: - movs r2, 0x1 - lsls r0, 16 - cmp r0, 0 - bge _08060278 - movs r2, 0x2 -_08060278: - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetRegularRunningPastFacingDirection - - thumb_func_start GetNorthSouthRunningPastFacingDirection -GetNorthSouthRunningPastFacingDirection: @ 8060280 - push {lr} - movs r0, 0x1 - lsls r1, 16 - cmp r1, 0 - bge _0806028C - movs r0, 0x2 -_0806028C: - pop {r1} - bx r1 - thumb_func_end GetNorthSouthRunningPastFacingDirection - - thumb_func_start GetEastWestRunningPastFacingDirection -GetEastWestRunningPastFacingDirection: @ 8060290 - push {lr} - movs r1, 0x4 - lsls r0, 16 - cmp r0, 0 - bge _0806029C - movs r1, 0x3 -_0806029C: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end GetEastWestRunningPastFacingDirection - - thumb_func_start GetNorthEastRunningPastFacingDirection -GetNorthEastRunningPastFacingDirection: @ 80602A4 - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r7, r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetRegularRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080602E0 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetEastWestRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080602FA - b _080602F8 -_080602E0: - cmp r0, 0x4 - bne _080602FA - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetNorthSouthRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080602FA -_080602F8: - movs r0, 0x2 -_080602FA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetNorthEastRunningPastFacingDirection - - thumb_func_start GetNorthWestRunningPastFacingDirection -GetNorthWestRunningPastFacingDirection: @ 8060300 - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r7, r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetRegularRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806033C - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetEastWestRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _08060356 - b _08060354 -_0806033C: - cmp r0, 0x3 - bne _08060356 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetNorthSouthRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08060356 -_08060354: - movs r0, 0x2 -_08060356: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetNorthWestRunningPastFacingDirection - - thumb_func_start GetSouthEastRunningPastFacingDirection -GetSouthEastRunningPastFacingDirection: @ 806035C - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r7, r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetRegularRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08060398 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetEastWestRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080603B2 - b _080603B0 -_08060398: - cmp r0, 0x4 - bne _080603B2 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetNorthSouthRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080603B2 -_080603B0: - movs r0, 0x1 -_080603B2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSouthEastRunningPastFacingDirection - - thumb_func_start GetSouthWestRunningPastFacingDirection -GetSouthWestRunningPastFacingDirection: @ 80603B8 - push {r4-r7,lr} - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r7, r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetRegularRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080603F4 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetEastWestRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0806040E - b _0806040C -_080603F4: - cmp r0, 0x3 - bne _0806040E - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r7, 0 - bl GetNorthSouthRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0806040E -_0806040C: - movs r0, 0x1 -_0806040E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSouthWestRunningPastFacingDirection - - thumb_func_start GetNonEastRunningPastFacingDirection -GetNonEastRunningPastFacingDirection: @ 8060414 - push {r4-r7,lr} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r5, r2, 16 - lsls r3, 16 - asrs r4, r3, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl GetRegularRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0806044A - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl GetNorthSouthRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 -_0806044A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetNonEastRunningPastFacingDirection - - thumb_func_start GetNonWestRunningPastFacingDirection -GetNonWestRunningPastFacingDirection: @ 8060450 - push {r4-r7,lr} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r5, r2, 16 - lsls r3, 16 - asrs r4, r3, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl GetRegularRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _08060486 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl GetNorthSouthRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 -_08060486: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetNonWestRunningPastFacingDirection - - thumb_func_start GetNonSouthRunningPastFacingDirection -GetNonSouthRunningPastFacingDirection: @ 806048C - push {r4-r7,lr} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r5, r2, 16 - lsls r3, 16 - asrs r4, r3, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl GetRegularRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080604C2 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl GetEastWestRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 -_080604C2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetNonSouthRunningPastFacingDirection - - thumb_func_start GetNonNorthRunningPastFacingDirection -GetNonNorthRunningPastFacingDirection: @ 80604C8 - push {r4-r7,lr} - lsls r0, 16 - asrs r7, r0, 16 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r5, r2, 16 - lsls r3, 16 - asrs r4, r3, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl GetRegularRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080604FE - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl GetEastWestRunningPastFacingDirection - lsls r0, 24 - lsrs r0, 24 -_080604FE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetNonNorthRunningPastFacingDirection - - thumb_func_start GetRunningPastFacingDirection -GetRunningPastFacingDirection: @ 8060504 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - bne _0806051C - movs r0, 0 - b _08060580 -_0806051C: - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - mov r2, sp - mov r0, sp - ldrh r0, [r0] - ldrh r1, [r4, 0x10] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r5] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r5] - mov r0, sp - ldrh r3, [r5] - ldrh r2, [r0] - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08060550 - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 -_08060550: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0 - bge _0806055E - negs r0, r0 - lsls r0, 16 - lsrs r3, r0, 16 -_0806055E: - ldr r0, _08060588 @ =gUnknown_83A6054 - lsls r4, r6, 2 - adds r4, r0 - mov r0, sp - movs r6, 0 - ldrsh r0, [r0, r6] - movs r6, 0 - ldrsh r1, [r5, r6] - lsls r2, 16 - asrs r2, 16 - lsls r3, 16 - asrs r3, 16 - ldr r4, [r4] - bl _call_via_r4 - lsls r0, 24 - lsrs r0, 24 -_08060580: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08060588: .4byte gUnknown_83A6054 - thumb_func_end GetRunningPastFacingDirection - - thumb_func_start sub_806058C -sub_806058C: @ 806058C - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080605A8 @ =gObjectEvents - adds r0, r2 - ldr r2, _080605AC @ =sub_80605B0 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080605A8: .4byte gObjectEvents -_080605AC: .4byte sub_80605B0 - thumb_func_end sub_806058C - - thumb_func_start sub_80605B0 -sub_80605B0: @ 80605B0 - push {r4,lr} - ldr r3, _080605CC @ =gUnknown_83A6080 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080605CC: .4byte gUnknown_83A6080 - thumb_func_end sub_80605B0 - - thumb_func_start sub_80605D0 -sub_80605D0: @ 80605D0 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80605D0 - - thumb_func_start sub_80605E4 -sub_80605E4: @ 80605E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80605E4 - - thumb_func_start sub_8060610 -sub_8060610: @ 8060610 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08060646 - ldr r4, _08060650 @ =gUnknown_83A6000 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_08060646: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08060650: .4byte gUnknown_83A6000 - thumb_func_end sub_8060610 - - thumb_func_start sub_8060654 -sub_8060654: @ 8060654 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _08060672 - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _0806067A -_08060672: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _0806067C -_0806067A: - movs r0, 0 -_0806067C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060654 - - thumb_func_start sub_8060684 -sub_8060684: @ 8060684 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080606C8 @ =gUnknown_83A6050 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - movs r1, 0 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080606B4 - bl Random - movs r1, 0x3 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_080606B4: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080606C8: .4byte gUnknown_83A6050 - thumb_func_end sub_8060684 - - thumb_func_start sub_80606CC -sub_80606CC: @ 80606CC - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080606E8 @ =gObjectEvents - adds r0, r2 - ldr r2, _080606EC @ =sub_80606F0 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080606E8: .4byte gObjectEvents -_080606EC: .4byte sub_80606F0 - thumb_func_end sub_80606CC - - thumb_func_start sub_80606F0 -sub_80606F0: @ 80606F0 - push {r4,lr} - ldr r3, _0806070C @ =gUnknown_83A6094 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806070C: .4byte gUnknown_83A6094 - thumb_func_end sub_80606F0 - - thumb_func_start sub_8060710 -sub_8060710: @ 8060710 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060710 - - thumb_func_start sub_8060724 -sub_8060724: @ 8060724 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060724 - - thumb_func_start sub_8060750 -sub_8060750: @ 8060750 - push {r4-r6,lr} - adds r6, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08060784 - ldr r5, _08060780 @ =gUnknown_83A6000 - bl Random - movs r4, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r5 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r6, 0 - bl SetObjectEventStepTimer - strh r4, [r6, 0x30] - movs r0, 0x1 - b _08060786 - .align 2, 0 -_08060780: .4byte gUnknown_83A6000 -_08060784: - movs r0, 0 -_08060786: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8060750 - - thumb_func_start sub_806078C -sub_806078C: @ 806078C - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _080607A0 - movs r0, 0 - b _080607A6 -_080607A0: - movs r0, 0x4 - strh r0, [r4, 0x30] - movs r0, 0x1 -_080607A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_806078C - - thumb_func_start sub_80607AC -sub_80607AC: @ 80607AC - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _080607F4 @ =gUnknown_83A60B0 - mov r0, sp - movs r2, 0x2 - bl memcpy - bl Random - movs r7, 0x1 - adds r1, r7, 0 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r4, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x5 - strh r0, [r6, 0x30] - adds r0, r5, 0 - adds r1, r4, 0 - bl npc_block_way__next_tile - lsls r0, 24 - cmp r0, 0 - beq _080607EA - strh r7, [r6, 0x30] -_080607EA: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080607F4: .4byte gUnknown_83A60B0 - thumb_func_end sub_80607AC - - thumb_func_start sub_80607F8 -sub_80607F8: @ 80607F8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetWalkNormalMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x6 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80607F8 - - thumb_func_start sub_8060828 -sub_8060828: @ 8060828 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08060846 - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_08060846: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060828 - - thumb_func_start sub_8060850 -sub_8060850: @ 8060850 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0806086C @ =gObjectEvents - adds r0, r2 - ldr r2, _08060870 @ =sub_8060874 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0806086C: .4byte gObjectEvents -_08060870: .4byte sub_8060874 - thumb_func_end sub_8060850 - - thumb_func_start sub_8060874 -sub_8060874: @ 8060874 - push {r4,lr} - ldr r3, _08060890 @ =gUnknown_83A60B4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08060890: .4byte gUnknown_83A60B4 - thumb_func_end sub_8060874 - - thumb_func_start sub_8060894 -sub_8060894: @ 8060894 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060894 - - thumb_func_start sub_80608A8 -sub_80608A8: @ 80608A8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80608A8 - - thumb_func_start sub_80608D4 -sub_80608D4: @ 80608D4 - push {r4-r6,lr} - adds r6, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08060908 - ldr r5, _08060904 @ =gUnknown_83A6000 - bl Random - movs r4, 0x3 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r5 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r6, 0 - bl SetObjectEventStepTimer - strh r4, [r6, 0x30] - movs r0, 0x1 - b _0806090A - .align 2, 0 -_08060904: .4byte gUnknown_83A6000 -_08060908: - movs r0, 0 -_0806090A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80608D4 - - thumb_func_start sub_8060910 -sub_8060910: @ 8060910 - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _08060924 - movs r0, 0 - b _0806092A -_08060924: - movs r0, 0x4 - strh r0, [r4, 0x30] - movs r0, 0x1 -_0806092A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060910 - - thumb_func_start sub_8060930 -sub_8060930: @ 8060930 - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _08060978 @ =gUnknown_83A60D0 - mov r0, sp - movs r2, 0x2 - bl memcpy - bl Random - movs r7, 0x1 - adds r1, r7, 0 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r4, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x5 - strh r0, [r6, 0x30] - adds r0, r5, 0 - adds r1, r4, 0 - bl npc_block_way__next_tile - lsls r0, 24 - cmp r0, 0 - beq _0806096E - strh r7, [r6, 0x30] -_0806096E: - movs r0, 0x1 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08060978: .4byte gUnknown_83A60D0 - thumb_func_end sub_8060930 - - thumb_func_start sub_806097C -sub_806097C: @ 806097C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetWalkNormalMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x6 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806097C - - thumb_func_start sub_80609AC -sub_80609AC: @ 80609AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _080609CA - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_080609CA: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80609AC - - thumb_func_start sub_80609D4 -sub_80609D4: @ 80609D4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080609F0 @ =gObjectEvents - adds r0, r2 - ldr r2, _080609F4 @ =sub_80609F8 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080609F0: .4byte gObjectEvents -_080609F4: .4byte sub_80609F8 - thumb_func_end sub_80609D4 - - thumb_func_start sub_80609F8 -sub_80609F8: @ 80609F8 - push {r4,lr} - ldr r3, _08060A14 @ =gUnknown_83A60D4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08060A14: .4byte gUnknown_83A60D4 - thumb_func_end sub_80609F8 - - thumb_func_start sub_8060A18 -sub_8060A18: @ 8060A18 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060A18 - - thumb_func_start sub_8060A44 -sub_8060A44: @ 8060A44 - push {r4,lr} - adds r4, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - bne _08060A56 - movs r0, 0 - b _08060A5C -_08060A56: - movs r0, 0x2 - strh r0, [r4, 0x30] - movs r0, 0x1 -_08060A5C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060A44 - - thumb_func_start sub_8060A64 -sub_8060A64: @ 8060A64 - ldrb r2, [r0] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - movs r0, 0 - bx lr - thumb_func_end sub_8060A64 - - thumb_func_start sub_8060A74 -sub_8060A74: @ 8060A74 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08060A90 @ =gObjectEvents - adds r0, r2 - ldr r2, _08060A94 @ =sub_8060A98 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08060A90: .4byte gObjectEvents -_08060A94: .4byte sub_8060A98 - thumb_func_end sub_8060A74 - - thumb_func_start sub_8060A98 -sub_8060A98: @ 8060A98 - push {r4,lr} - ldr r3, _08060AB4 @ =gUnknown_83A60E0 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08060AB4: .4byte gUnknown_83A60E0 - thumb_func_end sub_8060A98 - - thumb_func_start sub_8060AB8 -sub_8060AB8: @ 8060AB8 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060AB8 - - thumb_func_start sub_8060ACC -sub_8060ACC: @ 8060ACC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060ACC - - thumb_func_start sub_8060AF8 -sub_8060AF8: @ 8060AF8 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08060B2E - ldr r4, _08060B38 @ =gUnknown_83A6000 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_08060B2E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08060B38: .4byte gUnknown_83A6000 - thumb_func_end sub_8060AF8 - - thumb_func_start sub_8060B3C -sub_8060B3C: @ 8060B3C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _08060B5A - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _08060B62 -_08060B5A: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _08060B64 -_08060B62: - movs r0, 0 -_08060B64: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060B3C - - thumb_func_start sub_8060B6C -sub_8060B6C: @ 8060B6C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08060BB0 @ =gUnknown_83A60B0 - mov r0, sp - movs r2, 0x2 - bl memcpy - adds r0, r4, 0 - movs r1, 0x1 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08060B9C - bl Random - movs r1, 0x1 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_08060B9C: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08060BB0: .4byte gUnknown_83A60B0 - thumb_func_end sub_8060B6C - - thumb_func_start sub_8060BB4 -sub_8060BB4: @ 8060BB4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08060BD0 @ =gObjectEvents - adds r0, r2 - ldr r2, _08060BD4 @ =sub_8060BD8 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08060BD0: .4byte gObjectEvents -_08060BD4: .4byte sub_8060BD8 - thumb_func_end sub_8060BB4 - - thumb_func_start sub_8060BD8 -sub_8060BD8: @ 8060BD8 - push {r4,lr} - ldr r3, _08060BF4 @ =gUnknown_83A60F4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08060BF4: .4byte gUnknown_83A60F4 - thumb_func_end sub_8060BD8 - - thumb_func_start sub_8060BF8 -sub_8060BF8: @ 8060BF8 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060BF8 - - thumb_func_start sub_8060C0C -sub_8060C0C: @ 8060C0C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060C0C - - thumb_func_start sub_8060C38 -sub_8060C38: @ 8060C38 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08060C6E - ldr r4, _08060C78 @ =gUnknown_83A6000 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_08060C6E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08060C78: .4byte gUnknown_83A6000 - thumb_func_end sub_8060C38 - - thumb_func_start sub_8060C7C -sub_8060C7C: @ 8060C7C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _08060C9A - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _08060CA2 -_08060C9A: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _08060CA4 -_08060CA2: - movs r0, 0 -_08060CA4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060C7C - - thumb_func_start sub_8060CAC -sub_8060CAC: @ 8060CAC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08060CF0 @ =gUnknown_83A60D0 - mov r0, sp - movs r2, 0x2 - bl memcpy - adds r0, r4, 0 - movs r1, 0x2 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08060CDC - bl Random - movs r1, 0x1 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_08060CDC: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08060CF0: .4byte gUnknown_83A60D0 - thumb_func_end sub_8060CAC - - thumb_func_start sub_8060CF4 -sub_8060CF4: @ 8060CF4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08060D10 @ =gObjectEvents - adds r0, r2 - ldr r2, _08060D14 @ =sub_8060D18 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08060D10: .4byte gObjectEvents -_08060D14: .4byte sub_8060D18 - thumb_func_end sub_8060CF4 - - thumb_func_start sub_8060D18 -sub_8060D18: @ 8060D18 - push {r4,lr} - ldr r3, _08060D34 @ =gUnknown_83A6108 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08060D34: .4byte gUnknown_83A6108 - thumb_func_end sub_8060D18 - - thumb_func_start sub_8060D38 -sub_8060D38: @ 8060D38 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060D38 - - thumb_func_start sub_8060D4C -sub_8060D4C: @ 8060D4C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060D4C - - thumb_func_start sub_8060D78 -sub_8060D78: @ 8060D78 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08060DAE - ldr r4, _08060DB8 @ =gUnknown_83A6010 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_08060DAE: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08060DB8: .4byte gUnknown_83A6010 - thumb_func_end sub_8060D78 - - thumb_func_start sub_8060DBC -sub_8060DBC: @ 8060DBC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _08060DDA - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _08060DE2 -_08060DDA: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _08060DE4 -_08060DE2: - movs r0, 0 -_08060DE4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060DBC - - thumb_func_start sub_8060DEC -sub_8060DEC: @ 8060DEC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08060E30 @ =gUnknown_83A611C - mov r0, sp - movs r2, 0x2 - bl memcpy - adds r0, r4, 0 - movs r1, 0x3 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08060E1C - bl Random - movs r1, 0x1 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_08060E1C: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08060E30: .4byte gUnknown_83A611C - thumb_func_end sub_8060DEC - - thumb_func_start sub_8060E34 -sub_8060E34: @ 8060E34 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08060E50 @ =gObjectEvents - adds r0, r2 - ldr r2, _08060E54 @ =sub_8060E58 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08060E50: .4byte gObjectEvents -_08060E54: .4byte sub_8060E58 - thumb_func_end sub_8060E34 - - thumb_func_start sub_8060E58 -sub_8060E58: @ 8060E58 - push {r4,lr} - ldr r3, _08060E74 @ =gUnknown_83A6120 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08060E74: .4byte gUnknown_83A6120 - thumb_func_end sub_8060E58 - - thumb_func_start sub_8060E78 -sub_8060E78: @ 8060E78 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060E78 - - thumb_func_start sub_8060E8C -sub_8060E8C: @ 8060E8C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060E8C - - thumb_func_start sub_8060EB8 -sub_8060EB8: @ 8060EB8 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08060EEE - ldr r4, _08060EF8 @ =gUnknown_83A6010 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_08060EEE: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08060EF8: .4byte gUnknown_83A6010 - thumb_func_end sub_8060EB8 - - thumb_func_start sub_8060EFC -sub_8060EFC: @ 8060EFC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _08060F1A - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _08060F22 -_08060F1A: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _08060F24 -_08060F22: - movs r0, 0 -_08060F24: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060EFC - - thumb_func_start sub_8060F2C -sub_8060F2C: @ 8060F2C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08060F70 @ =gUnknown_83A6134 - mov r0, sp - movs r2, 0x2 - bl memcpy - adds r0, r4, 0 - movs r1, 0x4 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08060F5C - bl Random - movs r1, 0x1 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_08060F5C: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08060F70: .4byte gUnknown_83A6134 - thumb_func_end sub_8060F2C - - thumb_func_start sub_8060F74 -sub_8060F74: @ 8060F74 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08060F90 @ =gObjectEvents - adds r0, r2 - ldr r2, _08060F94 @ =sub_8060F98 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08060F90: .4byte gObjectEvents -_08060F94: .4byte sub_8060F98 - thumb_func_end sub_8060F74 - - thumb_func_start sub_8060F98 -sub_8060F98: @ 8060F98 - push {r4,lr} - ldr r3, _08060FB4 @ =gUnknown_83A6138 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08060FB4: .4byte gUnknown_83A6138 - thumb_func_end sub_8060F98 - - thumb_func_start sub_8060FB8 -sub_8060FB8: @ 8060FB8 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8060FB8 - - thumb_func_start sub_8060FCC -sub_8060FCC: @ 8060FCC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8060FCC - - thumb_func_start sub_8060FF8 -sub_8060FF8: @ 8060FF8 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _0806102E - ldr r4, _08061038 @ =gUnknown_83A6010 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_0806102E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08061038: .4byte gUnknown_83A6010 - thumb_func_end sub_8060FF8 - - thumb_func_start sub_806103C -sub_806103C: @ 806103C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _0806105A - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _08061062 -_0806105A: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _08061064 -_08061062: - movs r0, 0 -_08061064: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806103C - - thumb_func_start sub_806106C -sub_806106C: @ 806106C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080610B0 @ =gUnknown_83A614C - mov r0, sp - movs r2, 0x2 - bl memcpy - adds r0, r4, 0 - movs r1, 0x5 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0806109C - bl Random - movs r1, 0x1 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_0806109C: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080610B0: .4byte gUnknown_83A614C - thumb_func_end sub_806106C - - thumb_func_start sub_80610B4 -sub_80610B4: @ 80610B4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080610D0 @ =gObjectEvents - adds r0, r2 - ldr r2, _080610D4 @ =sub_80610D8 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080610D0: .4byte gObjectEvents -_080610D4: .4byte sub_80610D8 - thumb_func_end sub_80610B4 - - thumb_func_start sub_80610D8 -sub_80610D8: @ 80610D8 - push {r4,lr} - ldr r3, _080610F4 @ =gUnknown_83A6150 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080610F4: .4byte gUnknown_83A6150 - thumb_func_end sub_80610D8 - - thumb_func_start sub_80610F8 -sub_80610F8: @ 80610F8 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80610F8 - - thumb_func_start sub_806110C -sub_806110C: @ 806110C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806110C - - thumb_func_start sub_8061138 -sub_8061138: @ 8061138 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _0806116E - ldr r4, _08061178 @ =gUnknown_83A6010 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_0806116E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08061178: .4byte gUnknown_83A6010 - thumb_func_end sub_8061138 - - thumb_func_start sub_806117C -sub_806117C: @ 806117C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _0806119A - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _080611A2 -_0806119A: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _080611A4 -_080611A2: - movs r0, 0 -_080611A4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806117C - - thumb_func_start sub_80611AC -sub_80611AC: @ 80611AC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080611F0 @ =gUnknown_83A6164 - mov r0, sp - movs r2, 0x2 - bl memcpy - adds r0, r4, 0 - movs r1, 0x6 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080611DC - bl Random - movs r1, 0x1 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_080611DC: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080611F0: .4byte gUnknown_83A6164 - thumb_func_end sub_80611AC - - thumb_func_start sub_80611F4 -sub_80611F4: @ 80611F4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061210 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061214 @ =sub_8061218 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061210: .4byte gObjectEvents -_08061214: .4byte sub_8061218 - thumb_func_end sub_80611F4 - - thumb_func_start sub_8061218 -sub_8061218: @ 8061218 - push {r4,lr} - ldr r3, _08061234 @ =gUnknown_83A6168 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061234: .4byte gUnknown_83A6168 - thumb_func_end sub_8061218 - - thumb_func_start sub_8061238 -sub_8061238: @ 8061238 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8061238 - - thumb_func_start sub_806124C -sub_806124C: @ 806124C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806124C - - thumb_func_start sub_8061278 -sub_8061278: @ 8061278 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _080612AE - ldr r4, _080612B8 @ =gUnknown_83A6010 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_080612AE: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080612B8: .4byte gUnknown_83A6010 - thumb_func_end sub_8061278 - - thumb_func_start sub_80612BC -sub_80612BC: @ 80612BC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _080612DA - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _080612E2 -_080612DA: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _080612E4 -_080612E2: - movs r0, 0 -_080612E4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80612BC - - thumb_func_start sub_80612EC -sub_80612EC: @ 80612EC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061330 @ =gUnknown_83A617C - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - movs r1, 0x7 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0806131C - bl Random - movs r1, 0x3 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_0806131C: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061330: .4byte gUnknown_83A617C - thumb_func_end sub_80612EC - - thumb_func_start sub_8061334 -sub_8061334: @ 8061334 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061350 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061354 @ =sub_8061358 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061350: .4byte gObjectEvents -_08061354: .4byte sub_8061358 - thumb_func_end sub_8061334 - - thumb_func_start sub_8061358 -sub_8061358: @ 8061358 - push {r4,lr} - ldr r3, _08061374 @ =gUnknown_83A6180 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061374: .4byte gUnknown_83A6180 - thumb_func_end sub_8061358 - - thumb_func_start sub_8061378 -sub_8061378: @ 8061378 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8061378 - - thumb_func_start sub_806138C -sub_806138C: @ 806138C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806138C - - thumb_func_start sub_80613B8 -sub_80613B8: @ 80613B8 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _080613EE - ldr r4, _080613F8 @ =gUnknown_83A6010 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_080613EE: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080613F8: .4byte gUnknown_83A6010 - thumb_func_end sub_80613B8 - - thumb_func_start sub_80613FC -sub_80613FC: @ 80613FC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _0806141A - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _08061422 -_0806141A: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _08061424 -_08061422: - movs r0, 0 -_08061424: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80613FC - - thumb_func_start sub_806142C -sub_806142C: @ 806142C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061470 @ =gUnknown_83A6194 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - movs r1, 0x8 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0806145C - bl Random - movs r1, 0x3 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_0806145C: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061470: .4byte gUnknown_83A6194 - thumb_func_end sub_806142C - - thumb_func_start sub_8061474 -sub_8061474: @ 8061474 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061490 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061494 @ =sub_8061498 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061490: .4byte gObjectEvents -_08061494: .4byte sub_8061498 - thumb_func_end sub_8061474 - - thumb_func_start sub_8061498 -sub_8061498: @ 8061498 - push {r4,lr} - ldr r3, _080614B4 @ =gUnknown_83A6198 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080614B4: .4byte gUnknown_83A6198 - thumb_func_end sub_8061498 - - thumb_func_start sub_80614B8 -sub_80614B8: @ 80614B8 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80614B8 - - thumb_func_start sub_80614CC -sub_80614CC: @ 80614CC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80614CC - - thumb_func_start sub_80614F8 -sub_80614F8: @ 80614F8 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _0806152E - ldr r4, _08061538 @ =gUnknown_83A6010 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_0806152E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08061538: .4byte gUnknown_83A6010 - thumb_func_end sub_80614F8 - - thumb_func_start sub_806153C -sub_806153C: @ 806153C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _0806155A - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _08061562 -_0806155A: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _08061564 -_08061562: - movs r0, 0 -_08061564: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806153C - - thumb_func_start sub_806156C -sub_806156C: @ 806156C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080615B0 @ =gUnknown_83A61AC - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - movs r1, 0x9 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0806159C - bl Random - movs r1, 0x3 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_0806159C: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080615B0: .4byte gUnknown_83A61AC - thumb_func_end sub_806156C - - thumb_func_start sub_80615B4 -sub_80615B4: @ 80615B4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080615D0 @ =gObjectEvents - adds r0, r2 - ldr r2, _080615D4 @ =sub_80615D8 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080615D0: .4byte gObjectEvents -_080615D4: .4byte sub_80615D8 - thumb_func_end sub_80615B4 - - thumb_func_start sub_80615D8 -sub_80615D8: @ 80615D8 - push {r4,lr} - ldr r3, _080615F4 @ =gUnknown_83A61B0 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080615F4: .4byte gUnknown_83A61B0 - thumb_func_end sub_80615D8 - - thumb_func_start sub_80615F8 -sub_80615F8: @ 80615F8 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80615F8 - - thumb_func_start sub_806160C -sub_806160C: @ 806160C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806160C - - thumb_func_start sub_8061638 -sub_8061638: @ 8061638 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _0806166E - ldr r4, _08061678 @ =gUnknown_83A6010 - bl Random - movs r5, 0x3 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r7, 0 - bl SetObjectEventStepTimer - ldrb r1, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r6] - strh r5, [r7, 0x30] -_0806166E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08061678: .4byte gUnknown_83A6010 - thumb_func_end sub_8061638 - - thumb_func_start sub_806167C -sub_806167C: @ 806167C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _0806169A - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _080616A2 -_0806169A: - movs r0, 0x4 - strh r0, [r5, 0x30] - movs r0, 0x1 - b _080616A4 -_080616A2: - movs r0, 0 -_080616A4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806167C - - thumb_func_start sub_80616AC -sub_80616AC: @ 80616AC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080616F0 @ =gUnknown_83A61C4 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - movs r1, 0xA - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080616DC - bl Random - movs r1, 0x3 - ands r1, r0 - mov r2, sp - adds r0, r2, r1 - ldrb r1, [r0] -_080616DC: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x30] - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080616F0: .4byte gUnknown_83A61C4 - thumb_func_end sub_80616AC - - thumb_func_start sub_80616F4 -sub_80616F4: @ 80616F4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061710 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061714 @ =sub_8061718 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061710: .4byte gObjectEvents -_08061714: .4byte sub_8061718 - thumb_func_end sub_80616F4 - - thumb_func_start sub_8061718 -sub_8061718: @ 8061718 - push {r4,lr} - ldr r3, _08061734 @ =gUnknown_83A61C8 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061734: .4byte gUnknown_83A61C8 - thumb_func_end sub_8061718 - - thumb_func_start sub_8061738 -sub_8061738: @ 8061738 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8061738 - - thumb_func_start sub_8061764 -sub_8061764: @ 8061764 - push {r4,lr} - adds r4, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _0806177E - adds r0, r4, 0 - movs r1, 0x30 - bl SetObjectEventStepTimer - movs r0, 0x2 - strh r0, [r4, 0x30] -_0806177E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8061764 - - thumb_func_start sub_8061788 -sub_8061788: @ 8061788 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _080617A6 - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _080617AA -_080617A6: - movs r0, 0x3 - strh r0, [r5, 0x30] -_080617AA: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8061788 - - thumb_func_start sub_80617B4 -sub_80617B4: @ 80617B4 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080617F4 @ =gUnknown_83A61D8 - mov r0, sp - movs r2, 0x5 - bl memcpy - adds r0, r4, 0 - movs r1, 0 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080617E0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] -_080617E0: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0 - strh r0, [r5, 0x30] - movs r0, 0x1 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080617F4: .4byte gUnknown_83A61D8 - thumb_func_end sub_80617B4 - - thumb_func_start sub_80617F8 -sub_80617F8: @ 80617F8 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061814 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061818 @ =sub_806181C - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061814: .4byte gObjectEvents -_08061818: .4byte sub_806181C - thumb_func_end sub_80617F8 - - thumb_func_start sub_806181C -sub_806181C: @ 806181C - push {r4,lr} - ldr r3, _08061838 @ =gUnknown_83A61E0 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061838: .4byte gUnknown_83A61E0 - thumb_func_end sub_806181C - - thumb_func_start sub_806183C -sub_806183C: @ 806183C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806183C - - thumb_func_start sub_8061868 -sub_8061868: @ 8061868 - push {r4,lr} - adds r4, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08061882 - adds r0, r4, 0 - movs r1, 0x30 - bl SetObjectEventStepTimer - movs r0, 0x2 - strh r0, [r4, 0x30] -_08061882: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8061868 - - thumb_func_start sub_806188C -sub_806188C: @ 806188C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - bne _080618AA - adds r0, r4, 0 - bl ObjectEventIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _080618AE -_080618AA: - movs r0, 0x3 - strh r0, [r5, 0x30] -_080618AE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806188C - - thumb_func_start sub_80618B8 -sub_80618B8: @ 80618B8 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080618F8 @ =gUnknown_83A61F0 - mov r0, sp - movs r2, 0x5 - bl memcpy - adds r0, r4, 0 - movs r1, 0 - bl GetRunningPastFacingDirection - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080618E4 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] -_080618E4: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0 - strh r0, [r5, 0x30] - movs r0, 0x1 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080618F8: .4byte gUnknown_83A61F0 - thumb_func_end sub_80618B8 - - thumb_func_start sub_80618FC -sub_80618FC: @ 80618FC - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061918 @ =gObjectEvents - adds r0, r2 - ldr r2, _0806191C @ =sub_8061920 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061918: .4byte gObjectEvents -_0806191C: .4byte sub_8061920 - thumb_func_end sub_80618FC - - thumb_func_start sub_8061920 -sub_8061920: @ 8061920 - push {r4,lr} - ldr r3, _0806193C @ =gUnknown_83A61F8 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806193C: .4byte gUnknown_83A61F8 - thumb_func_end sub_8061920 - - thumb_func_start sub_8061940 -sub_8061940: @ 8061940 - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8061940 - - thumb_func_start sub_8061954 -sub_8061954: @ 8061954 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _08061988 @ =gInitialMovementTypeFacingDirections - ldrb r1, [r4, 0x6] - adds r1, r0 - ldrb r1, [r1] - adds r0, r4, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0 - beq _08061976 - adds r0, r1, 0 - bl GetOppositeDirection - lsls r0, 24 - lsrs r1, r0, 24 -_08061976: - adds r0, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061988: .4byte gInitialMovementTypeFacingDirections - thumb_func_end sub_8061954 - - thumb_func_start sub_806198C -sub_806198C: @ 806198C - push {r4-r7,lr} - adds r4, r0, 0 - adds r7, r1, 0 - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0 - beq _080619BC - ldr r1, [r4, 0xC] - ldr r0, [r4, 0x10] - cmp r1, r0 - bne _080619BC - movs r0, 0 - strb r0, [r2] - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetOppositeDirection - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetDirection -_080619BC: - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl npc_block_way__next_tile - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetWalkNormalMovementAction - lsls r0, 24 - lsrs r6, r0, 24 - cmp r5, 0x1 - bne _08061A12 - adds r1, r4, 0 - adds r1, 0x21 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetOppositeDirection - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetDirection - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetWalkNormalMovementAction - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl npc_block_way__next_tile - lsls r0, 24 - lsrs r5, r0, 24 -_08061A12: - cmp r5, 0 - beq _08061A24 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetStepInPlaceDelay16AnimId - lsls r0, 24 - lsrs r6, r0, 24 -_08061A24: - adds r0, r4, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x3 - strh r0, [r7, 0x30] - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806198C - - thumb_func_start sub_8061A44 -sub_8061A44: @ 8061A44 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08061A62 - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_08061A62: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8061A44 - - thumb_func_start sub_8061A6C -sub_8061A6C: @ 8061A6C - push {r4,lr} - adds r4, r1, 0 - bl npc_reset - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8061A6C - - thumb_func_start MoveObjectEventInNextDirectionInSequence -MoveObjectEventInNextDirectionInSequence: @ 8061A80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - mov r8, r1 - adds r7, r2, 0 - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x3 - bne _08061AA2 - ldr r1, [r4, 0xC] - ldr r0, [r4, 0x10] - cmp r1, r0 - bne _08061AA2 - movs r0, 0 - strb r0, [r2] -_08061AA2: - adds r5, r4, 0 - adds r5, 0x21 - ldrb r0, [r5] - adds r0, r7, r0 - ldrb r1, [r0] - adds r0, r4, 0 - bl ObjectEventSetDirection - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetWalkNormalMovementAction - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl npc_block_way__next_tile - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08061AFC - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - ldrb r0, [r5] - adds r0, r7, r0 - ldrb r1, [r0] - adds r0, r4, 0 - bl ObjectEventSetDirection - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetWalkNormalMovementAction - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl npc_block_way__next_tile - lsls r0, 24 - lsrs r0, 24 -_08061AFC: - cmp r0, 0 - beq _08061B0E - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetStepInPlaceDelay16AnimId - lsls r0, 24 - lsrs r6, r0, 24 -_08061B0E: - adds r0, r4, 0 - mov r1, r8 - adds r2, r6, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - mov r1, r8 - strh r0, [r1, 0x30] - movs r0, 0x1 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end MoveObjectEventInNextDirectionInSequence - - thumb_func_start sub_8061B34 -sub_8061B34: @ 8061B34 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08061B52 - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_08061B52: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8061B34 - - thumb_func_start sub_8061B5C -sub_8061B5C: @ 8061B5C - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061B78 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061B7C @ =sub_8061B80 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061B78: .4byte gObjectEvents -_08061B7C: .4byte sub_8061B80 - thumb_func_end sub_8061B5C - - thumb_func_start sub_8061B80 -sub_8061B80: @ 8061B80 - push {r4,lr} - ldr r3, _08061B9C @ =gUnknown_83A6208 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061B9C: .4byte gUnknown_83A6208 - thumb_func_end sub_8061B80 - - thumb_func_start sub_8061BA0 -sub_8061BA0: @ 8061BA0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061BE4 @ =gUnknown_83A6214 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08061BCC - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08061BCC - movs r0, 0x3 - strb r0, [r2] -_08061BCC: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061BE4: .4byte gUnknown_83A6214 - thumb_func_end sub_8061BA0 - - thumb_func_start sub_8061BE8 -sub_8061BE8: @ 8061BE8 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061C04 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061C08 @ =sub_8061C0C - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061C04: .4byte gObjectEvents -_08061C08: .4byte sub_8061C0C - thumb_func_end sub_8061BE8 - - thumb_func_start sub_8061C0C -sub_8061C0C: @ 8061C0C - push {r4,lr} - ldr r3, _08061C28 @ =gUnknown_83A6218 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061C28: .4byte gUnknown_83A6218 - thumb_func_end sub_8061C0C - - thumb_func_start sub_8061C2C -sub_8061C2C: @ 8061C2C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061C70 @ =gUnknown_83A6224 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x1 - bne _08061C58 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08061C58 - movs r0, 0x2 - strb r0, [r2] -_08061C58: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061C70: .4byte gUnknown_83A6224 - thumb_func_end sub_8061C2C - - thumb_func_start sub_8061C74 -sub_8061C74: @ 8061C74 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061C90 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061C94 @ =sub_8061C98 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061C90: .4byte gObjectEvents -_08061C94: .4byte sub_8061C98 - thumb_func_end sub_8061C74 - - thumb_func_start sub_8061C98 -sub_8061C98: @ 8061C98 - push {r4,lr} - ldr r3, _08061CB4 @ =gUnknown_83A6228 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061CB4: .4byte gUnknown_83A6228 - thumb_func_end sub_8061C98 - - thumb_func_start sub_8061CB8 -sub_8061CB8: @ 8061CB8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061CFC @ =gUnknown_83A6234 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x1 - bne _08061CE4 - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08061CE4 - movs r0, 0x2 - strb r0, [r2] -_08061CE4: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061CFC: .4byte gUnknown_83A6234 - thumb_func_end sub_8061CB8 - - thumb_func_start sub_8061D00 -sub_8061D00: @ 8061D00 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061D1C @ =gObjectEvents - adds r0, r2 - ldr r2, _08061D20 @ =sub_8061D24 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061D1C: .4byte gObjectEvents -_08061D20: .4byte sub_8061D24 - thumb_func_end sub_8061D00 - - thumb_func_start sub_8061D24 -sub_8061D24: @ 8061D24 - push {r4,lr} - ldr r3, _08061D40 @ =gUnknown_83A6238 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061D40: .4byte gUnknown_83A6238 - thumb_func_end sub_8061D24 - - thumb_func_start sub_8061D44 -sub_8061D44: @ 8061D44 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061D88 @ =gUnknown_83A6244 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08061D70 - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08061D70 - movs r0, 0x3 - strb r0, [r2] -_08061D70: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061D88: .4byte gUnknown_83A6244 - thumb_func_end sub_8061D44 - - thumb_func_start sub_8061D8C -sub_8061D8C: @ 8061D8C - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061DA8 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061DAC @ =sub_8061DB0 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061DA8: .4byte gObjectEvents -_08061DAC: .4byte sub_8061DB0 - thumb_func_end sub_8061D8C - - thumb_func_start sub_8061DB0 -sub_8061DB0: @ 8061DB0 - push {r4,lr} - ldr r3, _08061DCC @ =gUnknown_83A6248 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061DCC: .4byte gUnknown_83A6248 - thumb_func_end sub_8061DB0 - - thumb_func_start sub_8061DD0 -sub_8061DD0: @ 8061DD0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061E14 @ =gUnknown_83A6254 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08061DFC - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08061DFC - movs r0, 0x3 - strb r0, [r2] -_08061DFC: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061E14: .4byte gUnknown_83A6254 - thumb_func_end sub_8061DD0 - - thumb_func_start sub_8061E18 -sub_8061E18: @ 8061E18 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061E34 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061E38 @ =sub_8061E3C - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061E34: .4byte gObjectEvents -_08061E38: .4byte sub_8061E3C - thumb_func_end sub_8061E18 - - thumb_func_start sub_8061E3C -sub_8061E3C: @ 8061E3C - push {r4,lr} - ldr r3, _08061E58 @ =gUnknown_83A6258 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061E58: .4byte gUnknown_83A6258 - thumb_func_end sub_8061E3C - - thumb_func_start sub_8061E5C -sub_8061E5C: @ 8061E5C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061EA0 @ =gUnknown_83A6264 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x1 - bne _08061E88 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08061E88 - movs r0, 0x2 - strb r0, [r2] -_08061E88: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061EA0: .4byte gUnknown_83A6264 - thumb_func_end sub_8061E5C - - thumb_func_start sub_8061EA4 -sub_8061EA4: @ 8061EA4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061EC0 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061EC4 @ =sub_8061EC8 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061EC0: .4byte gObjectEvents -_08061EC4: .4byte sub_8061EC8 - thumb_func_end sub_8061EA4 - - thumb_func_start sub_8061EC8 -sub_8061EC8: @ 8061EC8 - push {r4,lr} - ldr r3, _08061EE4 @ =gUnknown_83A6268 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061EE4: .4byte gUnknown_83A6268 - thumb_func_end sub_8061EC8 - - thumb_func_start sub_8061EE8 -sub_8061EE8: @ 8061EE8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061F2C @ =gUnknown_83A6050 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x1 - bne _08061F14 - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08061F14 - movs r0, 0x2 - strb r0, [r2] -_08061F14: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061F2C: .4byte gUnknown_83A6050 - thumb_func_end sub_8061EE8 - - thumb_func_start sub_8061F30 -sub_8061F30: @ 8061F30 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061F4C @ =gObjectEvents - adds r0, r2 - ldr r2, _08061F50 @ =sub_8061F54 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061F4C: .4byte gObjectEvents -_08061F50: .4byte sub_8061F54 - thumb_func_end sub_8061F30 - - thumb_func_start sub_8061F54 -sub_8061F54: @ 8061F54 - push {r4,lr} - ldr r3, _08061F70 @ =gUnknown_83A6274 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061F70: .4byte gUnknown_83A6274 - thumb_func_end sub_8061F54 - - thumb_func_start sub_8061F74 -sub_8061F74: @ 8061F74 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08061FB8 @ =gUnknown_83A6280 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08061FA0 - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08061FA0 - movs r0, 0x3 - strb r0, [r2] -_08061FA0: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08061FB8: .4byte gUnknown_83A6280 - thumb_func_end sub_8061F74 - - thumb_func_start sub_8061FBC -sub_8061FBC: @ 8061FBC - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08061FD8 @ =gObjectEvents - adds r0, r2 - ldr r2, _08061FDC @ =sub_8061FE0 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08061FD8: .4byte gObjectEvents -_08061FDC: .4byte sub_8061FE0 - thumb_func_end sub_8061FBC - - thumb_func_start sub_8061FE0 -sub_8061FE0: @ 8061FE0 - push {r4,lr} - ldr r3, _08061FFC @ =gUnknown_83A6284 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08061FFC: .4byte gUnknown_83A6284 - thumb_func_end sub_8061FE0 - - thumb_func_start sub_8062000 -sub_8062000: @ 8062000 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08062044 @ =gUnknown_83A6290 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _0806202C - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _0806202C - movs r0, 0x3 - strb r0, [r2] -_0806202C: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062044: .4byte gUnknown_83A6290 - thumb_func_end sub_8062000 - - thumb_func_start sub_8062048 -sub_8062048: @ 8062048 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062064 @ =gObjectEvents - adds r0, r2 - ldr r2, _08062068 @ =sub_806206C - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062064: .4byte gObjectEvents -_08062068: .4byte sub_806206C - thumb_func_end sub_8062048 - - thumb_func_start sub_806206C -sub_806206C: @ 806206C - push {r4,lr} - ldr r3, _08062088 @ =gUnknown_83A6294 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08062088: .4byte gUnknown_83A6294 - thumb_func_end sub_806206C - - thumb_func_start sub_806208C -sub_806208C: @ 806208C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080620D0 @ =gUnknown_83A62A0 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x1 - bne _080620B8 - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080620B8 - movs r0, 0x2 - strb r0, [r2] -_080620B8: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080620D0: .4byte gUnknown_83A62A0 - thumb_func_end sub_806208C - - thumb_func_start sub_80620D4 -sub_80620D4: @ 80620D4 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080620F0 @ =gObjectEvents - adds r0, r2 - ldr r2, _080620F4 @ =sub_80620F8 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080620F0: .4byte gObjectEvents -_080620F4: .4byte sub_80620F8 - thumb_func_end sub_80620D4 - - thumb_func_start sub_80620F8 -sub_80620F8: @ 80620F8 - push {r4,lr} - ldr r3, _08062114 @ =gUnknown_83A62A4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08062114: .4byte gUnknown_83A62A4 - thumb_func_end sub_80620F8 - - thumb_func_start sub_8062118 -sub_8062118: @ 8062118 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _0806215C @ =gUnknown_83A62B0 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x1 - bne _08062144 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08062144 - movs r0, 0x2 - strb r0, [r2] -_08062144: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806215C: .4byte gUnknown_83A62B0 - thumb_func_end sub_8062118 - - thumb_func_start sub_8062160 -sub_8062160: @ 8062160 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0806217C @ =gObjectEvents - adds r0, r2 - ldr r2, _08062180 @ =sub_8062184 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0806217C: .4byte gObjectEvents -_08062180: .4byte sub_8062184 - thumb_func_end sub_8062160 - - thumb_func_start sub_8062184 -sub_8062184: @ 8062184 - push {r4,lr} - ldr r3, _080621A0 @ =gUnknown_83A62B4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080621A0: .4byte gUnknown_83A62B4 - thumb_func_end sub_8062184 - - thumb_func_start sub_80621A4 -sub_80621A4: @ 80621A4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080621E8 @ =gUnknown_83A62C0 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _080621D0 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080621D0 - movs r0, 0x3 - strb r0, [r2] -_080621D0: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080621E8: .4byte gUnknown_83A62C0 - thumb_func_end sub_80621A4 - - thumb_func_start sub_80621EC -sub_80621EC: @ 80621EC - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062208 @ =gObjectEvents - adds r0, r2 - ldr r2, _0806220C @ =sub_8062210 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062208: .4byte gObjectEvents -_0806220C: .4byte sub_8062210 - thumb_func_end sub_80621EC - - thumb_func_start sub_8062210 -sub_8062210: @ 8062210 - push {r4,lr} - ldr r3, _0806222C @ =gUnknown_83A62C4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806222C: .4byte gUnknown_83A62C4 - thumb_func_end sub_8062210 - - thumb_func_start sub_8062230 -sub_8062230: @ 8062230 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08062274 @ =gUnknown_83A62D0 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _0806225C - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _0806225C - movs r0, 0x3 - strb r0, [r2] -_0806225C: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062274: .4byte gUnknown_83A62D0 - thumb_func_end sub_8062230 - - thumb_func_start sub_8062278 -sub_8062278: @ 8062278 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062294 @ =gObjectEvents - adds r0, r2 - ldr r2, _08062298 @ =sub_806229C - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062294: .4byte gObjectEvents -_08062298: .4byte sub_806229C - thumb_func_end sub_8062278 - - thumb_func_start sub_806229C -sub_806229C: @ 806229C - push {r4,lr} - ldr r3, _080622B8 @ =gUnknown_83A62D4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080622B8: .4byte gUnknown_83A62D4 - thumb_func_end sub_806229C - - thumb_func_start sub_80622BC -sub_80622BC: @ 80622BC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08062300 @ =gUnknown_83A62E0 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x1 - bne _080622E8 - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080622E8 - movs r0, 0x2 - strb r0, [r2] -_080622E8: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062300: .4byte gUnknown_83A62E0 - thumb_func_end sub_80622BC - - thumb_func_start sub_8062304 -sub_8062304: @ 8062304 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062320 @ =gObjectEvents - adds r0, r2 - ldr r2, _08062324 @ =sub_8062328 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062320: .4byte gObjectEvents -_08062324: .4byte sub_8062328 - thumb_func_end sub_8062304 - - thumb_func_start sub_8062328 -sub_8062328: @ 8062328 - push {r4,lr} - ldr r3, _08062344 @ =gUnknown_83A62E4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08062344: .4byte gUnknown_83A62E4 - thumb_func_end sub_8062328 - - thumb_func_start sub_8062348 -sub_8062348: @ 8062348 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _0806238C @ =gUnknown_83A62F0 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x1 - bne _08062374 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08062374 - movs r0, 0x2 - strb r0, [r2] -_08062374: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806238C: .4byte gUnknown_83A62F0 - thumb_func_end sub_8062348 - - thumb_func_start sub_8062390 -sub_8062390: @ 8062390 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080623AC @ =gObjectEvents - adds r0, r2 - ldr r2, _080623B0 @ =sub_80623B4 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080623AC: .4byte gObjectEvents -_080623B0: .4byte sub_80623B4 - thumb_func_end sub_8062390 - - thumb_func_start sub_80623B4 -sub_80623B4: @ 80623B4 - push {r4,lr} - ldr r3, _080623D0 @ =gUnknown_83A62F4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080623D0: .4byte gUnknown_83A62F4 - thumb_func_end sub_80623B4 - - thumb_func_start sub_80623D4 -sub_80623D4: @ 80623D4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08062418 @ =gUnknown_83A6300 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08062400 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08062400 - movs r0, 0x3 - strb r0, [r2] -_08062400: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062418: .4byte gUnknown_83A6300 - thumb_func_end sub_80623D4 - - thumb_func_start sub_806241C -sub_806241C: @ 806241C - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062438 @ =gObjectEvents - adds r0, r2 - ldr r2, _0806243C @ =sub_8062440 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062438: .4byte gObjectEvents -_0806243C: .4byte sub_8062440 - thumb_func_end sub_806241C - - thumb_func_start sub_8062440 -sub_8062440: @ 8062440 - push {r4,lr} - ldr r3, _0806245C @ =gUnknown_83A6304 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806245C: .4byte gUnknown_83A6304 - thumb_func_end sub_8062440 - - thumb_func_start sub_8062460 -sub_8062460: @ 8062460 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080624A4 @ =gUnknown_83A6310 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _0806248C - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _0806248C - movs r0, 0x3 - strb r0, [r2] -_0806248C: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080624A4: .4byte gUnknown_83A6310 - thumb_func_end sub_8062460 - - thumb_func_start sub_80624A8 -sub_80624A8: @ 80624A8 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080624C4 @ =gObjectEvents - adds r0, r2 - ldr r2, _080624C8 @ =sub_80624CC - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080624C4: .4byte gObjectEvents -_080624C8: .4byte sub_80624CC - thumb_func_end sub_80624A8 - - thumb_func_start sub_80624CC -sub_80624CC: @ 80624CC - push {r4,lr} - ldr r3, _080624E8 @ =gUnknown_83A6314 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080624E8: .4byte gUnknown_83A6314 - thumb_func_end sub_80624CC - - thumb_func_start sub_80624EC -sub_80624EC: @ 80624EC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08062530 @ =gUnknown_83A6320 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08062518 - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08062518 - movs r0, 0x3 - strb r0, [r2] -_08062518: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062530: .4byte gUnknown_83A6320 - thumb_func_end sub_80624EC - - thumb_func_start sub_8062534 -sub_8062534: @ 8062534 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062550 @ =gObjectEvents - adds r0, r2 - ldr r2, _08062554 @ =sub_8062558 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062550: .4byte gObjectEvents -_08062554: .4byte sub_8062558 - thumb_func_end sub_8062534 - - thumb_func_start sub_8062558 -sub_8062558: @ 8062558 - push {r4,lr} - ldr r3, _08062574 @ =gUnknown_83A6324 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08062574: .4byte gUnknown_83A6324 - thumb_func_end sub_8062558 - - thumb_func_start sub_8062578 -sub_8062578: @ 8062578 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080625BC @ =gUnknown_83A6330 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _080625A4 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080625A4 - movs r0, 0x3 - strb r0, [r2] -_080625A4: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080625BC: .4byte gUnknown_83A6330 - thumb_func_end sub_8062578 - - thumb_func_start sub_80625C0 -sub_80625C0: @ 80625C0 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080625DC @ =gObjectEvents - adds r0, r2 - ldr r2, _080625E0 @ =sub_80625E4 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080625DC: .4byte gObjectEvents -_080625E0: .4byte sub_80625E4 - thumb_func_end sub_80625C0 - - thumb_func_start sub_80625E4 -sub_80625E4: @ 80625E4 - push {r4,lr} - ldr r3, _08062600 @ =gUnknown_83A6334 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08062600: .4byte gUnknown_83A6334 - thumb_func_end sub_80625E4 - - thumb_func_start sub_8062604 -sub_8062604: @ 8062604 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08062648 @ =gUnknown_83A6340 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08062630 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08062630 - movs r0, 0x3 - strb r0, [r2] -_08062630: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062648: .4byte gUnknown_83A6340 - thumb_func_end sub_8062604 - - thumb_func_start sub_806264C -sub_806264C: @ 806264C - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062668 @ =gObjectEvents - adds r0, r2 - ldr r2, _0806266C @ =sub_8062670 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062668: .4byte gObjectEvents -_0806266C: .4byte sub_8062670 - thumb_func_end sub_806264C - - thumb_func_start sub_8062670 -sub_8062670: @ 8062670 - push {r4,lr} - ldr r3, _0806268C @ =gUnknown_83A6344 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806268C: .4byte gUnknown_83A6344 - thumb_func_end sub_8062670 - - thumb_func_start sub_8062690 -sub_8062690: @ 8062690 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080626D4 @ =gUnknown_83A6350 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _080626BC - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080626BC - movs r0, 0x3 - strb r0, [r2] -_080626BC: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080626D4: .4byte gUnknown_83A6350 - thumb_func_end sub_8062690 - - thumb_func_start sub_80626D8 -sub_80626D8: @ 80626D8 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080626F4 @ =gObjectEvents - adds r0, r2 - ldr r2, _080626F8 @ =sub_80626FC - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080626F4: .4byte gObjectEvents -_080626F8: .4byte sub_80626FC - thumb_func_end sub_80626D8 - - thumb_func_start sub_80626FC -sub_80626FC: @ 80626FC - push {r4,lr} - ldr r3, _08062718 @ =gUnknown_83A6354 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08062718: .4byte gUnknown_83A6354 - thumb_func_end sub_80626FC - - thumb_func_start sub_806271C -sub_806271C: @ 806271C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08062760 @ =gUnknown_83A6360 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08062748 - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08062748 - movs r0, 0x3 - strb r0, [r2] -_08062748: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062760: .4byte gUnknown_83A6360 - thumb_func_end sub_806271C - - thumb_func_start sub_8062764 -sub_8062764: @ 8062764 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062780 @ =gObjectEvents - adds r0, r2 - ldr r2, _08062784 @ =sub_8062788 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062780: .4byte gObjectEvents -_08062784: .4byte sub_8062788 - thumb_func_end sub_8062764 - - thumb_func_start sub_8062788 -sub_8062788: @ 8062788 - push {r4,lr} - ldr r3, _080627A4 @ =gUnknown_83A6364 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080627A4: .4byte gUnknown_83A6364 - thumb_func_end sub_8062788 - - thumb_func_start sub_80627A8 -sub_80627A8: @ 80627A8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080627EC @ =gUnknown_83A6370 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _080627D4 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080627D4 - movs r0, 0x3 - strb r0, [r2] -_080627D4: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080627EC: .4byte gUnknown_83A6370 - thumb_func_end sub_80627A8 - - thumb_func_start sub_80627F0 -sub_80627F0: @ 80627F0 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0806280C @ =gObjectEvents - adds r0, r2 - ldr r2, _08062810 @ =sub_8062814 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0806280C: .4byte gObjectEvents -_08062810: .4byte sub_8062814 - thumb_func_end sub_80627F0 - - thumb_func_start sub_8062814 -sub_8062814: @ 8062814 - push {r4,lr} - ldr r3, _08062830 @ =gUnknown_83A6374 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08062830: .4byte gUnknown_83A6374 - thumb_func_end sub_8062814 - - thumb_func_start sub_8062834 -sub_8062834: @ 8062834 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08062878 @ =gUnknown_83A6380 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0x2 - bne _08062860 - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _08062860 - movs r0, 0x3 - strb r0, [r2] -_08062860: - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl MoveObjectEventInNextDirectionInSequence - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062878: .4byte gUnknown_83A6380 - thumb_func_end sub_8062834 - - thumb_func_start sub_806287C -sub_806287C: @ 806287C - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062898 @ =gObjectEvents - adds r0, r2 - ldr r2, _0806289C @ =sub_80628A0 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062898: .4byte gObjectEvents -_0806289C: .4byte sub_80628A0 - thumb_func_end sub_806287C - - thumb_func_start sub_80628A0 -sub_80628A0: @ 80628A0 - push {r4,lr} - ldr r3, _080628BC @ =gUnknown_83A6384 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080628BC: .4byte gUnknown_83A6384 - thumb_func_end sub_80628A0 - - thumb_func_start mss_npc_reset_oampriv3_1_unk2_unk3 -mss_npc_reset_oampriv3_1_unk2_unk3: @ 80628C0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - adds r4, 0x21 - ldrb r0, [r4] - cmp r0, 0 - bne _080628D8 - bl GetPlayerFacingDirection - strb r0, [r4] -_080628D8: - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end mss_npc_reset_oampriv3_1_unk2_unk3 - - thumb_func_start sub_80628E4 -sub_80628E4: @ 80628E4 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - ldr r2, _08062908 @ =gObjectEvents - ldr r3, _0806290C @ =gPlayerAvatar - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1C] - cmp r0, 0xFF - beq _08062904 - ldrb r0, [r3, 0x3] - cmp r0, 0x2 - bne _08062910 -_08062904: - movs r0, 0 - b _08062938 - .align 2, 0 -_08062908: .4byte gObjectEvents -_0806290C: .4byte gPlayerAvatar -_08062910: - ldr r5, _08062940 @ =gUnknown_83A6390 - bl player_get_x22 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 22 - adds r4, r5 - bl player_get_direction_upper_nybble - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r4, [r4] - adds r0, r6, 0 - adds r1, r7, 0 - movs r3, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r0, 24 -_08062938: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08062940: .4byte gUnknown_83A6390 - thumb_func_end sub_80628E4 - - thumb_func_start sub_8062944 -sub_8062944: @ 8062944 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08062962 - ldrb r0, [r4] - movs r1, 0x3 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0x1 - strh r0, [r5, 0x30] -_08062962: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8062944 - - thumb_func_start sub_806296C -sub_806296C: @ 806296C - movs r0, 0 - bx lr - thumb_func_end sub_806296C - - thumb_func_start sub_8062970 -sub_8062970: @ 8062970 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _080629B4 @ =gInitialMovementTypeFacingDirections - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - bl state_to_direction - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080629B4: .4byte gInitialMovementTypeFacingDirections - thumb_func_end sub_8062970 - - thumb_func_start sub_80629B8 -sub_80629B8: @ 80629B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _08062A6C @ =gInitialMovementTypeFacingDirections - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl ObjectEventMoveDestCoords - adds r0, r6, 0 - bl GetWalkNormalMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _08062A3E - mov r1, r8 - cmp r1, 0 - beq _08062A52 - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _08062A52 -_08062A3E: - adds r0, r6, 0 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement -_08062A52: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08062A6C: .4byte gInitialMovementTypeFacingDirections - thumb_func_end sub_80629B8 - - thumb_func_start sub_8062A70 -sub_8062A70: @ 8062A70 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _08062B24 @ =gInitialMovementTypeFacingDirections - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl ObjectEventMoveDestCoords - adds r0, r6, 0 - bl sub_8063FB0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _08062AF6 - mov r1, r8 - cmp r1, 0 - beq _08062B0A - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _08062B0A -_08062AF6: - adds r0, r6, 0 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement -_08062B0A: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08062B24: .4byte gInitialMovementTypeFacingDirections - thumb_func_end sub_8062A70 - - thumb_func_start sub_8062B28 -sub_8062B28: @ 8062B28 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _08062BDC @ =gInitialMovementTypeFacingDirections - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl ObjectEventMoveDestCoords - adds r0, r6, 0 - bl sub_8064034 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _08062BAE - mov r1, r8 - cmp r1, 0 - beq _08062BC2 - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _08062BC2 -_08062BAE: - adds r0, r6, 0 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement -_08062BC2: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08062BDC: .4byte gInitialMovementTypeFacingDirections - thumb_func_end sub_8062B28 - - thumb_func_start sub_8062BE0 -sub_8062BE0: @ 8062BE0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _08062C94 @ =gInitialMovementTypeFacingDirections - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl ObjectEventMoveDestCoords - adds r0, r6, 0 - bl sub_8064060 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _08062C66 - mov r1, r8 - cmp r1, 0 - beq _08062C7A - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _08062C7A -_08062C66: - adds r0, r6, 0 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement -_08062C7A: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08062C94: .4byte gInitialMovementTypeFacingDirections - thumb_func_end sub_8062BE0 - - thumb_func_start cph_IM_DIFFERENT -cph_IM_DIFFERENT: @ 8062C98 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _08062CDC @ =gInitialMovementTypeFacingDirections - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - bl state_to_direction - bl GetJumpInPlaceMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08062CDC: .4byte gInitialMovementTypeFacingDirections - thumb_func_end cph_IM_DIFFERENT - - thumb_func_start sub_8062CE0 -sub_8062CE0: @ 8062CE0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _08062D94 @ =gInitialMovementTypeFacingDirections - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl ObjectEventMoveDestCoords - adds r0, r6, 0 - bl sub_8064194 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _08062D66 - mov r1, r8 - cmp r1, 0 - beq _08062D7A - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _08062D7A -_08062D66: - adds r0, r6, 0 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement -_08062D7A: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08062D94: .4byte gInitialMovementTypeFacingDirections - thumb_func_end sub_8062CE0 - - thumb_func_start oac_hopping -oac_hopping: @ 8062D98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _08062E5C @ =gInitialMovementTypeFacingDirections - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - movs r0, 0x2 - str r0, [sp] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - movs r3, 0x2 - bl sub_8063A6C - adds r0, r6, 0 - bl GetJumpLedgeAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement - add r0, sp, 0x4 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _08062E2C - mov r1, r8 - cmp r1, 0 - beq _08062E40 - add r0, sp, 0x4 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _08062E40 -_08062E2C: - adds r0, r6, 0 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl ObjectEventSetSingleMovement -_08062E40: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08062E5C: .4byte gInitialMovementTypeFacingDirections - thumb_func_end oac_hopping - - thumb_func_start sub_8062E60 -sub_8062E60: @ 8062E60 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _08062E7C @ =gObjectEvents - adds r0, r2 - ldr r2, _08062E80 @ =sub_8062E84 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_08062E7C: .4byte gObjectEvents -_08062E80: .4byte sub_8062E84 - thumb_func_end sub_8062E60 - - thumb_func_start sub_8062E84 -sub_8062E84: @ 8062E84 - push {r4,lr} - ldr r3, _08062EA0 @ =gUnknown_83A63BC - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08062EA0: .4byte gUnknown_83A63BC - thumb_func_end sub_8062E84 - - thumb_func_start mss_08062EA4 -mss_08062EA4: @ 8062EA4 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - ldr r2, _08062EC8 @ =gObjectEvents - ldr r3, _08062ECC @ =gPlayerAvatar - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1C] - cmp r0, 0xFF - beq _08062EC4 - ldrb r0, [r3, 0x3] - cmp r0, 0x2 - bne _08062ED0 -_08062EC4: - movs r0, 0 - b _08062EF8 - .align 2, 0 -_08062EC8: .4byte gObjectEvents -_08062ECC: .4byte gPlayerAvatar -_08062ED0: - ldr r5, _08062F00 @ =gUnknown_83A6390 - bl player_get_x22 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 22 - adds r4, r5 - bl player_get_direction_upper_nybble - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _08062F04 @ =MetatileBehavior_IsTallGrass - ldr r4, [r4] - adds r0, r6, 0 - adds r1, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r0, 24 -_08062EF8: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08062F00: .4byte gUnknown_83A6390 -_08062F04: .4byte MetatileBehavior_IsTallGrass - thumb_func_end mss_08062EA4 - - thumb_func_start ObjectEventCB_TreeDisguise -ObjectEventCB_TreeDisguise: @ 8062F08 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08062F6C @ =gObjectEvents - adds r4, r1, r0 - adds r6, r4, 0 - adds r6, 0x21 - ldrb r0, [r6] - cmp r0, 0 - beq _08062F30 - cmp r0, 0x1 - bne _08062F50 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08062F50 -_08062F30: - ldr r1, _08062F70 @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r4, 0 - bl ObjectEventGetLocalIdAndMap - movs r0, 0x1C - bl FieldEffectStart - strb r0, [r4, 0x1A] - movs r0, 0x1 - strb r0, [r6] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] -_08062F50: - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08062F6C @ =gObjectEvents - adds r0, r1 - ldr r2, _08062F74 @ =sub_8062F78 - adds r1, r5, 0 - bl ObjectEventStep - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08062F6C: .4byte gObjectEvents -_08062F70: .4byte gFieldEffectArguments -_08062F74: .4byte sub_8062F78 - thumb_func_end ObjectEventCB_TreeDisguise - - thumb_func_start sub_8062F78 -sub_8062F78: @ 8062F78 - push {lr} - bl npc_reset - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8062F78 - - thumb_func_start ObjectEventCB_MountainDisguise -ObjectEventCB_MountainDisguise: @ 8062F84 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08062FE8 @ =gObjectEvents - adds r4, r1, r0 - adds r6, r4, 0 - adds r6, 0x21 - ldrb r0, [r6] - cmp r0, 0 - beq _08062FAC - cmp r0, 0x1 - bne _08062FCC - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08062FCC -_08062FAC: - ldr r1, _08062FEC @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r4, 0 - bl ObjectEventGetLocalIdAndMap - movs r0, 0x1D - bl FieldEffectStart - strb r0, [r4, 0x1A] - movs r0, 0x1 - strb r0, [r6] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] -_08062FCC: - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08062FE8 @ =gObjectEvents - adds r0, r1 - ldr r2, _08062FF0 @ =sub_8062F78 - adds r1, r5, 0 - bl ObjectEventStep - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08062FE8: .4byte gObjectEvents -_08062FEC: .4byte gFieldEffectArguments -_08062FF0: .4byte sub_8062F78 - thumb_func_end ObjectEventCB_MountainDisguise - - thumb_func_start ObjectEventCB_Hidden1 -ObjectEventCB_Hidden1: @ 8062FF4 - push {r4,lr} - adds r3, r0, 0 - movs r1, 0x3C - ldrsh r0, [r3, r1] - ldr r4, _08063050 @ =gObjectEvents - cmp r0, 0 - bne _08063034 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x3] - adds r2, r3, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r3, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r3, 0x5] - ldrh r0, [r3, 0x3C] - adds r0, 0x1 - strh r0, [r3, 0x3C] -_08063034: - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r2, _08063054 @ =sub_8063058 - adds r1, r3, 0 - bl ObjectEventStep - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08063050: .4byte gObjectEvents -_08063054: .4byte sub_8063058 - thumb_func_end ObjectEventCB_Hidden1 - - thumb_func_start sub_8063058 -sub_8063058: @ 8063058 - push {r4,lr} - ldr r3, _08063074 @ =gUnknown_83A63C8 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063074: .4byte gUnknown_83A63C8 - thumb_func_end sub_8063058 - - thumb_func_start sub_8063078 -sub_8063078: @ 8063078 - push {lr} - bl npc_reset - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8063078 - - thumb_func_start sub_8063084 -sub_8063084: @ 8063084 - push {r4,lr} - adds r4, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08063096 - movs r0, 0 - strh r0, [r4, 0x30] -_08063096: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8063084 - - thumb_func_start sub_80630A0 -sub_80630A0: @ 80630A0 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080630BC @ =gObjectEvents - adds r0, r2 - ldr r2, _080630C0 @ =sub_80630C4 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080630BC: .4byte gObjectEvents -_080630C0: .4byte sub_80630C4 - thumb_func_end sub_80630A0 - - thumb_func_start sub_80630C4 -sub_80630C4: @ 80630C4 - push {r4,lr} - ldr r3, _080630E0 @ =gUnknown_83A63CC - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080630E0: .4byte gUnknown_83A63CC - thumb_func_end sub_80630C4 - - thumb_func_start sub_80630E4 -sub_80630E4: @ 80630E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetStepInPlaceDelay16AnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80630E4 - - thumb_func_start sub_8063110 -sub_8063110: @ 8063110 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0806312C @ =gObjectEvents - adds r0, r2 - ldr r2, _08063130 @ =sub_8063134 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0806312C: .4byte gObjectEvents -_08063130: .4byte sub_8063134 - thumb_func_end sub_8063110 - - thumb_func_start sub_8063134 -sub_8063134: @ 8063134 - push {r4,lr} - ldr r3, _08063150 @ =gUnknown_83A63D4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063150: .4byte gUnknown_83A63D4 - thumb_func_end sub_8063134 - - thumb_func_start sub_8063154 -sub_8063154: @ 8063154 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_8064270 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8063154 - - thumb_func_start sub_8063180 -sub_8063180: @ 8063180 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0806319C @ =gObjectEvents - adds r0, r2 - ldr r2, _080631A0 @ =sub_80631A4 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0806319C: .4byte gObjectEvents -_080631A0: .4byte sub_80631A4 - thumb_func_end sub_8063180 - - thumb_func_start sub_80631A4 -sub_80631A4: @ 80631A4 - push {r4,lr} - ldr r3, _080631C0 @ =gUnknown_83A63DC - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080631C0: .4byte gUnknown_83A63DC - thumb_func_end sub_80631A4 - - thumb_func_start sub_80631C4 -sub_80631C4: @ 80631C4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetStepInPlaceDelay4AnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80631C4 - - thumb_func_start sub_80631F0 -sub_80631F0: @ 80631F0 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0806320C @ =gObjectEvents - adds r0, r2 - ldr r2, _08063210 @ =sub_8063214 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_0806320C: .4byte gObjectEvents -_08063210: .4byte sub_8063214 - thumb_func_end sub_80631F0 - - thumb_func_start sub_8063214 -sub_8063214: @ 8063214 - push {r4,lr} - ldr r3, _08063230 @ =gUnknown_83A63E4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063230: .4byte gUnknown_83A63E4 - thumb_func_end sub_8063214 - - thumb_func_start sub_8063234 -sub_8063234: @ 8063234 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSingleMovement - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8063234 - - thumb_func_start sub_8063268 -sub_8063268: @ 8063268 - push {r4,lr} - adds r4, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - bne _0806327A - movs r0, 0 - b _08063280 -_0806327A: - movs r0, 0x2 - strh r0, [r4, 0x30] - movs r0, 0x1 -_08063280: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8063268 - - thumb_func_start sub_8063288 -sub_8063288: @ 8063288 - ldrb r2, [r0] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - movs r0, 0 - bx lr - thumb_func_end sub_8063288 - - thumb_func_start sub_8063298 -sub_8063298: @ 8063298 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080632B4 @ =gObjectEvents - adds r0, r2 - ldr r2, _080632B8 @ =sub_8063304 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080632B4: .4byte gObjectEvents -_080632B8: .4byte sub_8063304 - thumb_func_end sub_8063298 - - thumb_func_start sub_80632BC -sub_80632BC: @ 80632BC - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080632D8 @ =gObjectEvents - adds r0, r2 - ldr r2, _080632DC @ =sub_8063324 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080632D8: .4byte gObjectEvents -_080632DC: .4byte sub_8063324 - thumb_func_end sub_80632BC - - thumb_func_start sub_80632E0 -sub_80632E0: @ 80632E0 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _080632FC @ =gObjectEvents - adds r0, r2 - ldr r2, _08063300 @ =sub_8063344 - bl ObjectEventStep - pop {r0} - bx r0 - .align 2, 0 -_080632FC: .4byte gObjectEvents -_08063300: .4byte sub_8063344 - thumb_func_end sub_80632E0 - - thumb_func_start sub_8063304 -sub_8063304: @ 8063304 - push {r4,lr} - ldr r3, _08063320 @ =gUnknown_83A63F0 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063320: .4byte gUnknown_83A63F0 - thumb_func_end sub_8063304 - - thumb_func_start sub_8063324 -sub_8063324: @ 8063324 - push {r4,lr} - ldr r3, _08063340 @ =gUnknown_83A63FC - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063340: .4byte gUnknown_83A63FC - thumb_func_end sub_8063324 - - thumb_func_start sub_8063344 -sub_8063344: @ 8063344 - push {r4,lr} - ldr r3, _08063360 @ =gUnknown_83A6404 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063360: .4byte gUnknown_83A6404 - thumb_func_end sub_8063344 - - thumb_func_start sub_8063364 -sub_8063364: @ 8063364 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl npc_reset - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x98 - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r4, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8063364 - - thumb_func_start sub_8063384 -sub_8063384: @ 8063384 - push {r4,lr} - adds r4, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - bne _08063396 - movs r0, 0 - b _0806339C -_08063396: - movs r0, 0x2 - strh r0, [r4, 0x30] - movs r0, 0x1 -_0806339C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8063384 - - thumb_func_start sub_80633A4 -sub_80633A4: @ 80633A4 - ldrb r2, [r0] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - movs r0, 0 - bx lr - thumb_func_end sub_80633A4 - - thumb_func_start sub_80633B4 -sub_80633B4: @ 80633B4 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl npc_reset - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x99 - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r4, 0x30] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80633B4 - - thumb_func_start sub_80633D4 -sub_80633D4: @ 80633D4 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl npc_reset - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x9A - bl ObjectEventSetSingleMovement - movs r0, 0x1 - strh r0, [r4, 0x30] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80633D4 - - thumb_func_start sub_80633F4 -sub_80633F4: @ 80633F4 - push {r4,lr} - adds r4, r1, 0 - bl ObjectEventExecSingleMovementAction - lsls r0, 24 - cmp r0, 0 - beq _08063406 - movs r0, 0 - strh r0, [r4, 0x30] -_08063406: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80633F4 - - thumb_func_start npc_reset -npc_reset: @ 8063410 - ldrb r3, [r0] - movs r2, 0x3 - negs r2, r2 - ands r2, r3 - movs r3, 0x41 - negs r3, r3 - ands r2, r3 - movs r3, 0x7F - ands r2, r3 - strb r2, [r0] - movs r2, 0xFF - strb r2, [r0, 0x1C] - movs r0, 0 - strh r0, [r1, 0x30] - bx lr - thumb_func_end npc_reset - - thumb_func_start ObjectEventDirectionToImageAnimId -ObjectEventDirectionToImageAnimId: @ 8063430 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806343C @ =gUnknown_83A640C - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806343C: .4byte gUnknown_83A640C - thumb_func_end ObjectEventDirectionToImageAnimId - - thumb_func_start get_go_image_anim_num -get_go_image_anim_num: @ 8063440 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806344C @ =gUnknown_83A6415 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806344C: .4byte gUnknown_83A6415 - thumb_func_end get_go_image_anim_num - - thumb_func_start get_go_fast_image_anim_num -get_go_fast_image_anim_num: @ 8063450 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806345C @ =gUnknown_83A641E - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806345C: .4byte gUnknown_83A641E - thumb_func_end get_go_fast_image_anim_num - - thumb_func_start get_go_faster_image_anim_num -get_go_faster_image_anim_num: @ 8063460 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806346C @ =gUnknown_83A6427 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806346C: .4byte gUnknown_83A6427 - thumb_func_end get_go_faster_image_anim_num - - thumb_func_start MovementActionFunc_x03_4 -MovementActionFunc_x03_4: @ 8063470 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806347C @ =gUnknown_83A6430 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806347C: .4byte gUnknown_83A6430 - thumb_func_end MovementActionFunc_x03_4 - - thumb_func_start sub_8063480 -sub_8063480: @ 8063480 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806348C @ =gUnknown_83A6439 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806348C: .4byte gUnknown_83A6439 - thumb_func_end sub_8063480 - - thumb_func_start sub_8063490 -sub_8063490: @ 8063490 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806349C @ =gUnknown_83A6442 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806349C: .4byte gUnknown_83A6442 - thumb_func_end sub_8063490 - - thumb_func_start sub_80634A0 -sub_80634A0: @ 80634A0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080634AC @ =gUnknown_83A644B - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080634AC: .4byte gUnknown_83A644B - thumb_func_end sub_80634A0 - - thumb_func_start sub_80634B0 -sub_80634B0: @ 80634B0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080634BC @ =gUnknown_83A6454 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080634BC: .4byte gUnknown_83A6454 - thumb_func_end sub_80634B0 - - thumb_func_start sub_80634C0 -sub_80634C0: @ 80634C0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080634CC @ =gUnknown_83A645D - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080634CC: .4byte gUnknown_83A645D - thumb_func_end sub_80634C0 - - thumb_func_start sub_80634D0 -sub_80634D0: @ 80634D0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080634DC @ =gUnknown_83A6466 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080634DC: .4byte gUnknown_83A6466 - thumb_func_end sub_80634D0 - - thumb_func_start sub_80634E0 -sub_80634E0: @ 80634E0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080634EC @ =gUnknown_83A646F - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080634EC: .4byte gUnknown_83A646F - thumb_func_end sub_80634E0 - - thumb_func_start sub_80634F0 -sub_80634F0: @ 80634F0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080634FC @ =gUnknown_83A6478 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080634FC: .4byte gUnknown_83A6478 - thumb_func_end sub_80634F0 - - thumb_func_start sub_8063500 -sub_8063500: @ 8063500 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806350C @ =gUnknown_83A6481 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806350C: .4byte gUnknown_83A6481 - thumb_func_end sub_8063500 - - thumb_func_start sub_8063510 -sub_8063510: @ 8063510 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806351C @ =gUnknown_83A648A - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806351C: .4byte gUnknown_83A648A - thumb_func_end sub_8063510 - - thumb_func_start get_run_image_anim_num -get_run_image_anim_num: @ 8063520 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0806352C @ =gUnknown_83A6493 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0806352C: .4byte gUnknown_83A6493 - thumb_func_end get_run_image_anim_num - - thumb_func_start sub_8063530 -sub_8063530: @ 8063530 - push {lr} - adds r2, r0, 0 - ldr r1, _08063538 @ =gUnknown_83A3698 - b _08063548 - .align 2, 0 -_08063538: .4byte gUnknown_83A3698 -_0806353C: - ldr r0, [r1] - cmp r0, r2 - bne _08063546 - adds r0, r1, 0 - b _08063550 -_08063546: - adds r1, 0x8 -_08063548: - ldr r0, [r1] - cmp r0, 0 - bne _0806353C - movs r0, 0 -_08063550: - pop {r1} - bx r1 - thumb_func_end sub_8063530 - - thumb_func_start npc_apply_anim_looping -npc_apply_anim_looping: @ 8063554 - push {r4,lr} - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r0, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _08063596 - adds r0, r4, 0 - adds r0, 0x2A - strb r2, [r0] - ldr r0, [r4, 0x8] - bl sub_8063530 - adds r1, r4, 0 - adds r1, 0x2B - cmp r0, 0 - beq _0806358E - ldrb r2, [r1] - ldrb r3, [r0, 0x4] - cmp r2, r3 - bne _08063584 - ldrb r0, [r0, 0x7] - b _0806358C -_08063584: - ldrb r3, [r0, 0x5] - cmp r2, r3 - bne _0806358E - ldrb r0, [r0, 0x6] -_0806358C: - strb r0, [r1] -_0806358E: - ldrb r1, [r1] - adds r0, r4, 0 - bl SeekSpriteAnim -_08063596: - pop {r4} - pop {r0} - bx r0 - thumb_func_end npc_apply_anim_looping - - thumb_func_start obj_npc_animation_step -obj_npc_animation_step: @ 806359C - push {r4,lr} - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r0, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _080635D4 - adds r0, r4, 0 - adds r0, 0x2A - strb r2, [r0] - ldr r0, [r4, 0x8] - bl sub_8063530 - adds r2, r0, 0 - cmp r2, 0 - beq _080635D4 - ldrb r1, [r2, 0x5] - adds r0, r4, 0 - adds r0, 0x2B - ldrb r0, [r0] - ldrb r3, [r2, 0x4] - cmp r0, r3 - bhi _080635CE - ldrb r1, [r2, 0x4] -_080635CE: - adds r0, r4, 0 - bl SeekSpriteAnim -_080635D4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end obj_npc_animation_step - - thumb_func_start sub_80635DC -sub_80635DC: @ 80635DC - push {lr} - lsls r1, 16 - lsrs r1, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - asrs r0, 16 - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - ble _080635F6 - movs r0, 0x3 - b _0806360C -_080635F6: - cmp r0, r2 - bge _080635FE - movs r0, 0x4 - b _0806360C -_080635FE: - lsls r1, 16 - lsls r0, r3, 16 - cmp r1, r0 - bgt _0806360A - movs r0, 0x1 - b _0806360C -_0806360A: - movs r0, 0x2 -_0806360C: - pop {r1} - bx r1 - thumb_func_end sub_80635DC - - thumb_func_start SetTrainerMovementType -SetTrainerMovementType: @ 8063610 - push {r4,lr} - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - strb r1, [r0, 0x6] - adds r0, 0x21 - strb r3, [r0] - adds r0, 0x1 - strb r3, [r0] - ldr r4, _08063654 @ =gSprites - mov r0, r12 - ldrb r2, [r0, 0x4] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r2, r4, 0 - adds r2, 0x1C - adds r0, r2 - ldr r2, _08063658 @ =gMovementTypeCallbacks - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [r0] - mov r0, r12 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x30] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08063654: .4byte gSprites -_08063658: .4byte gMovementTypeCallbacks - thumb_func_end SetTrainerMovementType - - thumb_func_start GetTrainerFacingDirectionMovementType -GetTrainerFacingDirectionMovementType: @ 806365C - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08063668 @ =gUnknown_83A649C - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08063668: .4byte gUnknown_83A649C - thumb_func_end GetTrainerFacingDirectionMovementType - - thumb_func_start npc_block_way__next_tile -npc_block_way__next_tile: @ 806366C - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - lsls r5, r1, 24 - lsrs r5, 24 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r4, r0] - adds r0, r6, 0 - adds r3, r5, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end npc_block_way__next_tile - - thumb_func_start GetCollisionAtCoords -GetCollisionAtCoords: @ 80636AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - mov r8, r7 - lsrs r0, r1, 16 - mov r9, r0 - asrs r5, r1, 16 - lsrs r0, r2, 16 - mov r10, r0 - asrs r4, r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl IsCoordOutsideObjectEventMovementRect - lsls r0, 24 - cmp r0, 0 - beq _080636E2 - movs r0, 0x1 - b _08063762 -_080636E2: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridIsImpassableAt - lsls r0, 24 - cmp r0, 0 - bne _08063724 - adds r0, r5, 0 - adds r1, r4, 0 - bl GetMapBorderIdAt - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _08063724 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl IsMetatileDirectionallyImpassable - lsls r0, 24 - cmp r0, 0 - bne _08063724 - ldrb r0, [r6, 0x1] - lsrs r0, 7 - cmp r0, 0 - beq _08063728 - mov r0, r8 - bl CanCameraMoveInDirection - cmp r0, 0 - bne _08063728 -_08063724: - movs r0, 0x2 - b _08063762 -_08063728: - ldrb r0, [r6, 0xB] - lsls r0, 28 - lsrs r0, 28 - mov r2, r9 - lsls r1, r2, 16 - asrs r5, r1, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r4, r1, 16 - adds r1, r5, 0 - adds r2, r4, 0 - bl IsZCoordMismatchAt - lsls r0, 24 - cmp r0, 0 - beq _0806374C - movs r0, 0x3 - b _08063762 -_0806374C: - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CheckForCollisionBetweenObjectEvents - lsls r0, 24 - cmp r0, 0 - bne _08063760 - movs r0, 0 - b _08063762 -_08063760: - movs r0, 0x4 -_08063762: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetCollisionAtCoords - - thumb_func_start GetCollisionFlagsAtCoords -GetCollisionFlagsAtCoords: @ 8063770 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsrs r0, r1, 16 - mov r9, r0 - asrs r6, r1, 16 - lsrs r0, r2, 16 - mov r10, r0 - asrs r5, r2, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl IsCoordOutsideObjectEventMovementRect - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r4, r1, 31 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridIsImpassableAt - lsls r0, 24 - cmp r0, 0 - bne _080637E8 - adds r0, r6, 0 - adds r1, r5, 0 - bl GetMapBorderIdAt - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _080637E8 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - mov r3, r8 - bl IsMetatileDirectionallyImpassable - lsls r0, 24 - cmp r0, 0 - bne _080637E8 - ldrb r0, [r7, 0x1] - lsrs r0, 7 - cmp r0, 0 - beq _080637EC - mov r0, r8 - bl CanCameraMoveInDirection - cmp r0, 0 - bne _080637EC -_080637E8: - movs r0, 0x2 - orrs r4, r0 -_080637EC: - ldrb r0, [r7, 0xB] - lsls r0, 28 - lsrs r0, 28 - mov r2, r9 - lsls r1, r2, 16 - asrs r6, r1, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r5, r1, 16 - adds r1, r6, 0 - adds r2, r5, 0 - bl IsZCoordMismatchAt - lsls r0, 24 - cmp r0, 0 - beq _08063814 - movs r0, 0x4 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08063814: - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl CheckForCollisionBetweenObjectEvents - lsls r0, 24 - cmp r0, 0 - beq _0806382C - movs r0, 0x8 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_0806382C: - adds r0, r4, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetCollisionFlagsAtCoords - - thumb_func_start IsCoordOutsideObjectEventMovementRect -IsCoordOutsideObjectEventMovementRect: @ 806383C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - ldrb r1, [r4, 0x19] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _08063874 - lsls r1, 28 - lsrs r2, r1, 28 - ldrh r0, [r4, 0xC] - subs r2, r0, r2 - lsrs r1, 28 - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r2, 16 - lsls r0, r3, 16 - asrs r3, r0, 16 - cmp r2, r0 - bgt _080638A0 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r3 - blt _080638A0 -_08063874: - ldrb r1, [r4, 0x19] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _080638A4 - lsls r1, 24 - lsrs r2, r1, 28 - ldrh r0, [r4, 0xE] - subs r2, r0, r2 - lsrs r1, 28 - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r2, 16 - lsls r0, r5, 16 - asrs r3, r0, 16 - cmp r2, r0 - bgt _080638A0 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r3 - bge _080638A4 -_080638A0: - movs r0, 0x1 - b _080638A6 -_080638A4: - movs r0, 0 -_080638A6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsCoordOutsideObjectEventMovementRect - - thumb_func_start IsMetatileDirectionallyImpassable -IsMetatileDirectionallyImpassable: @ 80638AC - push {r4-r7,lr} - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 24 - ldr r1, _080638F4 @ =gUnknown_83A64A8 - lsrs r3, 22 - subs r5, r3, 0x4 - adds r1, r5, r1 - ldrb r0, [r0, 0x1E] - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080638EE - ldr r4, _080638F8 @ =gUnknown_83A64B8 - adds r4, r5, r4 - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _080638FC -_080638EE: - movs r0, 0x1 - b _080638FE - .align 2, 0 -_080638F4: .4byte gUnknown_83A64A8 -_080638F8: .4byte gUnknown_83A64B8 -_080638FC: - movs r0, 0 -_080638FE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end IsMetatileDirectionallyImpassable - - thumb_func_start CheckForCollisionBetweenObjectEvents -CheckForCollisionBetweenObjectEvents: @ 8063904 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - movs r4, 0 - lsls r2, 16 - asrs r5, r2, 16 -_08063912: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r1, _08063968 @ =gObjectEvents - adds r2, r0, r1 - ldrb r0, [r2] - lsls r0, 31 - cmp r0, 0 - beq _0806396C - cmp r2, r6 - beq _0806396C - movs r0, 0x10 - ldrsh r1, [r2, r0] - lsls r0, r7, 16 - asrs r3, r0, 16 - cmp r1, r3 - bne _0806393C - movs r1, 0x12 - ldrsh r0, [r2, r1] - cmp r0, r5 - beq _0806394C -_0806393C: - movs r1, 0x14 - ldrsh r0, [r2, r1] - cmp r0, r3 - bne _0806396C - movs r1, 0x16 - ldrsh r0, [r2, r1] - cmp r0, r5 - bne _0806396C -_0806394C: - ldrb r0, [r6, 0xB] - lsls r0, 28 - lsrs r0, 28 - ldrb r1, [r2, 0xB] - lsls r1, 28 - lsrs r1, 28 - bl AreZCoordsCompatible - lsls r0, 24 - cmp r0, 0 - beq _0806396C - movs r0, 0x1 - b _08063978 - .align 2, 0 -_08063968: .4byte gObjectEvents -_0806396C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08063912 - movs r0, 0 -_08063978: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckForCollisionBetweenObjectEvents - - thumb_func_start IsBerryTreeSparkling -IsBerryTreeSparkling: @ 8063980 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080639CC - ldr r3, _080639C4 @ =gSprites - ldr r2, _080639C8 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x3C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080639CC - movs r0, 0x1 - b _080639CE - .align 2, 0 -_080639C4: .4byte gSprites -_080639C8: .4byte gObjectEvents -_080639CC: - movs r0, 0 -_080639CE: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end IsBerryTreeSparkling - - thumb_func_start sub_80639D4 -sub_80639D4: @ 80639D4 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08063A12 - ldr r3, _08063A18 @ =gSprites - ldr r2, _08063A1C @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r2, [r1, 0x3C] - movs r0, 0x4 - orrs r0, r2 - strh r0, [r1, 0x3C] -_08063A12: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08063A18: .4byte gSprites -_08063A1C: .4byte gObjectEvents - thumb_func_end sub_80639D4 - - thumb_func_start MoveCoords -MoveCoords: @ 8063A20 - push {r4,lr} - lsls r0, 24 - ldr r3, _08063A40 @ =gUnknown_83A64C8 - lsrs r0, 22 - adds r0, r3 - ldrh r3, [r0] - ldrh r4, [r1] - adds r3, r4 - strh r3, [r1] - ldrh r0, [r0, 0x2] - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08063A40: .4byte gUnknown_83A64C8 - thumb_func_end MoveCoords - - thumb_func_start sub_8063A44 -sub_8063A44: @ 8063A44 - push {r4,lr} - lsls r0, 24 - ldr r3, _08063A68 @ =gUnknown_83A64C8 - lsrs r0, 22 - adds r0, r3 - ldrh r3, [r0] - lsls r3, 4 - ldrh r4, [r1] - adds r3, r4 - strh r3, [r1] - ldrh r0, [r0, 0x2] - lsls r0, 4 - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08063A68: .4byte gUnknown_83A64C8 - thumb_func_end sub_8063A44 - - thumb_func_start sub_8063A6C -sub_8063A6C: @ 8063A6C - push {r4-r7,lr} - adds r4, r1, 0 - ldr r1, [sp, 0x14] - lsls r0, 24 - lsls r3, 16 - lsrs r3, 16 - adds r7, r3, 0 - lsls r1, 16 - lsrs r6, r1, 16 - mov r12, r6 - ldr r1, _08063AD0 @ =gUnknown_83A64C8 - lsrs r0, 22 - adds r5, r0, r1 - movs r0, 0 - ldrsh r1, [r5, r0] - cmp r1, 0 - ble _08063A98 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r4] - adds r0, r3 - strh r0, [r4] -_08063A98: - cmp r1, 0 - bge _08063AA6 - ldrh r1, [r4] - lsls r0, r7, 16 - asrs r0, 16 - subs r1, r0 - strh r1, [r4] -_08063AA6: - movs r0, 0x2 - ldrsh r1, [r5, r0] - cmp r1, 0 - ble _08063AB8 - lsls r0, r6, 16 - asrs r0, 16 - ldrh r3, [r2] - adds r0, r3 - strh r0, [r2] -_08063AB8: - cmp r1, 0 - bge _08063AC8 - ldrh r1, [r2] - mov r3, r12 - lsls r0, r3, 16 - asrs r0, 16 - subs r1, r0 - strh r1, [r2] -_08063AC8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08063AD0: .4byte gUnknown_83A64C8 - thumb_func_end sub_8063A6C - - thumb_func_start sub_8063AD4 -sub_8063AD4: @ 8063AD4 - push {r4,r5,lr} - ldr r5, _08063B10 @ =gSaveBlock1Ptr - ldr r4, [r5] - ldrh r4, [r4] - lsls r0, 16 - asrs r0, 16 - subs r0, r4 - lsls r0, 4 - strh r0, [r2] - ldr r0, [r5] - ldrh r0, [r0, 0x2] - lsls r1, 16 - asrs r1, 16 - subs r1, r0 - lsls r1, 4 - strh r1, [r3] - ldr r1, _08063B14 @ =gTotalCameraPixelOffsetX - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r1, _08063B18 @ =gTotalCameraPixelOffsetY - ldrh r0, [r3] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r3] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08063B10: .4byte gSaveBlock1Ptr -_08063B14: .4byte gTotalCameraPixelOffsetX -_08063B18: .4byte gTotalCameraPixelOffsetY - thumb_func_end sub_8063AD4 - - thumb_func_start SetSpritePosToMapCoords -SetSpritePosToMapCoords: @ 8063B1C - push {r4-r7,lr} - adds r7, r2, 0 - mov r12, r3 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r0, _08063BB0 @ =gTotalCameraPixelOffsetX - ldrh r0, [r0] - negs r0, r0 - ldr r1, _08063BB4 @ =gFieldCamera - ldr r2, [r1, 0x10] - subs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _08063BB8 @ =gTotalCameraPixelOffsetY - ldrh r0, [r0] - negs r0, r0 - ldr r1, [r1, 0x14] - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r2, 0 - ble _08063B56 - lsls r0, r3, 16 - movs r3, 0x80 - lsls r3, 13 - adds r0, r3 - lsrs r3, r0, 16 -_08063B56: - cmp r2, 0 - bge _08063B62 - lsls r0, r3, 16 - ldr r2, _08063BBC @ =0xfff00000 - adds r0, r2 - lsrs r3, r0, 16 -_08063B62: - cmp r1, 0 - ble _08063B70 - lsls r0, r4, 16 - movs r2, 0x80 - lsls r2, 13 - adds r0, r2 - lsrs r4, r0, 16 -_08063B70: - cmp r1, 0 - bge _08063B7C - lsls r0, r4, 16 - ldr r1, _08063BBC @ =0xfff00000 - adds r0, r1 - lsrs r4, r0, 16 -_08063B7C: - ldr r2, _08063BC0 @ =gSaveBlock1Ptr - ldr r0, [r2] - ldrh r1, [r0] - lsls r0, r5, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 4 - lsls r1, r3, 16 - asrs r1, 16 - adds r1, r0 - strh r1, [r7] - ldr r0, [r2] - ldrh r1, [r0, 0x2] - lsls r0, r6, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 4 - lsls r1, r4, 16 - asrs r1, 16 - adds r1, r0 - mov r2, r12 - strh r1, [r2] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08063BB0: .4byte gTotalCameraPixelOffsetX -_08063BB4: .4byte gFieldCamera -_08063BB8: .4byte gTotalCameraPixelOffsetY -_08063BBC: .4byte 0xfff00000 -_08063BC0: .4byte gSaveBlock1Ptr - thumb_func_end SetSpritePosToMapCoords - - thumb_func_start sub_8063BC4 -sub_8063BC4: @ 8063BC4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r6, r0, 0 - mov r8, r1 - adds r4, r2, 0 - adds r5, r3, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - movs r1, 0 - ldrsh r0, [r6, r1] - mov r2, r8 - movs r3, 0 - ldrsh r1, [r2, r3] - adds r2, r6, 0 - mov r3, r8 - bl SetSpritePosToMapCoords - lsls r4, 16 - asrs r4, 16 - ldrh r0, [r6] - adds r4, r0 - strh r4, [r6] - lsls r5, 16 - asrs r5, 16 - mov r1, r8 - ldrh r1, [r1] - adds r5, r1 - mov r2, r8 - strh r5, [r2] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8063BC4 - - thumb_func_start GetObjectEventMovingCameraOffset -GetObjectEventMovingCameraOffset: @ 8063C10 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2] - strh r0, [r1] - ldr r3, _08063C4C @ =gFieldCamera - ldr r0, [r3, 0x10] - cmp r0, 0 - ble _08063C26 - movs r0, 0x1 - strh r0, [r2] -_08063C26: - ldr r0, [r3, 0x10] - cmp r0, 0 - bge _08063C32 - ldrh r0, [r2] - subs r0, 0x1 - strh r0, [r2] -_08063C32: - ldr r2, [r3, 0x14] - cmp r2, 0 - ble _08063C3E - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08063C3E: - cmp r2, 0 - bge _08063C48 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_08063C48: - pop {r0} - bx r0 - .align 2, 0 -_08063C4C: .4byte gFieldCamera - thumb_func_end GetObjectEventMovingCameraOffset - - thumb_func_start ObjectEventMoveDestCoords -ObjectEventMoveDestCoords: @ 8063C50 - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - ldrh r4, [r0, 0x10] - strh r4, [r2] - ldrh r0, [r0, 0x12] - strh r0, [r3] - adds r0, r1, 0 - adds r1, r2, 0 - adds r2, r3, 0 - bl MoveCoords - pop {r4} - pop {r0} - bx r0 - thumb_func_end ObjectEventMoveDestCoords - - thumb_func_start ObjectEventIsMovementOverridden -ObjectEventIsMovementOverridden: @ 8063C70 - push {lr} - ldrb r1, [r0] - movs r0, 0x42 - ands r0, r1 - cmp r0, 0 - bne _08063C80 - movs r0, 0 - b _08063C82 -_08063C80: - movs r0, 0x1 -_08063C82: - pop {r1} - bx r1 - thumb_func_end ObjectEventIsMovementOverridden - - thumb_func_start ObjectEventIsSpecialAnimActive -ObjectEventIsSpecialAnimActive: @ 8063C88 - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - bge _08063C9E - ldrb r0, [r1, 0x1C] - cmp r0, 0xFF - beq _08063C9E - movs r0, 0x1 - b _08063CA0 -_08063C9E: - movs r0, 0 -_08063CA0: - pop {r1} - bx r1 - thumb_func_end ObjectEventIsSpecialAnimActive - - thumb_func_start ObjectEventSetHeldMovement -ObjectEventSetHeldMovement: @ 8063CA4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_8112CAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08063CC8 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08063CCE - movs r0, 0x1 - b _08063CF4 -_08063CC8: - adds r0, r4, 0 - bl ObjectEventClearAnimIfSpecialAnimActive -_08063CCE: - adds r0, r4, 0 - bl UnfreezeObjectEvent - movs r3, 0 - strb r5, [r4, 0x1C] - ldrb r0, [r4] - movs r1, 0x40 - orrs r0, r1 - movs r1, 0x7F - ands r0, r1 - strb r0, [r4] - ldr r2, _08063CFC @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x32] - movs r0, 0 -_08063CF4: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08063CFC: .4byte gSprites - thumb_func_end ObjectEventSetHeldMovement - - thumb_func_start ObjectEventForceSetSpecialAnim -ObjectEventForceSetSpecialAnim: @ 8063D00 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - bl ObjectEventClearAnimIfSpecialAnimActive - adds r0, r5, 0 - adds r1, r4, 0 - bl ObjectEventSetHeldMovement - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ObjectEventForceSetSpecialAnim - - thumb_func_start ObjectEventClearAnimIfSpecialAnimActive -ObjectEventClearAnimIfSpecialAnimActive: @ 8063D1C - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - bge _08063D2E - adds r0, r1, 0 - bl ObjectEventClearAnim -_08063D2E: - pop {r0} - bx r0 - thumb_func_end ObjectEventClearAnimIfSpecialAnimActive - - thumb_func_start ObjectEventClearAnim -ObjectEventClearAnim: @ 8063D34 - movs r1, 0xFF - strb r1, [r0, 0x1C] - ldrb r2, [r0] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - movs r2, 0x7F - ands r1, r2 - strb r1, [r0] - ldr r3, _08063D64 @ =gSprites - ldrb r2, [r0, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - movs r2, 0 - strh r2, [r1, 0x30] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x32] - bx lr - .align 2, 0 -_08063D64: .4byte gSprites - thumb_func_end ObjectEventClearAnim - - thumb_func_start ObjectEventCheckHeldMovementStatus -ObjectEventCheckHeldMovementStatus: @ 8063D68 - push {lr} - ldrb r1, [r0] - lsls r0, r1, 25 - cmp r0, 0 - blt _08063D76 - movs r0, 0x10 - b _08063D78 -_08063D76: - lsrs r0, r1, 7 -_08063D78: - pop {r1} - bx r1 - thumb_func_end ObjectEventCheckHeldMovementStatus - - thumb_func_start ObjectEventClearHeldMovementIfFinished -ObjectEventClearHeldMovementIfFinished: @ 8063D7C - push {r4,r5,lr} - adds r5, r0, 0 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08063D96 - cmp r4, 0x10 - beq _08063D96 - adds r0, r5, 0 - bl ObjectEventClearAnimIfSpecialAnimActive -_08063D96: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ObjectEventClearHeldMovementIfFinished - - thumb_func_start ObjectEventGetSpecialAnim -ObjectEventGetSpecialAnim: @ 8063DA0 - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08063DB0 - movs r0, 0xFF - b _08063DB2 -_08063DB0: - ldrb r0, [r1, 0x1C] -_08063DB2: - pop {r1} - bx r1 - thumb_func_end ObjectEventGetSpecialAnim - - thumb_func_start ObjectEventStep -ObjectEventStep: @ 8063DB8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl DoGroundEffects_OnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80679C8 - adds r0, r4, 0 - bl ObjectEventIsSpecialAnimActive - lsls r0, 24 - cmp r0, 0 - beq _08063DE2 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventExecSpecialAnim - b _08063DF8 -_08063DE2: - ldrb r0, [r4, 0x1] - lsls r0, 31 - cmp r0, 0 - bne _08063DF8 -_08063DEA: - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r6 - lsls r0, 24 - cmp r0, 0 - bne _08063DEA -_08063DF8: - adds r0, r4, 0 - adds r1, r5, 0 - bl DoGroundEffects_OnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl DoGroundEffects_OnFinishStep - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_obj_transfer_image_anim_pause_flag - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80679F8 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventUpdateSubpriority - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ObjectEventStep - - thumb_func_start sub_8063E28 -sub_8063E28: @ 8063E28 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl DoGroundEffects_OnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80679C8 - adds r0, r4, 0 - bl ObjectEventIsSpecialAnimActive - lsls r0, 24 - cmp r0, 0 - beq _08063E5C - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08063E5C - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventExecHeldMovementAction -_08063E5C: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsIce_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08063E78 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsUnknownMovement48 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08063E80 -_08063E78: - ldrb r0, [r4, 0x1] - movs r1, 0x4 - orrs r0, r1 - b _08063E88 -_08063E80: - ldrb r1, [r4, 0x1] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 -_08063E88: - strb r0, [r4, 0x1] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoGroundEffects_OnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl DoGroundEffects_OnFinishStep - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_obj_transfer_image_anim_pause_flag - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80679F8 - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventUpdateSubpriority - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8063E28 - - thumb_func_start GetFaceDirectionMovementAction -GetFaceDirectionMovementAction: @ 8063EB8 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08063EE0 @ =gUnknown_83A64EC - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08063ED0 - movs r4, 0 -_08063ED0: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063EE0: .4byte gUnknown_83A64EC - thumb_func_end GetFaceDirectionMovementAction - - thumb_func_start sub_8063EE4 -sub_8063EE4: @ 8063EE4 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08063F0C @ =gUnknown_83A64F1 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08063EFC - movs r4, 0 -_08063EFC: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063F0C: .4byte gUnknown_83A64F1 - thumb_func_end sub_8063EE4 - - thumb_func_start sub_8063F10 -sub_8063F10: @ 8063F10 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _08063F1C - movs r1, 0 -_08063F1C: - ldr r0, _08063F28 @ =gUnknown_83A64F6 - adds r0, r1, r0 - ldrb r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_08063F28: .4byte gUnknown_83A64F6 - thumb_func_end sub_8063F10 - - thumb_func_start sub_8063F2C -sub_8063F2C: @ 8063F2C - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08063F54 @ =gUnknown_83A64FB - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08063F44 - movs r4, 0 -_08063F44: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063F54: .4byte gUnknown_83A64FB - thumb_func_end sub_8063F2C - - thumb_func_start sub_8063F58 -sub_8063F58: @ 8063F58 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08063F80 @ =gUnknown_83A6500 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08063F70 - movs r4, 0 -_08063F70: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063F80: .4byte gUnknown_83A6500 - thumb_func_end sub_8063F58 - - thumb_func_start GetWalkNormalMovementAction -GetWalkNormalMovementAction: @ 8063F84 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08063FAC @ =gUnknown_83A6505 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08063F9C - movs r4, 0 -_08063F9C: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063FAC: .4byte gUnknown_83A6505 - thumb_func_end GetWalkNormalMovementAction - - thumb_func_start sub_8063FB0 -sub_8063FB0: @ 8063FB0 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08063FD8 @ =gUnknown_83A650A - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08063FC8 - movs r4, 0 -_08063FC8: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08063FD8: .4byte gUnknown_83A650A - thumb_func_end sub_8063FB0 - - thumb_func_start sub_8063FDC -sub_8063FDC: @ 8063FDC - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064004 @ =gUnknown_83A650F - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08063FF4 - movs r4, 0 -_08063FF4: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064004: .4byte gUnknown_83A650F - thumb_func_end sub_8063FDC - - thumb_func_start sub_8064008 -sub_8064008: @ 8064008 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064030 @ =gUnknown_83A6514 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064020 - movs r4, 0 -_08064020: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064030: .4byte gUnknown_83A6514 - thumb_func_end sub_8064008 - - thumb_func_start sub_8064034 -sub_8064034: @ 8064034 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0806405C @ =gUnknown_83A6519 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _0806404C - movs r4, 0 -_0806404C: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806405C: .4byte gUnknown_83A6519 - thumb_func_end sub_8064034 - - thumb_func_start sub_8064060 -sub_8064060: @ 8064060 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064088 @ =gUnknown_83A651E - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064078 - movs r4, 0 -_08064078: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064088: .4byte gUnknown_83A651E - thumb_func_end sub_8064060 - - thumb_func_start sub_806408C -sub_806408C: @ 806408C - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080640B4 @ =gUnknown_83A6523 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _080640A4 - movs r4, 0 -_080640A4: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080640B4: .4byte gUnknown_83A6523 - thumb_func_end sub_806408C - - thumb_func_start sub_80640B8 -sub_80640B8: @ 80640B8 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080640E0 @ =gUnknown_83A6528 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _080640D0 - movs r4, 0 -_080640D0: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080640E0: .4byte gUnknown_83A6528 - thumb_func_end sub_80640B8 - - thumb_func_start sub_80640E4 -sub_80640E4: @ 80640E4 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0806410C @ =gUnknown_83A652D - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _080640FC - movs r4, 0 -_080640FC: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806410C: .4byte gUnknown_83A652D - thumb_func_end sub_80640E4 - - thumb_func_start GetJumpLedgeAnimId -GetJumpLedgeAnimId: @ 8064110 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064138 @ =gUnknown_83A6532 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064128 - movs r4, 0 -_08064128: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064138: .4byte gUnknown_83A6532 - thumb_func_end GetJumpLedgeAnimId - - thumb_func_start GetJumpInPlaceMovementAction -GetJumpInPlaceMovementAction: @ 806413C - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064164 @ =gUnknown_83A6537 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064154 - movs r4, 0 -_08064154: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064164: .4byte gUnknown_83A6537 - thumb_func_end GetJumpInPlaceMovementAction - - thumb_func_start sub_8064168 -sub_8064168: @ 8064168 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064190 @ =gUnknown_83A653C - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064180 - movs r4, 0 -_08064180: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064190: .4byte gUnknown_83A653C - thumb_func_end sub_8064168 - - thumb_func_start sub_8064194 -sub_8064194: @ 8064194 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080641BC @ =gUnknown_83A6541 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _080641AC - movs r4, 0 -_080641AC: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080641BC: .4byte gUnknown_83A6541 - thumb_func_end sub_8064194 - - thumb_func_start sub_80641C0 -sub_80641C0: @ 80641C0 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080641E8 @ =gUnknown_83A6546 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _080641D8 - movs r4, 0 -_080641D8: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080641E8: .4byte gUnknown_83A6546 - thumb_func_end sub_80641C0 - - thumb_func_start sub_80641EC -sub_80641EC: @ 80641EC - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064214 @ =gUnknown_83A654B - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064204 - movs r4, 0 -_08064204: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064214: .4byte gUnknown_83A654B - thumb_func_end sub_80641EC - - thumb_func_start GetStepInPlaceDelay32AnimId -GetStepInPlaceDelay32AnimId: @ 8064218 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064240 @ =gUnknown_83A6550 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064230 - movs r4, 0 -_08064230: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064240: .4byte gUnknown_83A6550 - thumb_func_end GetStepInPlaceDelay32AnimId - - thumb_func_start GetStepInPlaceDelay16AnimId -GetStepInPlaceDelay16AnimId: @ 8064244 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0806426C @ =gUnknown_83A6555 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _0806425C - movs r4, 0 -_0806425C: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806426C: .4byte gUnknown_83A6555 - thumb_func_end GetStepInPlaceDelay16AnimId - - thumb_func_start sub_8064270 -sub_8064270: @ 8064270 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064298 @ =gUnknown_83A655A - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064288 - movs r4, 0 -_08064288: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064298: .4byte gUnknown_83A655A - thumb_func_end sub_8064270 - - thumb_func_start GetStepInPlaceDelay4AnimId -GetStepInPlaceDelay4AnimId: @ 806429C - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080642C4 @ =gUnknown_83A655F - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _080642B4 - movs r4, 0 -_080642B4: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080642C4: .4byte gUnknown_83A655F - thumb_func_end GetStepInPlaceDelay4AnimId - - thumb_func_start ObjectEventFaceOppositeDirection -ObjectEventFaceOppositeDirection: @ 80642C8 - push {r4,lr} - adds r4, r0, 0 - lsls r0, r1, 24 - lsrs r0, 24 - bl GetOppositeDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ObjectEventFaceOppositeDirection - - thumb_func_start sub_80642F4 -sub_80642F4: @ 80642F4 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0806431C @ =gUnknown_83A6564 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _0806430C - movs r4, 0 -_0806430C: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806431C: .4byte gUnknown_83A6564 - thumb_func_end sub_80642F4 - - thumb_func_start sub_8064320 -sub_8064320: @ 8064320 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064348 @ =gUnknown_83A6569 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064338 - movs r4, 0 -_08064338: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064348: .4byte gUnknown_83A6569 - thumb_func_end sub_8064320 - - thumb_func_start sub_806434C -sub_806434C: @ 806434C - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064374 @ =gUnknown_83A656E - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064364 - movs r4, 0 -_08064364: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064374: .4byte gUnknown_83A656E - thumb_func_end sub_806434C - - thumb_func_start sub_8064378 -sub_8064378: @ 8064378 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080643A0 @ =gUnknown_83A6573 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064390 - movs r4, 0 -_08064390: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080643A0: .4byte gUnknown_83A6573 - thumb_func_end sub_8064378 - - thumb_func_start sub_80643A4 -sub_80643A4: @ 80643A4 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080643CC @ =gUnknown_83A6578 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _080643BC - movs r4, 0 -_080643BC: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080643CC: .4byte gUnknown_83A6578 - thumb_func_end sub_80643A4 - - thumb_func_start sub_80643D0 -sub_80643D0: @ 80643D0 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080643F8 @ =gUnknown_83A657D - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _080643E8 - movs r4, 0 -_080643E8: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080643F8: .4byte gUnknown_83A657D - thumb_func_end sub_80643D0 - - thumb_func_start sub_80643FC -sub_80643FC: @ 80643FC - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064424 @ =gUnknown_83A6582 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064414 - movs r4, 0 -_08064414: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064424: .4byte gUnknown_83A6582 - thumb_func_end sub_80643FC - - thumb_func_start sub_8064428 -sub_8064428: @ 8064428 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08064450 @ =gUnknown_83A6587 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _08064440 - movs r4, 0 -_08064440: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064450: .4byte gUnknown_83A6587 - thumb_func_end sub_8064428 - - thumb_func_start sub_8064454 -sub_8064454: @ 8064454 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0806447C @ =gUnknown_83A658C - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x4 - bls _0806446C - movs r4, 0 -_0806446C: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806447C: .4byte gUnknown_83A658C - thumb_func_end sub_8064454 - - thumb_func_start GetOppositeDirection -GetOppositeDirection: @ 8064480 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080644A4 @ =gUnknown_83A6591 - mov r0, sp - movs r2, 0x8 - bl memcpy - subs r1, r4, 0x1 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x7 - bhi _080644A8 - mov r2, sp - adds r0, r2, r1 - ldrb r0, [r0] - b _080644AA - .align 2, 0 -_080644A4: .4byte gUnknown_83A6591 -_080644A8: - adds r0, r4, 0 -_080644AA: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetOppositeDirection - - thumb_func_start zffu_offset_calc -zffu_offset_calc: @ 80644B4 - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080644C8 @ =gUnknown_83A6599 - lsrs r0, 22 - subs r0, 0x5 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - bx lr - .align 2, 0 -_080644C8: .4byte gUnknown_83A6599 - thumb_func_end zffu_offset_calc - - thumb_func_start state_to_direction -state_to_direction: @ 80644CC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r0, r1, 0 - lsls r2, 24 - lsrs r2, 24 - cmp r1, 0 - beq _080644EC - cmp r2, 0 - beq _080644EC - cmp r1, 0x4 - bhi _080644EC - cmp r2, 0x4 - bls _080644F0 -_080644EC: - movs r0, 0 - b _08064502 -_080644F0: - adds r1, r2, 0 - bl zffu_offset_calc - ldr r2, _08064508 @ =gUnknown_83A65A9 - lsls r1, r4, 2 - subs r1, 0x5 - adds r0, r1 - adds r0, r2 - ldrb r0, [r0] -_08064502: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08064508: .4byte gUnknown_83A65A9 - thumb_func_end state_to_direction - - thumb_func_start ObjectEventExecSpecialAnim -ObjectEventExecSpecialAnim: @ 806450C - push {r4,lr} - adds r4, r0, 0 - ldr r2, _08064540 @ =sMovementActionFuncs - ldrb r0, [r4, 0x1C] - lsls r0, 2 - adds r0, r2 - movs r3, 0x32 - ldrsh r2, [r1, r3] - ldr r0, [r0] - lsls r2, 2 - adds r2, r0 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - beq _08064538 - ldrb r0, [r4] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4] -_08064538: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08064540: .4byte sMovementActionFuncs - thumb_func_end ObjectEventExecSpecialAnim - - thumb_func_start ObjectEventExecHeldMovementAction -ObjectEventExecHeldMovementAction: @ 8064544 - push {r4,lr} - adds r4, r0, 0 - ldr r2, _08064584 @ =sMovementActionFuncs - ldrb r0, [r4, 0x1C] - lsls r0, 2 - adds r0, r2 - movs r3, 0x32 - ldrsh r2, [r1, r3] - ldr r0, [r0] - lsls r2, 2 - adds r2, r0 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - beq _0806457C - ldrb r0, [r4] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r4, 0x5] - cmp r0, 0x61 - bne _0806457C - adds r0, r4, 0 - bl sub_806DE28 -_0806457C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08064584: .4byte sMovementActionFuncs - thumb_func_end ObjectEventExecHeldMovementAction - - thumb_func_start ObjectEventExecSingleMovementAction -ObjectEventExecSingleMovementAction: @ 8064588 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _080645B4 @ =sMovementActionFuncs - ldrb r0, [r4, 0x1C] - lsls r0, 2 - adds r0, r1 - movs r2, 0x32 - ldrsh r1, [r5, r2] - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - ldr r2, [r1] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _080645B8 - movs r0, 0 - b _080645C2 - .align 2, 0 -_080645B4: .4byte sMovementActionFuncs -_080645B8: - movs r0, 0xFF - strb r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080645C2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ObjectEventExecSingleMovementAction - - thumb_func_start ObjectEventSetSingleMovement -ObjectEventSetSingleMovement: @ 80645C8 - push {r4,lr} - adds r3, r0, 0 - lsls r2, 24 - lsrs r4, r2, 24 - movs r0, 0 - strb r4, [r3, 0x1C] - strh r0, [r1, 0x32] - ldr r0, _080645F0 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080645EA - ldrb r0, [r3, 0x8] - ldrb r1, [r3, 0x9] - ldrb r2, [r3, 0xA] - adds r3, r4, 0 - bl sub_81124EC -_080645EA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080645F0: .4byte gUnknown_3005E88 - thumb_func_end ObjectEventSetSingleMovement - - thumb_func_start FaceDirection -FaceDirection: @ 80645F4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r1, r2, 24 - lsrs r1, 24 - bl ObjectEventSetDirection - adds r0, r4, 0 - bl npc_coords_shift_still - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl get_go_image_anim_num - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl obj_npc_animation_step - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - strh r0, [r5, 0x32] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FaceDirection - - thumb_func_start MovementActionFunc_x00_0 -MovementActionFunc_x00_0: @ 8064638 - push {lr} - movs r2, 0x1 - bl FaceDirection - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x00_0 - - thumb_func_start MovementActionFunc_x01_0 -MovementActionFunc_x01_0: @ 8064648 - push {lr} - movs r2, 0x2 - bl FaceDirection - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x01_0 - - thumb_func_start MovementActionFunc_x02_0 -MovementActionFunc_x02_0: @ 8064658 - push {lr} - movs r2, 0x3 - bl FaceDirection - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x02_0 - - thumb_func_start MovementActionFunc_x03_0 -MovementActionFunc_x03_0: @ 8064668 - push {lr} - movs r2, 0x4 - bl FaceDirection - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x03_0 - - thumb_func_start sub_8064678 -sub_8064678: @ 8064678 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r8, r0 - mov r9, r1 - adds r4, r2, 0 - adds r6, r3, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - ldrh r1, [r0, 0x10] - mov r0, sp - strh r1, [r0] - mov r1, r8 - ldrh r0, [r1, 0x12] - mov r5, sp - adds r5, 0x2 - strh r0, [r5] - mov r0, r8 - adds r1, r4, 0 - bl ObjectEventSetDirection - adds r0, r4, 0 - 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] - mov r0, r8 - bl npc_coords_shift - mov r0, r9 - adds r1, r4, 0 - adds r2, r6, 0 - bl oamt_npc_ministep_reset - mov r2, r9 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x4 - orrs r0, r1 - mov r2, r8 - strb r0, [r2] - movs r0, 0x1 - mov r1, r9 - strh r0, [r1, 0x32] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8064678 - - thumb_func_start do_go_anim -do_go_anim: @ 80646FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r5, r0, 0 - mov r8, r1 - adds r4, r3, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r4, 24 - lsrs r4, 24 - mov r1, sp - ldr r0, _08064754 @ =gUnknown_83A6884 - ldm r0!, {r3,r6,r7} - stm r1!, {r3,r6,r7} - ldm r0!, {r3,r6} - stm r1!, {r3,r6} - adds r0, r5, 0 - mov r1, r8 - adds r3, r4, 0 - bl sub_8064678 - lsls r4, 2 - mov r7, sp - adds r1, r7, r4 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - ldr r1, [r1] - bl _call_via_r1 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - mov r1, r8 - bl npc_apply_anim_looping - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08064754: .4byte gUnknown_83A6884 - thumb_func_end do_go_anim - - thumb_func_start do_run_anim -do_run_anim: @ 8064758 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0x1 - bl sub_8064678 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl get_run_image_anim_num - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_apply_anim_looping - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end do_run_anim - - thumb_func_start npc_obj_ministep_stop_on_arrival -npc_obj_ministep_stop_on_arrival: @ 8064788 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl obj_npc_ministep - lsls r0, 24 - cmp r0, 0 - bne _0806479E - movs r0, 0 - b _080647BA -_0806479E: - adds r0, r4, 0 - bl npc_coords_shift_still - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 -_080647BA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end npc_obj_ministep_stop_on_arrival - - thumb_func_start sub_80647C0 -sub_80647C0: @ 80647C0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - lsls r5, r2, 24 - lsrs r5, 24 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - adds r0, r6, 0 - adds r1, r5, 0 - bl ObjectEventSetDirection - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r4, r0] - adds r0, r6, 0 - bl npc_coords_shift - mov r0, r8 - adds r1, r5, 0 - bl sub_8068BBC - mov r2, r8 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x1 - mov r1, r8 - strh r0, [r1, 0x32] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80647C0 - - thumb_func_start sub_8064830 -sub_8064830: @ 8064830 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - bl sub_80647C0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl get_go_image_anim_num - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_apply_anim_looping - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8064830 - - thumb_func_start an_walk_any_2 -an_walk_any_2: @ 806485C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl sub_8068BCC - lsls r0, 24 - cmp r0, 0 - bne _08064872 - movs r0, 0 - b _0806488E -_08064872: - adds r0, r4, 0 - bl npc_coords_shift_still - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 -_0806488E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end an_walk_any_2 - - thumb_func_start sub_8064894 -sub_8064894: @ 8064894 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - lsls r5, r2, 24 - lsrs r5, 24 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - adds r0, r6, 0 - adds r1, r5, 0 - bl ObjectEventSetDirection - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r4, r0] - adds r0, r6, 0 - bl npc_coords_shift - mov r0, r8 - adds r1, r5, 0 - bl sub_8068C58 - mov r2, r8 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x1 - mov r1, r8 - strh r0, [r1, 0x32] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8064894 - - thumb_func_start sub_8064904 -sub_8064904: @ 8064904 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - bl sub_8064894 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl get_go_image_anim_num - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_apply_anim_looping - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8064904 - - thumb_func_start sub_8064930 -sub_8064930: @ 8064930 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl sub_8068C68 - lsls r0, 24 - cmp r0, 0 - bne _08064946 - movs r0, 0 - b _08064962 -_08064946: - adds r0, r4, 0 - bl npc_coords_shift_still - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 -_08064962: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8064930 - - thumb_func_start MovementActionFunc_x9B_0 -MovementActionFunc_x9B_0: @ 8064968 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8064904 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x9B_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9B_0 - - thumb_func_start MovementActionFunc_x9B_1 -MovementActionFunc_x9B_1: @ 8064988 - push {r4,lr} - adds r4, r1, 0 - bl sub_8064930 - lsls r0, 24 - cmp r0, 0 - bne _0806499A - movs r0, 0 - b _080649A0 -_0806499A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080649A0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9B_1 - - thumb_func_start MovementActionFunc_x9C_0 -MovementActionFunc_x9C_0: @ 80649A8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - bl sub_8064904 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x9C_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9C_0 - - thumb_func_start MovementActionFunc_x9C_1 -MovementActionFunc_x9C_1: @ 80649C8 - push {r4,lr} - adds r4, r1, 0 - bl sub_8064930 - lsls r0, 24 - cmp r0, 0 - bne _080649DA - movs r0, 0 - b _080649E0 -_080649DA: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080649E0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9C_1 - - thumb_func_start MovementActionFunc_x9D_0 -MovementActionFunc_x9D_0: @ 80649E8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - bl sub_8064904 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x9D_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9D_0 - - thumb_func_start MovementActionFunc_x9D_1 -MovementActionFunc_x9D_1: @ 8064A08 - push {r4,lr} - adds r4, r1, 0 - bl sub_8064930 - lsls r0, 24 - cmp r0, 0 - bne _08064A1A - movs r0, 0 - b _08064A20 -_08064A1A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064A20: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9D_1 - - thumb_func_start MovementActionFunc_x9E_0 -MovementActionFunc_x9E_0: @ 8064A28 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_8064904 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x9E_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9E_0 - - thumb_func_start MovementActionFunc_x9E_1 -MovementActionFunc_x9E_1: @ 8064A48 - push {r4,lr} - adds r4, r1, 0 - bl sub_8064930 - lsls r0, 24 - cmp r0, 0 - bne _08064A5A - movs r0, 0 - b _08064A60 -_08064A5A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064A60: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9E_1 - - thumb_func_start MovementActionFunc_x08_0 -MovementActionFunc_x08_0: @ 8064A68 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8064830 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x08_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x08_0 - - thumb_func_start MovementActionFunc_x08_1 -MovementActionFunc_x08_1: @ 8064A88 - push {r4,lr} - adds r4, r1, 0 - bl an_walk_any_2 - lsls r0, 24 - cmp r0, 0 - bne _08064A9A - movs r0, 0 - b _08064AA0 -_08064A9A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064AA0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x08_1 - - thumb_func_start MovementActionFunc_x09_0 -MovementActionFunc_x09_0: @ 8064AA8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - bl sub_8064830 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x09_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x09_0 - - thumb_func_start MovementActionFunc_x09_1 -MovementActionFunc_x09_1: @ 8064AC8 - push {r4,lr} - adds r4, r1, 0 - bl an_walk_any_2 - lsls r0, 24 - cmp r0, 0 - bne _08064ADA - movs r0, 0 - b _08064AE0 -_08064ADA: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064AE0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x09_1 - - thumb_func_start MovementActionFunc_x0A_0 -MovementActionFunc_x0A_0: @ 8064AE8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - bl sub_8064830 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x0A_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0A_0 - - thumb_func_start MovementActionFunc_x0A_1 -MovementActionFunc_x0A_1: @ 8064B08 - push {r4,lr} - adds r4, r1, 0 - bl an_walk_any_2 - lsls r0, 24 - cmp r0, 0 - bne _08064B1A - movs r0, 0 - b _08064B20 -_08064B1A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064B20: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0A_1 - - thumb_func_start MovementActionFunc_x0B_0 -MovementActionFunc_x0B_0: @ 8064B28 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_8064830 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x0B_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0B_0 - - thumb_func_start MovementActionFunc_x0B_1 -MovementActionFunc_x0B_1: @ 8064B48 - push {r4,lr} - adds r4, r1, 0 - bl an_walk_any_2 - lsls r0, 24 - cmp r0, 0 - bne _08064B5A - movs r0, 0 - b _08064B60 -_08064B5A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064B60: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0B_1 - - thumb_func_start sub_8064B68 -sub_8064B68: @ 8064B68 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - lsls r5, r2, 24 - lsrs r5, 24 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - adds r0, r6, 0 - adds r1, r5, 0 - bl ObjectEventSetDirection - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r4, r0] - adds r0, r6, 0 - bl npc_coords_shift - mov r0, r8 - adds r1, r5, 0 - bl sub_8068C08 - mov r2, r8 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x1 - mov r1, r8 - strh r0, [r1, 0x32] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8064B68 - - thumb_func_start sub_8064BD8 -sub_8064BD8: @ 8064BD8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - bl sub_8064B68 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl get_go_image_anim_num - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_apply_anim_looping - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8064BD8 - - thumb_func_start sub_8064C04 -sub_8064C04: @ 8064C04 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl sub_8068C18 - lsls r0, 24 - cmp r0, 0 - bne _08064C1A - movs r0, 0 - b _08064C36 -_08064C1A: - adds r0, r4, 0 - bl npc_coords_shift_still - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 -_08064C36: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8064C04 - - thumb_func_start MovementActionFunc_x0D_0 -MovementActionFunc_x0D_0: @ 8064C3C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - bl sub_8064BD8 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x0D_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0D_0 - - thumb_func_start MovementActionFunc_x0D_1 -MovementActionFunc_x0D_1: @ 8064C5C - push {r4,lr} - adds r4, r1, 0 - bl sub_8064C04 - lsls r0, 24 - cmp r0, 0 - bne _08064C6E - movs r0, 0 - b _08064C74 -_08064C6E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064C74: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0D_1 - - thumb_func_start MovementActionFunc_x0C_0 -MovementActionFunc_x0C_0: @ 8064C7C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8064BD8 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x0C_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0C_0 - - thumb_func_start MovementActionFunc_x0C_1 -MovementActionFunc_x0C_1: @ 8064C9C - push {r4,lr} - adds r4, r1, 0 - bl sub_8064C04 - lsls r0, 24 - cmp r0, 0 - bne _08064CAE - movs r0, 0 - b _08064CB4 -_08064CAE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064CB4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0C_1 - - thumb_func_start MovementActionFunc_x0E_0 -MovementActionFunc_x0E_0: @ 8064CBC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - bl sub_8064BD8 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x0E_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0E_0 - - thumb_func_start MovementActionFunc_x0E_1 -MovementActionFunc_x0E_1: @ 8064CDC - push {r4,lr} - adds r4, r1, 0 - bl sub_8064C04 - lsls r0, 24 - cmp r0, 0 - bne _08064CEE - movs r0, 0 - b _08064CF4 -_08064CEE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064CF4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0E_1 - - thumb_func_start MovementActionFunc_x0F_0 -MovementActionFunc_x0F_0: @ 8064CFC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_8064BD8 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x0F_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0F_0 - - thumb_func_start MovementActionFunc_x0F_1 -MovementActionFunc_x0F_1: @ 8064D1C - push {r4,lr} - adds r4, r1, 0 - bl sub_8064C04 - lsls r0, 24 - cmp r0, 0 - bne _08064D2E - movs r0, 0 - b _08064D34 -_08064D2E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064D34: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x0F_1 - - thumb_func_start MovementActionFunc_x10_0 -MovementActionFunc_x10_0: @ 8064D3C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x10_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x10_0 - - thumb_func_start MovementActionFunc_x10_1 -MovementActionFunc_x10_1: @ 8064D5C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08064D6E - movs r0, 0 - b _08064D74 -_08064D6E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064D74: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x10_1 - - thumb_func_start MovementActionFunc_x11_0 -MovementActionFunc_x11_0: @ 8064D7C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x11_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x11_0 - - thumb_func_start MovementActionFunc_x11_1 -MovementActionFunc_x11_1: @ 8064D9C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08064DAE - movs r0, 0 - b _08064DB4 -_08064DAE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064DB4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x11_1 - - thumb_func_start MovementActionFunc_x12_0 -MovementActionFunc_x12_0: @ 8064DBC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x12_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x12_0 - - thumb_func_start MovementActionFunc_x12_1 -MovementActionFunc_x12_1: @ 8064DDC - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08064DEE - movs r0, 0 - b _08064DF4 -_08064DEE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064DF4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x12_1 - - thumb_func_start MovementActionFunc_x13_0 -MovementActionFunc_x13_0: @ 8064DFC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x13_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x13_0 - - thumb_func_start MovementActionFunc_x13_1 -MovementActionFunc_x13_1: @ 8064E1C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08064E2E - movs r0, 0 - b _08064E34 -_08064E2E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08064E34: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x13_1 - - thumb_func_start sub_8064E3C -sub_8064E3C: @ 8064E3C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r7, r0, 0 - mov r10, r1 - adds r4, r2, 0 - mov r8, r3 - ldr r0, [sp, 0x30] - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _08064EF4 @ =gUnknown_83A6958 - add r0, sp, 0x4 - movs r2, 0x6 - bl memcpy - add r5, sp, 0xC - movs r0, 0 - strh r0, [r5] - mov r6, sp - adds r6, 0xE - strh r0, [r6] - adds r0, r7, 0 - adds r1, r4, 0 - bl ObjectEventSetDirection - mov r1, r8 - lsls r0, r1, 1 - add r0, sp - adds r0, 0x4 - movs r1, 0 - ldrsh r3, [r0, r1] - str r3, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_8063A6C - ldrh r1, [r5] - ldrh r0, [r7, 0x10] - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r6] - ldrh r0, [r7, 0x12] - adds r2, r0 - lsls r2, 16 - asrs r2, 16 - adds r0, r7, 0 - bl npc_coords_shift - mov r0, r10 - adds r1, r4, 0 - mov r2, r8 - mov r3, r9 - bl sub_8068D1C - movs r0, 0x1 - mov r1, r10 - strh r0, [r1, 0x32] - movs r0, 0x2C - add r10, r0 - mov r0, r10 - ldrb r1, [r0] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - mov r1, r10 - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r7] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08064EF4: .4byte gUnknown_83A6958 - thumb_func_end sub_8064E3C - - thumb_func_start maybe_shadow_1 -maybe_shadow_1: @ 8064EF8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [sp, 0x10] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r0, r4, 0 - bl sub_8064E3C - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl get_go_image_anim_num - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_apply_anim_looping - adds r0, r4, 0 - bl DoShadowFieldEffect - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end maybe_shadow_1 - - thumb_func_start sub_8064F3C -sub_8064F3C: @ 8064F3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r6, r0, 0 - adds r7, r1, 0 - adds r4, r2, 0 - ldr r1, _08064FC8 @ =gUnknown_83A695E - add r0, sp, 0x4 - movs r2, 0x6 - bl memcpy - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x1 - bne _08064FCC - movs r1, 0x36 - ldrsh r0, [r7, r1] - lsls r0, 1 - add r0, sp - adds r0, 0x4 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _08064FCC - add r4, sp, 0xC - movs r0, 0 - strh r0, [r4] - mov r5, sp - adds r5, 0xE - strh r0, [r5] - ldrb r0, [r6, 0x18] - lsrs r0, 4 - movs r2, 0x36 - ldrsh r1, [r7, r2] - lsls r1, 1 - add r1, sp - adds r1, 0x4 - movs r2, 0 - ldrsh r3, [r1, r2] - str r3, [sp] - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8063A6C - ldrh r1, [r4] - ldrh r0, [r6, 0x10] - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r5] - ldrh r0, [r6, 0x12] - adds r2, r0 - lsls r2, 16 - asrs r2, 16 - adds r0, r6, 0 - bl npc_coords_shift - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r6] - b _08064FF0 - .align 2, 0 -_08064FC8: .4byte gUnknown_83A695E -_08064FCC: - mov r1, r8 - cmp r1, 0xFF - bne _08064FF0 - adds r0, r6, 0 - bl npc_coords_shift_still - ldrb r0, [r6] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r6] - adds r2, r7, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] -_08064FF0: - mov r0, r8 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8064F3C - - thumb_func_start sub_8065000 -sub_8065000: @ 8065000 - push {lr} - ldr r2, _08065010 @ =sub_8068D3C - bl sub_8064F3C - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08065010: .4byte sub_8068D3C - thumb_func_end sub_8065000 - - thumb_func_start sub_8065014 -sub_8065014: @ 8065014 - push {lr} - ldr r2, _08065024 @ =sub_8068DC4 - bl sub_8064F3C - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08065024: .4byte sub_8068DC4 - thumb_func_end sub_8065014 - - thumb_func_start sub_8065028 -sub_8065028: @ 8065028 - push {lr} - bl sub_8065000 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0806503A - movs r0, 0 - b _0806503C -_0806503A: - movs r0, 0x1 -_0806503C: - pop {r1} - bx r1 - thumb_func_end sub_8065028 - - thumb_func_start sub_8065040 -sub_8065040: @ 8065040 - push {lr} - bl sub_8065014 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08065052 - movs r0, 0 - b _08065054 -_08065052: - movs r0, 0x1 -_08065054: - pop {r1} - bx r1 - thumb_func_end sub_8065040 - - thumb_func_start sub_8065058 -sub_8065058: @ 8065058 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065000 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08065072 - cmp r0, 0xFF - bne _0806509E - movs r0, 0x1 - b _080650A0 -_08065072: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetOppositeDirection - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetDirection - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl get_go_image_anim_num - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl obj_npc_animation_step -_0806509E: - movs r0, 0 -_080650A0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8065058 - - thumb_func_start MovementActionFunc_x14_0 -MovementActionFunc_x14_0: @ 80650A8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x14_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x14_0 - - thumb_func_start MovementActionFunc_x14_1 -MovementActionFunc_x14_1: @ 80650D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080650E8 - movs r0, 0 - b _080650F8 -_080650E8: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080650F8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x14_1 - - thumb_func_start MovementActionFunc_x15_0 -MovementActionFunc_x15_0: @ 8065100 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x15_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x15_0 - - thumb_func_start MovementActionFunc_x15_1 -MovementActionFunc_x15_1: @ 806512C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08065140 - movs r0, 0 - b _08065150 -_08065140: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08065150: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x15_1 - - thumb_func_start MovementActionFunc_x16_0 -MovementActionFunc_x16_0: @ 8065158 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x3 - movs r3, 0x2 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x16_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x16_0 - - thumb_func_start MovementActionFunc_x16_1 -MovementActionFunc_x16_1: @ 8065184 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08065198 - movs r0, 0 - b _080651A8 -_08065198: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080651A8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x16_1 - - thumb_func_start MovementActionFunc_x17_0 -MovementActionFunc_x17_0: @ 80651B0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x4 - movs r3, 0x2 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x17_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x17_0 - - thumb_func_start MovementActionFunc_x17_1 -MovementActionFunc_x17_1: @ 80651DC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080651F0 - movs r0, 0 - b _08065200 -_080651F0: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08065200: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x17_1 - - thumb_func_start sub_8065208 -sub_8065208: @ 8065208 - movs r2, 0x1 - strh r2, [r0, 0x32] - strh r1, [r0, 0x34] - bx lr - thumb_func_end sub_8065208 - - thumb_func_start MovementActionFunc_x18_1 -MovementActionFunc_x18_1: @ 8065210 - push {lr} - ldrh r0, [r1, 0x34] - subs r0, 0x1 - strh r0, [r1, 0x34] - lsls r0, 16 - cmp r0, 0 - beq _08065222 - movs r0, 0 - b _08065228 -_08065222: - movs r0, 0x2 - strh r0, [r1, 0x32] - movs r0, 0x1 -_08065228: - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x18_1 - - thumb_func_start MovementActionFunc_x18_0 -MovementActionFunc_x18_0: @ 806522C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8065208 - adds r0, r5, 0 - adds r1, r4, 0 - bl MovementActionFunc_x18_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x18_0 - - thumb_func_start MovementActionFunc_x19_0 -MovementActionFunc_x19_0: @ 806524C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_8065208 - adds r0, r5, 0 - adds r1, r4, 0 - bl MovementActionFunc_x18_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x19_0 - - thumb_func_start MovementActionFunc_x1A_0 -MovementActionFunc_x1A_0: @ 806526C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_8065208 - adds r0, r5, 0 - adds r1, r4, 0 - bl MovementActionFunc_x18_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1A_0 - - thumb_func_start MovementActionFunc_x1B_0 -MovementActionFunc_x1B_0: @ 806528C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x8 - bl sub_8065208 - adds r0, r5, 0 - adds r1, r4, 0 - bl MovementActionFunc_x18_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1B_0 - - thumb_func_start MovementActionFunc_x1C_0 -MovementActionFunc_x1C_0: @ 80652AC - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x10 - bl sub_8065208 - adds r0, r5, 0 - adds r1, r4, 0 - bl MovementActionFunc_x18_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1C_0 - - thumb_func_start MovementActionFunc_x1D_0 -MovementActionFunc_x1D_0: @ 80652CC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0x1 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x1D_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1D_0 - - thumb_func_start MovementActionFunc_x1D_1 -MovementActionFunc_x1D_1: @ 80652EC - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _080652FE - movs r0, 0 - b _08065304 -_080652FE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065304: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1D_1 - - thumb_func_start MovementActionFunc_x1E_0 -MovementActionFunc_x1E_0: @ 806530C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x1E_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1E_0 - - thumb_func_start MovementActionFunc_x1E_1 -MovementActionFunc_x1E_1: @ 806532C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0806533E - movs r0, 0 - b _08065344 -_0806533E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065344: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1E_1 - - thumb_func_start MovementActionFunc_x1F_0 -MovementActionFunc_x1F_0: @ 806534C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0x1 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x1F_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1F_0 - - thumb_func_start MovementActionFunc_x1F_1 -MovementActionFunc_x1F_1: @ 806536C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0806537E - movs r0, 0 - b _08065384 -_0806537E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065384: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x1F_1 - - thumb_func_start MovementActionFunc_x20_0 -MovementActionFunc_x20_0: @ 806538C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0x1 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x20_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x20_0 - - thumb_func_start MovementActionFunc_x20_1 -MovementActionFunc_x20_1: @ 80653AC - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _080653BE - movs r0, 0 - b _080653C4 -_080653BE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080653C4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x20_1 - - thumb_func_start sub_80653CC -sub_80653CC: @ 80653CC - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - bl obj_npc_ministep - lsls r0, 24 - cmp r0, 0 - bne _080653E0 - movs r0, 0 - b _080653F0 -_080653E0: - adds r0, r4, 0 - bl npc_coords_shift_still - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x1 -_080653F0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80653CC - - thumb_func_start MovementActionFunc_xA0_0 -MovementActionFunc_xA0_0: @ 80653F8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r1, [r4, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _0806541A - movs r0, 0x1 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_0806541A: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x1 - bl sub_8064678 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_xA0_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA0_0 - - thumb_func_start MovementActionFunc_xA0_1 -MovementActionFunc_xA0_1: @ 8065438 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl AnimateSprite - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80653CC - lsls r0, 24 - cmp r0, 0 - bne _08065456 - movs r0, 0 - b _0806545C -_08065456: - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_0806545C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA0_1 - - thumb_func_start MovementActionFunc_xA1_0 -MovementActionFunc_xA1_0: @ 8065464 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r1, [r4, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x2 - beq _08065486 - movs r0, 0x2 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_08065486: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x1 - bl sub_8064678 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_xA1_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA1_0 - - thumb_func_start MovementActionFunc_xA1_1 -MovementActionFunc_xA1_1: @ 80654A4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl AnimateSprite - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80653CC - lsls r0, 24 - cmp r0, 0 - bne _080654C2 - movs r0, 0 - b _080654C8 -_080654C2: - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080654C8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA1_1 - - thumb_func_start MovementActionFunc_xA2_0 -MovementActionFunc_xA2_0: @ 80654D0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r1, [r4, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x3 - beq _080654F2 - movs r0, 0x3 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_080654F2: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_8064678 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_xA2_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA2_0 - - thumb_func_start MovementActionFunc_xA2_1 -MovementActionFunc_xA2_1: @ 8065510 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl AnimateSprite - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80653CC - lsls r0, 24 - cmp r0, 0 - bne _0806552E - movs r0, 0 - b _08065534 -_0806552E: - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08065534: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA2_1 - - thumb_func_start MovementActionFunc_xA3_0 -MovementActionFunc_xA3_0: @ 806553C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r1, [r4, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x4 - beq _0806555E - movs r0, 0x4 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_0806555E: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - movs r3, 0x1 - bl sub_8064678 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_xA3_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA3_0 - - thumb_func_start MovementActionFunc_xA3_1 -MovementActionFunc_xA3_1: @ 806557C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl AnimateSprite - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80653CC - lsls r0, 24 - cmp r0, 0 - bne _0806559A - movs r0, 0 - b _080655A0 -_0806559A: - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080655A0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA3_1 - - thumb_func_start sub_80655A8 -sub_80655A8: @ 80655A8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r1, r2, 24 - lsrs r1, 24 - bl ObjectEventSetDirection - adds r0, r4, 0 - bl npc_coords_shift_still - adds r2, r5, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - strh r0, [r5, 0x32] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80655A8 - - thumb_func_start MovementActionFunc_x04_0 -MovementActionFunc_x04_0: @ 80655D4 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r1, [r5, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _080655F6 - movs r0, 0x1 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_080655F6: - adds r0, r4, 0 - bl AnimateSprite - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_80655A8 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x04_0 - - thumb_func_start MovementActionFunc_x05_0 -MovementActionFunc_x05_0: @ 8065610 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r1, [r5, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x2 - beq _08065632 - movs r0, 0x2 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_08065632: - adds r0, r4, 0 - bl AnimateSprite - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl sub_80655A8 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x05_0 - - thumb_func_start MovementActionFunc_x06_0 -MovementActionFunc_x06_0: @ 806564C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r1, [r5, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x3 - beq _0806566E - movs r0, 0x3 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0806566E: - adds r0, r4, 0 - bl AnimateSprite - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x3 - bl sub_80655A8 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x06_0 - - thumb_func_start MovementActionFunc_x07_0 -MovementActionFunc_x07_0: @ 8065688 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r1, [r5, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x4 - beq _080656AA - movs r0, 0x4 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_080656AA: - adds r0, r4, 0 - bl AnimateSprite - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x4 - bl sub_80655A8 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x07_0 - - thumb_func_start sub_80656C4 -sub_80656C4: @ 80656C4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r6, r1, 0 - adds r1, r2, 0 - adds r4, r3, 0 - ldr r5, [sp, 0x14] - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - bl ObjectEventSetDirection - mov r0, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl npc_apply_anim_looping - adds r2, r6, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - strh r0, [r6, 0x32] - strh r5, [r6, 0x34] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80656C4 - - thumb_func_start MovementActionFunc_x25_1 -MovementActionFunc_x25_1: @ 806570C - push {lr} - ldrh r0, [r1, 0x34] - subs r0, 0x1 - strh r0, [r1, 0x34] - lsls r0, 16 - cmp r0, 0 - beq _0806571E - movs r0, 0 - b _08065730 -_0806571E: - movs r0, 0x2 - strh r0, [r1, 0x32] - adds r2, r1, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 -_08065730: - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x25_1 - - thumb_func_start MovementActionFunc_x21_1 -MovementActionFunc_x21_1: @ 8065734 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrh r1, [r4, 0x34] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806575E - adds r3, r4, 0 - adds r3, 0x2C - ldrb r2, [r3] - lsls r1, r2, 26 - lsrs r1, 26 - adds r1, 0x1 - movs r0, 0x3F - ands r1, r0 - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0806575E: - adds r0, r5, 0 - adds r1, r4, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x21_1 - - thumb_func_start MovementActionFunc_x21_0 -MovementActionFunc_x21_0: @ 8065770 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - bl get_go_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x20 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x21_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x21_0 - - thumb_func_start MovementActionFunc_x22_0 -MovementActionFunc_x22_0: @ 80657A8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - bl get_go_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x20 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x21_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x22_0 - - thumb_func_start MovementActionFunc_x23_0 -MovementActionFunc_x23_0: @ 80657E0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x3 - bl get_go_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x20 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x21_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x23_0 - - thumb_func_start MovementActionFunc_x24_0 -MovementActionFunc_x24_0: @ 8065818 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x4 - bl get_go_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x20 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x21_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x24_0 - - thumb_func_start MovementActionFunc_x25_0 -MovementActionFunc_x25_0: @ 8065850 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - bl get_go_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x10 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x25_0 - - thumb_func_start MovementActionFunc_x26_0 -MovementActionFunc_x26_0: @ 8065888 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - bl get_go_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x10 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x26_0 - - thumb_func_start MovementActionFunc_x27_0 -MovementActionFunc_x27_0: @ 80658C0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x3 - bl get_go_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x10 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x27_0 - - thumb_func_start MovementActionFunc_x28_0 -MovementActionFunc_x28_0: @ 80658F8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x4 - bl get_go_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x10 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x28_0 - - thumb_func_start MovementActionFunc_x29_0 -MovementActionFunc_x29_0: @ 8065930 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - bl get_go_fast_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x29_0 - - thumb_func_start MovementActionFunc_x2A_0 -MovementActionFunc_x2A_0: @ 8065968 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - bl get_go_fast_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x2A_0 - - thumb_func_start MovementActionFunc_x2B_0 -MovementActionFunc_x2B_0: @ 80659A0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x3 - bl get_go_fast_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x2B_0 - - thumb_func_start MovementActionFunc_x2C_0 -MovementActionFunc_x2C_0: @ 80659D8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x4 - bl get_go_fast_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x2C_0 - - thumb_func_start MovementActionFunc_x2D_0 -MovementActionFunc_x2D_0: @ 8065A10 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - bl get_go_faster_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x4 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x2D_0 - - thumb_func_start MovementActionFunc_x2E_0 -MovementActionFunc_x2E_0: @ 8065A48 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - bl get_go_faster_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x4 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x2E_0 - - thumb_func_start MovementActionFunc_x2F_0 -MovementActionFunc_x2F_0: @ 8065A80 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x3 - bl get_go_faster_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x4 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x2F_0 - - thumb_func_start MovementActionFunc_x30_0 -MovementActionFunc_x30_0: @ 8065AB8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x4 - bl get_go_faster_image_anim_num - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x4 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x30_0 - - thumb_func_start MovementActionFunc_x31_0 -MovementActionFunc_x31_0: @ 8065AF0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0x2 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x31_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x31_0 - - thumb_func_start MovementActionFunc_x31_1 -MovementActionFunc_x31_1: @ 8065B10 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065B22 - movs r0, 0 - b _08065B28 -_08065B22: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065B28: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x31_1 - - thumb_func_start MovementActionFunc_x32_0 -MovementActionFunc_x32_0: @ 8065B30 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0x2 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x32_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x32_0 - - thumb_func_start MovementActionFunc_x32_1 -MovementActionFunc_x32_1: @ 8065B50 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065B62 - movs r0, 0 - b _08065B68 -_08065B62: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065B68: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x32_1 - - thumb_func_start MovementActionFunc_x33_0 -MovementActionFunc_x33_0: @ 8065B70 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0x2 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x33_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x33_0 - - thumb_func_start MovementActionFunc_x33_1 -MovementActionFunc_x33_1: @ 8065B90 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065BA2 - movs r0, 0 - b _08065BA8 -_08065BA2: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065BA8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x33_1 - - thumb_func_start MovementActionFunc_x34_0 -MovementActionFunc_x34_0: @ 8065BB0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0x2 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x34_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x34_0 - - thumb_func_start MovementActionFunc_x34_1 -MovementActionFunc_x34_1: @ 8065BD0 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065BE2 - movs r0, 0 - b _08065BE8 -_08065BE2: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065BE8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x34_1 - - thumb_func_start MovementActionFunc_x35_0 -MovementActionFunc_x35_0: @ 8065BF0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0x3 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x35_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x35_0 - - thumb_func_start MovementActionFunc_x35_1 -MovementActionFunc_x35_1: @ 8065C10 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065C22 - movs r0, 0 - b _08065C28 -_08065C22: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065C28: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x35_1 - - thumb_func_start MovementActionFunc_x36_0 -MovementActionFunc_x36_0: @ 8065C30 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0x3 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x36_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x36_0 - - thumb_func_start MovementActionFunc_x36_1 -MovementActionFunc_x36_1: @ 8065C50 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065C62 - movs r0, 0 - b _08065C68 -_08065C62: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065C68: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x36_1 - - thumb_func_start MovementActionFunc_x37_0 -MovementActionFunc_x37_0: @ 8065C70 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x37_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x37_0 - - thumb_func_start MovementActionFunc_x37_1 -MovementActionFunc_x37_1: @ 8065C90 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065CA2 - movs r0, 0 - b _08065CA8 -_08065CA2: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065CA8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x37_1 - - thumb_func_start MovementActionFunc_x38_0 -MovementActionFunc_x38_0: @ 8065CB0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0x3 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x38_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x38_0 - - thumb_func_start MovementActionFunc_x38_1 -MovementActionFunc_x38_1: @ 8065CD0 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065CE2 - movs r0, 0 - b _08065CE8 -_08065CE2: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065CE8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x38_1 - - thumb_func_start MovementActionFunc_x39_0 -MovementActionFunc_x39_0: @ 8065CF0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0x4 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x39_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x39_0 - - thumb_func_start MovementActionFunc_x39_1 -MovementActionFunc_x39_1: @ 8065D10 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065D22 - movs r0, 0 - b _08065D28 -_08065D22: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065D28: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x39_1 - - thumb_func_start MovementActionFunc_x3A_0 -MovementActionFunc_x3A_0: @ 8065D30 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0x4 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x3A_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3A_0 - - thumb_func_start MovementActionFunc_x3A_1 -MovementActionFunc_x3A_1: @ 8065D50 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065D62 - movs r0, 0 - b _08065D68 -_08065D62: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065D68: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3A_1 - - thumb_func_start MovementActionFunc_x3B_0 -MovementActionFunc_x3B_0: @ 8065D70 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0x4 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x3B_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3B_0 - - thumb_func_start MovementActionFunc_x3B_1 -MovementActionFunc_x3B_1: @ 8065D90 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065DA2 - movs r0, 0 - b _08065DA8 -_08065DA2: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065DA8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3B_1 - - thumb_func_start MovementActionFunc_x3C_0 -MovementActionFunc_x3C_0: @ 8065DB0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0x4 - bl do_go_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x3C_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3C_0 - - thumb_func_start MovementActionFunc_x3C_1 -MovementActionFunc_x3C_1: @ 8065DD0 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065DE2 - movs r0, 0 - b _08065DE8 -_08065DE2: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065DE8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3C_1 - - thumb_func_start do_run_south_anim -do_run_south_anim: @ 8065DF0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl do_run_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x3D_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end do_run_south_anim - - thumb_func_start MovementActionFunc_x3D_1 -MovementActionFunc_x3D_1: @ 8065E10 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065E22 - movs r0, 0 - b _08065E28 -_08065E22: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065E28: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3D_1 - - thumb_func_start do_run_north_anim -do_run_north_anim: @ 8065E30 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - bl do_run_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x3E_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end do_run_north_anim - - thumb_func_start MovementActionFunc_x3E_1 -MovementActionFunc_x3E_1: @ 8065E50 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065E62 - movs r0, 0 - b _08065E68 -_08065E62: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065E68: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3E_1 - - thumb_func_start do_run_west_anim -do_run_west_anim: @ 8065E70 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - bl do_run_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x3F_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end do_run_west_anim - - thumb_func_start MovementActionFunc_x3F_1 -MovementActionFunc_x3F_1: @ 8065E90 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065EA2 - movs r0, 0 - b _08065EA8 -_08065EA2: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065EA8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x3F_1 - - thumb_func_start do_run_east_anim -do_run_east_anim: @ 8065EB0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl do_run_anim - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x40_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end do_run_east_anim - - thumb_func_start MovementActionFunc_x40_1 -MovementActionFunc_x40_1: @ 8065ED0 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08065EE2 - movs r0, 0 - b _08065EE8 -_08065EE2: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065EE8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x40_1 - - thumb_func_start sub_8065EF0 -sub_8065EF0: @ 8065EF0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - lsls r5, r2, 24 - lsrs r5, 24 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - adds r0, r6, 0 - adds r1, r5, 0 - bl ObjectEventSetDirection - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r4, r0] - adds r0, r6, 0 - bl npc_coords_shift - mov r0, r8 - adds r1, r5, 0 - bl sub_8068CA4 - mov r2, r8 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x1 - mov r1, r8 - strh r0, [r1, 0x32] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8065EF0 - - thumb_func_start sub_8065F60 -sub_8065F60: @ 8065F60 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - bl sub_8065EF0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl get_run_image_anim_num - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_apply_anim_looping - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8065F60 - - thumb_func_start sub_8065F8C -sub_8065F8C: @ 8065F8C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl sub_8068CB4 - lsls r0, 24 - cmp r0, 0 - bne _08065FA2 - movs r0, 0 - b _08065FBE -_08065FA2: - adds r0, r4, 0 - bl npc_coords_shift_still - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 -_08065FBE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8065F8C - - thumb_func_start MovementActionFunc_x41_0 -MovementActionFunc_x41_0: @ 8065FC4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8065F60 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x41_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x41_0 - - thumb_func_start MovementActionFunc_x41_1 -MovementActionFunc_x41_1: @ 8065FE4 - push {r4,lr} - adds r4, r1, 0 - bl sub_8065F8C - lsls r0, 24 - cmp r0, 0 - bne _08065FF6 - movs r0, 0 - b _08065FFC -_08065FF6: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08065FFC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x41_1 - - thumb_func_start MovementActionFunc_x42_0 -MovementActionFunc_x42_0: @ 8066004 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - bl sub_8065F60 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x42_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x42_0 - - thumb_func_start MovementActionFunc_x42_1 -MovementActionFunc_x42_1: @ 8066024 - push {r4,lr} - adds r4, r1, 0 - bl sub_8065F8C - lsls r0, 24 - cmp r0, 0 - bne _08066036 - movs r0, 0 - b _0806603C -_08066036: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_0806603C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x42_1 - - thumb_func_start MovementActionFunc_x43_0 -MovementActionFunc_x43_0: @ 8066044 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - bl sub_8065F60 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x43_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x43_0 - - thumb_func_start MovementActionFunc_x43_1 -MovementActionFunc_x43_1: @ 8066064 - push {r4,lr} - adds r4, r1, 0 - bl sub_8065F8C - lsls r0, 24 - cmp r0, 0 - bne _08066076 - movs r0, 0 - b _0806607C -_08066076: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_0806607C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x43_1 - - thumb_func_start MovementActionFunc_x44_0 -MovementActionFunc_x44_0: @ 8066084 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8065F60 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x44_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x44_0 - - thumb_func_start MovementActionFunc_x44_1 -MovementActionFunc_x44_1: @ 80660A4 - push {r4,lr} - adds r4, r1, 0 - bl sub_8065F8C - lsls r0, 24 - cmp r0, 0 - bne _080660B6 - movs r0, 0 - b _080660BC -_080660B6: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080660BC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x44_1 - - thumb_func_start npc_set_direction_and_anim__an_proceed -npc_set_direction_and_anim__an_proceed: @ 80660C4 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - adds r1, r3, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - movs r2, 0 - bl obj_anim_image_set_and_seek - adds r0, r6, 0 - adds r1, r4, 0 - bl ObjectEventSetDirection - movs r0, 0x1 - strh r0, [r5, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end npc_set_direction_and_anim__an_proceed - - thumb_func_start MovementActionFunc_x45_0 -MovementActionFunc_x45_0: @ 80660F0 - push {lr} - ldrb r2, [r0, 0x18] - lsrs r2, 4 - adds r3, r1, 0 - adds r3, 0x2A - ldrb r3, [r3] - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x45_0 - - thumb_func_start MovementActionFunc_x45_1 -MovementActionFunc_x45_1: @ 8066108 - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl SpriteAnimEnded - lsls r0, 24 - cmp r0, 0 - bne _0806611C - movs r0, 0 - b _08066122 -_0806611C: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08066122: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x45_1 - - thumb_func_start sub_8066128 -sub_8066128: @ 8066128 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - lsls r4, r2, 24 - lsrs r4, 24 - movs r1, 0 - str r1, [sp] - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl sub_8064E3C - adds r0, r4, 0 - bl sub_8063480 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8066128 - - thumb_func_start MovementActionFunc_x46_0 -MovementActionFunc_x46_0: @ 806615C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8066128 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x46_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x46_0 - - thumb_func_start MovementActionFunc_x46_1 -MovementActionFunc_x46_1: @ 806617C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065040 - lsls r0, 24 - cmp r0, 0 - bne _08066190 - movs r0, 0 - b _0806619E -_08066190: - movs r0, 0x2 - strh r0, [r5, 0x32] - ldrb r1, [r4] - subs r0, 0x23 - ands r0, r1 - strb r0, [r4] - movs r0, 0x1 -_0806619E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x46_1 - - thumb_func_start MovementActionFunc_x47_0 -MovementActionFunc_x47_0: @ 80661A4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - bl sub_8066128 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x47_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x47_0 - - thumb_func_start MovementActionFunc_x47_1 -MovementActionFunc_x47_1: @ 80661C4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065040 - lsls r0, 24 - cmp r0, 0 - bne _080661D8 - movs r0, 0 - b _080661E6 -_080661D8: - movs r0, 0x2 - strh r0, [r5, 0x32] - ldrb r1, [r4] - subs r0, 0x23 - ands r0, r1 - strb r0, [r4] - movs r0, 0x1 -_080661E6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x47_1 - - thumb_func_start MovementActionFunc_x48_0 -MovementActionFunc_x48_0: @ 80661EC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - bl sub_8066128 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x48_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x48_0 - - thumb_func_start MovementActionFunc_x48_1 -MovementActionFunc_x48_1: @ 806620C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065040 - lsls r0, 24 - cmp r0, 0 - bne _08066220 - movs r0, 0 - b _0806622E -_08066220: - movs r0, 0x2 - strh r0, [r5, 0x32] - ldrb r1, [r4] - subs r0, 0x23 - ands r0, r1 - strb r0, [r4] - movs r0, 0x1 -_0806622E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x48_1 - - thumb_func_start MovementActionFunc_x49_0 -MovementActionFunc_x49_0: @ 8066234 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_8066128 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x49_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x49_0 - - thumb_func_start MovementActionFunc_x49_1 -MovementActionFunc_x49_1: @ 8066254 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065040 - lsls r0, 24 - cmp r0, 0 - bne _08066268 - movs r0, 0 - b _08066276 -_08066268: - movs r0, 0x2 - strh r0, [r5, 0x32] - ldrb r1, [r4] - subs r0, 0x23 - ands r0, r1 - strb r0, [r4] - movs r0, 0x1 -_08066276: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x49_1 - - thumb_func_start MovementActionFunc_xA6_0 -MovementActionFunc_xA6_0: @ 806627C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - bl sub_8066128 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_xA6_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA6_0 - - thumb_func_start MovementActionFunc_xA6_1 -MovementActionFunc_xA6_1: @ 806629C - push {r4,lr} - adds r4, r1, 0 - bl sub_8065040 - lsls r0, 24 - cmp r0, 0 - bne _080662AE - movs r0, 0 - b _080662B4 -_080662AE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080662B4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA6_1 - - thumb_func_start MovementActionFunc_xA7_0 -MovementActionFunc_xA7_0: @ 80662BC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - bl sub_8066128 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_xA7_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA7_0 - - thumb_func_start MovementActionFunc_xA7_1 -MovementActionFunc_xA7_1: @ 80662DC - push {r4,lr} - adds r4, r1, 0 - bl sub_8065040 - lsls r0, 24 - cmp r0, 0 - bne _080662EE - movs r0, 0 - b _080662F4 -_080662EE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080662F4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA7_1 - - thumb_func_start MovementActionFunc_xA8_0 -MovementActionFunc_xA8_0: @ 80662FC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - bl sub_8066128 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_xA8_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA8_0 - - thumb_func_start MovementActionFunc_xA8_1 -MovementActionFunc_xA8_1: @ 806631C - push {r4,lr} - adds r4, r1, 0 - bl sub_8065040 - lsls r0, 24 - cmp r0, 0 - bne _0806632E - movs r0, 0 - b _08066334 -_0806632E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08066334: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA8_1 - - thumb_func_start MovementActionFunc_xA9_0 -MovementActionFunc_xA9_0: @ 806633C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - bl sub_8066128 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_xA9_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA9_0 - - thumb_func_start MovementActionFunc_xA9_1 -MovementActionFunc_xA9_1: @ 806635C - push {r4,lr} - adds r4, r1, 0 - bl sub_8065040 - lsls r0, 24 - cmp r0, 0 - bne _0806636E - movs r0, 0 - b _08066374 -_0806636E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08066374: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA9_1 - - thumb_func_start MovementActionFunc_x4A_0 -MovementActionFunc_x4A_0: @ 806637C - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080663C6 - movs r1, 0x10 - ldrsh r0, [r5, r1] - movs r2, 0x12 - ldrsh r1, [r5, r2] - ldr r4, _080663D4 @ =gObjectEvents - mov r2, sp - ldrb r2, [r2] - lsls r3, r2, 3 - adds r3, r2 - lsls r3, 2 - adds r3, r4 - movs r4, 0x10 - ldrsh r2, [r3, r4] - movs r4, 0x12 - ldrsh r3, [r3, r4] - bl sub_80635DC - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r6, 0 - bl FaceDirection -_080663C6: - movs r0, 0x1 - strh r0, [r6, 0x32] - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080663D4: .4byte gObjectEvents - thumb_func_end MovementActionFunc_x4A_0 - - thumb_func_start MovementActionFunc_x4B_0 -MovementActionFunc_x4B_0: @ 80663D8 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0806642A - movs r1, 0x10 - ldrsh r0, [r5, r1] - movs r2, 0x12 - ldrsh r1, [r5, r2] - ldr r4, _08066438 @ =gObjectEvents - mov r2, sp - ldrb r2, [r2] - lsls r3, r2, 3 - adds r3, r2 - lsls r3, 2 - adds r3, r4 - movs r4, 0x10 - ldrsh r2, [r3, r4] - movs r4, 0x12 - ldrsh r3, [r3, r4] - bl sub_80635DC - lsls r0, 24 - lsrs r0, 24 - bl GetOppositeDirection - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r6, 0 - bl FaceDirection -_0806642A: - movs r0, 0x1 - strh r0, [r6, 0x32] - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08066438: .4byte gObjectEvents - thumb_func_end MovementActionFunc_x4B_0 - - thumb_func_start MovementActionFunc_x4C_0 -MovementActionFunc_x4C_0: @ 806643C - ldrb r2, [r0, 0x1] - movs r3, 0x2 - orrs r2, r3 - strb r2, [r0, 0x1] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x4C_0 - - thumb_func_start MovementActionFunc_x4D_0 -MovementActionFunc_x4D_0: @ 806644C - ldrb r3, [r0, 0x1] - movs r2, 0x3 - negs r2, r2 - ands r2, r3 - strb r2, [r0, 0x1] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x4D_0 - - thumb_func_start MovementActionFunc_x4E_0 -MovementActionFunc_x4E_0: @ 806645C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x1 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x4E_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x4E_0 - - thumb_func_start MovementActionFunc_x4E_1 -MovementActionFunc_x4E_1: @ 8066488 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _0806649C - movs r0, 0 - b _080664AC -_0806649C: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080664AC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x4E_1 - - thumb_func_start MovementActionFunc_x4F_0 -MovementActionFunc_x4F_0: @ 80664B4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x1 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x4F_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x4F_0 - - thumb_func_start MovementActionFunc_x4F_1 -MovementActionFunc_x4F_1: @ 80664E0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080664F4 - movs r0, 0 - b _08066504 -_080664F4: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08066504: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x4F_1 - - thumb_func_start MovementActionFunc_x50_0 -MovementActionFunc_x50_0: @ 806650C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x3 - movs r3, 0x1 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x50_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x50_0 - - thumb_func_start MovementActionFunc_x50_1 -MovementActionFunc_x50_1: @ 8066538 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _0806654C - movs r0, 0 - b _0806655C -_0806654C: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_0806655C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x50_1 - - thumb_func_start MovementActionFunc_x51_0 -MovementActionFunc_x51_0: @ 8066564 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x4 - movs r3, 0x1 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x51_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x51_0 - - thumb_func_start MovementActionFunc_x51_1 -MovementActionFunc_x51_1: @ 8066590 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080665A4 - movs r0, 0 - b _080665B4 -_080665A4: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080665B4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x51_1 - - thumb_func_start MovementActionFunc_x52_0 -MovementActionFunc_x52_0: @ 80665BC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x52_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x52_0 - - thumb_func_start MovementActionFunc_x52_1 -MovementActionFunc_x52_1: @ 80665E8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080665FC - movs r0, 0 - b _0806660C -_080665FC: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_0806660C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x52_1 - - thumb_func_start MovementActionFunc_x53_0 -MovementActionFunc_x53_0: @ 8066614 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x53_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x53_0 - - thumb_func_start MovementActionFunc_x53_1 -MovementActionFunc_x53_1: @ 8066640 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08066654 - movs r0, 0 - b _08066664 -_08066654: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08066664: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x53_1 - - thumb_func_start MovementActionFunc_x54_0 -MovementActionFunc_x54_0: @ 806666C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x54_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x54_0 - - thumb_func_start MovementActionFunc_x54_1 -MovementActionFunc_x54_1: @ 8066698 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080666AC - movs r0, 0 - b _080666BC -_080666AC: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080666BC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x54_1 - - thumb_func_start MovementActionFunc_x55_0 -MovementActionFunc_x55_0: @ 80666C4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x4 - movs r3, 0 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x55_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x55_0 - - thumb_func_start MovementActionFunc_x55_1 -MovementActionFunc_x55_1: @ 80666F0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08066704 - movs r0, 0 - b _08066714 -_08066704: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08066714: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x55_1 - - thumb_func_start MovementActionFunc_x56_0 -MovementActionFunc_x56_0: @ 806671C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x56_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x56_0 - - thumb_func_start MovementActionFunc_x56_1 -MovementActionFunc_x56_1: @ 8066748 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065058 - lsls r0, 24 - cmp r0, 0 - bne _0806675C - movs r0, 0 - b _0806676C -_0806675C: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_0806676C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x56_1 - - thumb_func_start MovementActionFunc_x57_0 -MovementActionFunc_x57_0: @ 8066774 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x57_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x57_0 - - thumb_func_start MovementActionFunc_x57_1 -MovementActionFunc_x57_1: @ 80667A0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065058 - lsls r0, 24 - cmp r0, 0 - bne _080667B4 - movs r0, 0 - b _080667C4 -_080667B4: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080667C4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x57_1 - - thumb_func_start MovementActionFunc_x58_0 -MovementActionFunc_x58_0: @ 80667CC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x58_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x58_0 - - thumb_func_start MovementActionFunc_x58_1 -MovementActionFunc_x58_1: @ 80667F8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065058 - lsls r0, 24 - cmp r0, 0 - bne _0806680C - movs r0, 0 - b _0806681C -_0806680C: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_0806681C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x58_1 - - thumb_func_start MovementActionFunc_x59_0 -MovementActionFunc_x59_0: @ 8066824 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x4 - movs r3, 0 - bl maybe_shadow_1 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x59_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x59_0 - - thumb_func_start MovementActionFunc_x59_1 -MovementActionFunc_x59_1: @ 8066850 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065058 - lsls r0, 24 - cmp r0, 0 - bne _08066864 - movs r0, 0 - b _08066874 -_08066864: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08066874: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x59_1 - - thumb_func_start MovementActionFunc_x5A_0 -MovementActionFunc_x5A_0: @ 806687C - push {lr} - ldr r3, _08066890 @ =gInitialMovementTypeFacingDirections - ldrb r2, [r0, 0x6] - adds r2, r3 - ldrb r2, [r2] - bl FaceDirection - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08066890: .4byte gInitialMovementTypeFacingDirections - thumb_func_end MovementActionFunc_x5A_0 - - thumb_func_start MovementActionFunc_x5B_0 -MovementActionFunc_x5B_0: @ 8066894 - push {lr} - movs r2, 0x1 - movs r3, 0x14 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x5B_0 - - thumb_func_start MovementActionFunc_x5C_0 -MovementActionFunc_x5C_0: @ 80668A4 - ldrb r3, [r0, 0x3] - movs r2, 0x3 - negs r2, r2 - ands r2, r3 - strb r2, [r0, 0x3] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x5C_0 - - thumb_func_start MovementActionFunc_x5D_0 -MovementActionFunc_x5D_0: @ 80668B4 - ldrb r2, [r0, 0x3] - movs r3, 0x2 - orrs r2, r3 - strb r2, [r0, 0x3] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x5D_0 - - thumb_func_start MovementActionFunc_x5E_0 -MovementActionFunc_x5E_0: @ 80668C4 - ldrb r2, [r0, 0x1] - movs r3, 0x10 - orrs r2, r3 - strb r2, [r0, 0x1] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x5E_0 - - thumb_func_start MovementActionFunc_x5F_0 -MovementActionFunc_x5F_0: @ 80668D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldrb r1, [r0, 0xC] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 4 - ldrb r2, [r4, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x1 - strh r0, [r5, 0x32] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x5F_0 - - thumb_func_start MovementActionFunc_x60_0 -MovementActionFunc_x60_0: @ 8066900 - ldrb r2, [r0, 0x1] - movs r3, 0x20 - orrs r2, r3 - strb r2, [r0, 0x1] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x60_0 - - thumb_func_start MovementActionFunc_x61_0 -MovementActionFunc_x61_0: @ 8066910 - ldrb r3, [r0, 0x1] - movs r2, 0x21 - negs r2, r2 - ands r2, r3 - strb r2, [r0, 0x1] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x61_0 - - thumb_func_start do_exclamation_mark_bubble_1 -do_exclamation_mark_bubble_1: @ 8066920 - push {r4,lr} - adds r4, r1, 0 - ldr r1, _08066940 @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl ObjectEventGetLocalIdAndMap - movs r0, 0 @ FLDEFF_EXCLAMATION_MARK_ICON - bl FieldEffectStart - movs r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066940: .4byte gFieldEffectArguments - thumb_func_end do_exclamation_mark_bubble_1 - - thumb_func_start do_exclamation_mark_bubble_2 -do_exclamation_mark_bubble_2: @ 8066944 - push {r4,lr} - adds r4, r1, 0 - ldr r1, _08066964 @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl ObjectEventGetLocalIdAndMap - movs r0, 0x21 @ FLDEFF_QUESTION_MARK_ICON - bl FieldEffectStart - movs r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066964: .4byte gFieldEffectArguments - thumb_func_end do_exclamation_mark_bubble_2 - - thumb_func_start do_x_bubble -do_x_bubble: @ 8066968 - push {r4,lr} - adds r4, r1, 0 - ldr r1, _08066988 @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl ObjectEventGetLocalIdAndMap - movs r0, 0x2E @ FLDEFF_X_ICON - bl FieldEffectStart - movs r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066988: .4byte gFieldEffectArguments - thumb_func_end do_x_bubble - - thumb_func_start do_double_excl_bubble -do_double_excl_bubble: @ 806698C - push {r4,lr} - adds r4, r1, 0 - ldr r1, _080669AC @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl ObjectEventGetLocalIdAndMap - movs r0, 0x42 @ FLDEFF_DOUBLE_EXCL_MARK_ICON - bl FieldEffectStart - movs r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080669AC: .4byte gFieldEffectArguments - thumb_func_end do_double_excl_bubble - - thumb_func_start do_smile_bubble -do_smile_bubble: @ 80669B0 - push {r4,lr} - adds r4, r1, 0 - ldr r1, _080669D0 @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl ObjectEventGetLocalIdAndMap - movs r0, 0x40 @ FLDEFF_SMILEY_FACE_ICON - bl FieldEffectStart - movs r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080669D0: .4byte gFieldEffectArguments - thumb_func_end do_smile_bubble - - thumb_func_start MovementActionFunc_x67_0 -MovementActionFunc_x67_0: @ 80669D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x6] - cmp r0, 0x3F - bne _080669EA - adds r0, r4, 0 - bl MovementAction_RevealTrainer_RunTrainerSeeFuncList - movs r0, 0 - b _08066A12 -_080669EA: - subs r0, 0x39 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08066A0C - adds r0, r4, 0 - bl sub_80DCBB8 - movs r0, 0x1 - strh r0, [r5, 0x32] - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x67_1 - lsls r0, 24 - lsrs r0, 24 - b _08066A12 -_08066A0C: - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08066A12: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x67_0 - - thumb_func_start MovementActionFunc_x67_1 -MovementActionFunc_x67_1: @ 8066A18 - push {r4,lr} - adds r4, r1, 0 - bl sub_80DCBE0 - lsls r0, 24 - cmp r0, 0 - bne _08066A2A - movs r0, 0 - b _08066A30 -_08066A2A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08066A30: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x67_1 - - thumb_func_start MovementActionFunc_x68_0 -MovementActionFunc_x68_0: @ 8066A38 - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl obj_anim_image_set_and_seek - movs r0, 0x1 - strh r0, [r4, 0x32] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x68_0 - - thumb_func_start MovementActionFunc_x68_1 -MovementActionFunc_x68_1: @ 8066A54 - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl SpriteAnimEnded - lsls r0, 24 - cmp r0, 0 - beq _08066A70 - adds r0, r4, 0 - movs r1, 0x20 - bl SetObjectEventStepTimer - movs r0, 0x2 - strh r0, [r4, 0x32] -_08066A70: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x68_1 - - thumb_func_start MovementActionFunc_x68_2 -MovementActionFunc_x68_2: @ 8066A78 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r2, [r4, 0x1] - lsls r1, r2, 26 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - lsls r1, 5 - subs r0, 0x22 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - beq _08066AAA - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x3 - strh r0, [r5, 0x32] -_08066AAA: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x68_2 - - thumb_func_start MovementActionFunc_x69_0 -MovementActionFunc_x69_0: @ 8066AB4 - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl obj_anim_image_set_and_seek - movs r0, 0x1 - strh r0, [r4, 0x32] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x69_0 - - thumb_func_start MovementActionFunc_x69_1 -MovementActionFunc_x69_1: @ 8066AD0 - push {r4,lr} - adds r4, r1, 0 - adds r0, r4, 0 - bl SpriteAnimEnded - lsls r0, 24 - cmp r0, 0 - beq _08066AEC - adds r0, r4, 0 - movs r1, 0x20 - bl SetObjectEventStepTimer - movs r0, 0x2 - strh r0, [r4, 0x32] -_08066AEC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x69_1 - - thumb_func_start MovementActionFunc_x69_2 -MovementActionFunc_x69_2: @ 8066AF4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r2, [r4, 0x1] - lsls r1, r2, 26 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - lsls r1, 5 - subs r0, 0x22 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r5, 0 - bl RunObjectEventStepTimer - lsls r0, 24 - cmp r0, 0 - beq _08066B26 - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x3 - strh r0, [r5, 0x32] -_08066B26: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x69_2 - - thumb_func_start MovementActionFunc_x6A_0 -MovementActionFunc_x6A_0: @ 8066B30 - ldrb r2, [r0, 0x3] - movs r3, 0x4 - orrs r2, r3 - strb r2, [r0, 0x3] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x6A_0 - - thumb_func_start MovementActionFunc_x6B_0 -MovementActionFunc_x6B_0: @ 8066B40 - ldrb r3, [r0, 0x3] - movs r2, 0x5 - negs r2, r2 - ands r2, r3 - strb r2, [r0, 0x3] - movs r0, 0x1 - strh r0, [r1, 0x32] - bx lr - thumb_func_end MovementActionFunc_x6B_0 - - thumb_func_start MovementActionFunc_x6C_0 -MovementActionFunc_x6C_0: @ 8066B50 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r4, 0x42 - ldrb r1, [r4] - movs r0, 0x3F - ands r0, r1 - strb r0, [r4] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x6C_0 - - thumb_func_start MovementActionFunc_x6D_0 -MovementActionFunc_x6D_0: @ 8066B80 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r0, [r4, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - movs r3, 0 - adds r0, r4, 0 - bl CalcCenterToCornerVec - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x6D_0 - - thumb_func_start MovementActionFunc_x6E_0 -MovementActionFunc_x6E_0: @ 8066BB0 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8064830 - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnimIfDifferent - adds r0, r5, 0 - adds r1, r4, 0 - bl MovementActionFunc_x6E_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x6E_0 - - thumb_func_start MovementActionFunc_x6E_1 -MovementActionFunc_x6E_1: @ 8066BE4 - push {r4,lr} - adds r4, r1, 0 - bl an_walk_any_2 - lsls r0, 24 - cmp r0, 0 - bne _08066BF6 - movs r0, 0 - b _08066C08 -_08066BF6: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08066C08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x6E_1 - - thumb_func_start MovementActionFunc_x6F_0 -MovementActionFunc_x6F_0: @ 8066C10 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r2, 0x1 - bl sub_8064830 - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnimIfDifferent - adds r0, r5, 0 - adds r1, r4, 0 - bl MovementActionFunc_x6F_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x6F_0 - - thumb_func_start MovementActionFunc_x6F_1 -MovementActionFunc_x6F_1: @ 8066C44 - push {r4,lr} - adds r4, r1, 0 - bl an_walk_any_2 - lsls r0, 24 - cmp r0, 0 - bne _08066C56 - movs r0, 0 - b _08066C68 -_08066C56: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08066C68: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x6F_1 - - thumb_func_start sub_8066C70 -sub_8066C70: @ 8066C70 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - lsls r4, r2, 24 - lsrs r4, 24 - adds r1, r4, 0 - bl ObjectEventSetDirection - adds r0, r5, 0 - bl npc_coords_shift_still - adds r0, r4, 0 - bl sub_80634E0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r6, 0 - bl obj_npc_animation_step - adds r2, r6, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8066C70 - - thumb_func_start MovementActionFunc_x70_0 -MovementActionFunc_x70_0: @ 8066CB0 - push {lr} - movs r2, 0x1 - bl sub_8066C70 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x70_0 - - thumb_func_start MovementActionFunc_x71_0 -MovementActionFunc_x71_0: @ 8066CC0 - push {lr} - movs r2, 0x2 - bl sub_8066C70 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x71_0 - - thumb_func_start MovementActionFunc_x72_0 -MovementActionFunc_x72_0: @ 8066CD0 - push {lr} - movs r2, 0x3 - bl sub_8066C70 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x72_0 - - thumb_func_start MovementActionFunc_x73_0 -MovementActionFunc_x73_0: @ 8066CE0 - push {lr} - movs r2, 0x4 - bl sub_8066C70 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x73_0 - - thumb_func_start MovementActionFunc_x74_0 -MovementActionFunc_x74_0: @ 8066CF0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - bl sub_8063490 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x74_0 - - thumb_func_start MovementActionFunc_x75_0 -MovementActionFunc_x75_0: @ 8066D14 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - bl sub_8063490 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x75_0 - - thumb_func_start MovementActionFunc_x76_0 -MovementActionFunc_x76_0: @ 8066D38 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x3 - bl sub_8063490 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x76_0 - - thumb_func_start MovementActionFunc_x77_0 -MovementActionFunc_x77_0: @ 8066D5C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x4 - bl sub_8063490 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x77_0 - - thumb_func_start MovementActionFunc_x78_0 -MovementActionFunc_x78_0: @ 8066D80 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - bl sub_80634B0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x78_0 - - thumb_func_start MovementActionFunc_x79_0 -MovementActionFunc_x79_0: @ 8066DA4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - bl sub_80634B0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x79_0 - - thumb_func_start MovementActionFunc_x7A_0 -MovementActionFunc_x7A_0: @ 8066DC8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x3 - bl sub_80634B0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7A_0 - - thumb_func_start MovementActionFunc_x7B_0 -MovementActionFunc_x7B_0: @ 8066DEC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x4 - bl sub_80634B0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7B_0 - - thumb_func_start MovementActionFunc_x7B_3 -MovementActionFunc_x7B_3: @ 8066E10 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - bl sub_80634D0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7B_3 - - thumb_func_start MovementActionFunc_x7B_6 -MovementActionFunc_x7B_6: @ 8066E34 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - bl sub_80634D0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7B_6 - - thumb_func_start MovementActionFunc_x7B_9 -MovementActionFunc_x7B_9: @ 8066E58 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x3 - bl sub_80634D0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7B_9 - - thumb_func_start MovementActionFunc_x7B_12 -MovementActionFunc_x7B_12: @ 8066E7C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x4 - bl sub_80634D0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl npc_set_direction_and_anim__an_proceed - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7B_12 - - thumb_func_start sub_8066EA0 -sub_8066EA0: @ 8066EA0 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - ldr r0, [sp, 0x14] - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r0, r6, 0 - adds r2, r4, 0 - bl sub_8064E3C - adds r0, r4, 0 - bl sub_8063490 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnimIfDifferent - adds r0, r6, 0 - bl DoShadowFieldEffect - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8066EA0 - - thumb_func_start MovementActionFunc_x7C_0 -MovementActionFunc_x7C_0: @ 8066EE4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x7C_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7C_0 - - thumb_func_start MovementActionFunc_x7C_1 -MovementActionFunc_x7C_1: @ 8066F10 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08066F24 - movs r0, 0 - b _08066F34 -_08066F24: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08066F34: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7C_1 - - thumb_func_start MovementActionFunc_x7D_0 -MovementActionFunc_x7D_0: @ 8066F3C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x7D_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7D_0 - - thumb_func_start MovementActionFunc_x7D_1 -MovementActionFunc_x7D_1: @ 8066F68 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08066F7C - movs r0, 0 - b _08066F8C -_08066F7C: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08066F8C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7D_1 - - thumb_func_start MovementActionFunc_x7E_0 -MovementActionFunc_x7E_0: @ 8066F94 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x7E_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7E_0 - - thumb_func_start MovementActionFunc_x7E_1 -MovementActionFunc_x7E_1: @ 8066FC0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08066FD4 - movs r0, 0 - b _08066FE4 -_08066FD4: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08066FE4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7E_1 - - thumb_func_start MovementActionFunc_x7F_0 -MovementActionFunc_x7F_0: @ 8066FEC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x4 - movs r3, 0 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x7F_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7F_0 - - thumb_func_start MovementActionFunc_x7F_1 -MovementActionFunc_x7F_1: @ 8067018 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _0806702C - movs r0, 0 - b _0806703C -_0806702C: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_0806703C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x7F_1 - - thumb_func_start MovementActionFunc_x80_0 -MovementActionFunc_x80_0: @ 8067044 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x1 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x80_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x80_0 - - thumb_func_start MovementActionFunc_x80_1 -MovementActionFunc_x80_1: @ 8067070 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08067084 - movs r0, 0 - b _08067094 -_08067084: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08067094: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x80_1 - - thumb_func_start MovementActionFunc_x81_0 -MovementActionFunc_x81_0: @ 806709C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x1 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x81_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x81_0 - - thumb_func_start MovementActionFunc_x81_1 -MovementActionFunc_x81_1: @ 80670C8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080670DC - movs r0, 0 - b _080670EC -_080670DC: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080670EC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x81_1 - - thumb_func_start MovementActionFunc_x82_0 -MovementActionFunc_x82_0: @ 80670F4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x82_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x82_0 - - thumb_func_start MovementActionFunc_x82_1 -MovementActionFunc_x82_1: @ 8067120 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08067134 - movs r0, 0 - b _08067144 -_08067134: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_08067144: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x82_1 - - thumb_func_start MovementActionFunc_x83_0 -MovementActionFunc_x83_0: @ 806714C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x4 - movs r3, 0x1 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x83_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x83_0 - - thumb_func_start MovementActionFunc_x83_1 -MovementActionFunc_x83_1: @ 8067178 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _0806718C - movs r0, 0 - b _0806719C -_0806718C: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_0806719C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x83_1 - - thumb_func_start MovementActionFunc_x84_0 -MovementActionFunc_x84_0: @ 80671A4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x84_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x84_0 - - thumb_func_start MovementActionFunc_x84_1 -MovementActionFunc_x84_1: @ 80671D0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080671E4 - movs r0, 0 - b _080671F4 -_080671E4: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080671F4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x84_1 - - thumb_func_start MovementActionFunc_x85_0 -MovementActionFunc_x85_0: @ 80671FC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x85_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x85_0 - - thumb_func_start MovementActionFunc_x85_1 -MovementActionFunc_x85_1: @ 8067228 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _0806723C - movs r0, 0 - b _0806724C -_0806723C: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_0806724C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x85_1 - - thumb_func_start MovementActionFunc_x86_0 -MovementActionFunc_x86_0: @ 8067254 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x3 - movs r3, 0x2 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x86_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x86_0 - - thumb_func_start MovementActionFunc_x86_1 -MovementActionFunc_x86_1: @ 8067280 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _08067294 - movs r0, 0 - b _080672A4 -_08067294: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080672A4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x86_1 - - thumb_func_start MovementActionFunc_x87_0 -MovementActionFunc_x87_0: @ 80672AC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x4 - movs r3, 0x2 - bl sub_8066EA0 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x87_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x87_0 - - thumb_func_start MovementActionFunc_x87_1 -MovementActionFunc_x87_1: @ 80672D8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8065028 - lsls r0, 24 - cmp r0, 0 - bne _080672EC - movs r0, 0 - b _080672FC -_080672EC: - ldrb r0, [r4, 0x2] - movs r1, 0x41 - negs r1, r1 - ands r1, r0 - strb r1, [r4, 0x2] - movs r0, 0x2 - strh r0, [r5, 0x32] - movs r0, 0x1 -_080672FC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x87_1 - - thumb_func_start MovementActionFunc_x88_0 -MovementActionFunc_x88_0: @ 8067304 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x1 - bl sub_80634E0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x88_0 - - thumb_func_start MovementActionFunc_x89_0 -MovementActionFunc_x89_0: @ 806733C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x2 - bl sub_80634E0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x89_0 - - thumb_func_start MovementActionFunc_x8A_0 -MovementActionFunc_x8A_0: @ 8067374 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x3 - bl sub_80634E0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8A_0 - - thumb_func_start MovementActionFunc_x8B_0 -MovementActionFunc_x8B_0: @ 80673AC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0x4 - bl sub_80634E0 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x4 - bl sub_80656C4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x25_1 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8B_0 - - thumb_func_start sub_80673E4 -sub_80673E4: @ 80673E4 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - bl sub_8064678 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_8063490 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0 - bl SeekSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80673E4 - - thumb_func_start MovementActionFunc_x8C_0 -MovementActionFunc_x8C_0: @ 806741C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0x1 - bl sub_80673E4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x8C_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8C_0 - - thumb_func_start MovementActionFunc_x8C_1 -MovementActionFunc_x8C_1: @ 806743C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0806744E - movs r0, 0 - b _08067454 -_0806744E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08067454: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8C_1 - - thumb_func_start MovementActionFunc_x8D_0 -MovementActionFunc_x8D_0: @ 806745C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl sub_80673E4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x8D_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8D_0 - - thumb_func_start MovementActionFunc_x8D_1 -MovementActionFunc_x8D_1: @ 806747C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0806748E - movs r0, 0 - b _08067494 -_0806748E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08067494: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8D_1 - - thumb_func_start MovementActionFunc_x8E_0 -MovementActionFunc_x8E_0: @ 806749C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_80673E4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x8E_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8E_0 - - thumb_func_start MovementActionFunc_x8E_1 -MovementActionFunc_x8E_1: @ 80674BC - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _080674CE - movs r0, 0 - b _080674D4 -_080674CE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080674D4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8E_1 - - thumb_func_start MovementActionFunc_x8F_0 -MovementActionFunc_x8F_0: @ 80674DC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0x1 - bl sub_80673E4 - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x8F_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8F_0 - - thumb_func_start MovementActionFunc_x8F_1 -MovementActionFunc_x8F_1: @ 80674FC - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0806750E - movs r0, 0 - b _08067514 -_0806750E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08067514: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x8F_1 - - thumb_func_start sub_806751C -sub_806751C: @ 806751C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - bl sub_8064678 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_80634E0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_apply_anim_looping - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806751C - - thumb_func_start MovementActionFunc_x90_0 -MovementActionFunc_x90_0: @ 806754C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0x1 - bl sub_806751C - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x90_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x90_0 - - thumb_func_start MovementActionFunc_x90_1 -MovementActionFunc_x90_1: @ 806756C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0806757E - movs r0, 0 - b _08067584 -_0806757E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08067584: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x90_1 - - thumb_func_start MovementActionFunc_x91_0 -MovementActionFunc_x91_0: @ 806758C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl sub_806751C - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x91_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x91_0 - - thumb_func_start MovementActionFunc_x91_1 -MovementActionFunc_x91_1: @ 80675AC - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _080675BE - movs r0, 0 - b _080675C4 -_080675BE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080675C4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x91_1 - - thumb_func_start MovementActionFunc_x92_0 -MovementActionFunc_x92_0: @ 80675CC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806751C - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x92_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x92_0 - - thumb_func_start MovementActionFunc_x92_1 -MovementActionFunc_x92_1: @ 80675EC - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _080675FE - movs r0, 0 - b _08067604 -_080675FE: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08067604: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x92_1 - - thumb_func_start MovementActionFunc_x93_0 -MovementActionFunc_x93_0: @ 806760C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0x1 - bl sub_806751C - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x93_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x93_0 - - thumb_func_start MovementActionFunc_x93_1 -MovementActionFunc_x93_1: @ 806762C - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0806763E - movs r0, 0 - b _08067644 -_0806763E: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08067644: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x93_1 - - thumb_func_start sub_806764C -sub_806764C: @ 806764C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - bl sub_8064678 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_80634C0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_apply_anim_looping - adds r0, r5, 0 - movs r1, 0 - bl SeekSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806764C - - thumb_func_start MovementActionFunc_x94_0 -MovementActionFunc_x94_0: @ 8067684 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0x1 - bl sub_806764C - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x94_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x94_0 - - thumb_func_start MovementActionFunc_x94_1 -MovementActionFunc_x94_1: @ 80676A4 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _080676B6 - movs r0, 0 - b _080676BC -_080676B6: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080676BC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x94_1 - - thumb_func_start MovementActionFunc_x95_0 -MovementActionFunc_x95_0: @ 80676C4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl sub_806764C - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x95_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x95_0 - - thumb_func_start MovementActionFunc_x95_1 -MovementActionFunc_x95_1: @ 80676E4 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _080676F6 - movs r0, 0 - b _080676FC -_080676F6: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080676FC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x95_1 - - thumb_func_start MovementActionFunc_x96_0 -MovementActionFunc_x96_0: @ 8067704 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806764C - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x96_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x96_0 - - thumb_func_start MovementActionFunc_x96_1 -MovementActionFunc_x96_1: @ 8067724 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08067736 - movs r0, 0 - b _0806773C -_08067736: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_0806773C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x96_1 - - thumb_func_start MovementActionFunc_x97_0 -MovementActionFunc_x97_0: @ 8067744 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0x1 - bl sub_806764C - adds r0, r4, 0 - adds r1, r5, 0 - bl MovementActionFunc_x97_1 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x97_0 - - thumb_func_start MovementActionFunc_x97_1 -MovementActionFunc_x97_1: @ 8067764 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _08067776 - movs r0, 0 - b _0806777C -_08067776: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_0806777C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x97_1 - - thumb_func_start MovementActionFunc_x98_0 -MovementActionFunc_x98_0: @ 8067784 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x14 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r5, 0x1] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x32] - strh r1, [r4, 0x36] - strh r1, [r4, 0x38] - strh r1, [r4, 0x3A] - strh r1, [r4, 0x3C] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x98_0 - - thumb_func_start MovementActionFunc_x98_1 -MovementActionFunc_x98_1: @ 80677C0 - adds r1, 0x3F - ldrb r0, [r1] - lsls r0, 27 - lsrs r0, 31 - bx lr - thumb_func_end MovementActionFunc_x98_1 - - thumb_func_start MovementActionFunc_x99_1 -MovementActionFunc_x99_1: @ 80677CC - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0x3C - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _08067854 - cmp r1, 0x1 - bgt _080677E4 - cmp r1, 0 - beq _080677EA - b _080678B6 -_080677E4: - cmp r1, 0x2 - beq _08067896 - b _080678B6 -_080677EA: - ldrh r0, [r4, 0x3A] - adds r0, 0xA - strh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _08067822 - strh r1, [r4, 0x3A] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - strh r0, [r4, 0x3C] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r5, 0x1] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] -_08067822: - ldr r1, _08067850 @ =gSineTable - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 1 - adds r0, r1 - asrs r0, 7 - negs r0, r0 - strh r0, [r4, 0x26] - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - lsls r1, 1 - ldrb r2, [r5] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5] - b _080678B6 - .align 2, 0 -_08067850: .4byte gSineTable -_08067854: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - movs r6, 0 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _0806788A - strh r6, [r4, 0x36] - adds r0, r4, 0 - movs r1, 0x14 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r5, 0x1] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - strh r6, [r4, 0x3C] - b _080678B6 -_0806788A: - ldrb r1, [r5] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r5] - b _080678B6 -_08067896: - ldrb r1, [r5] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r5] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x50 - ble _080678B6 - movs r0, 0 - strh r0, [r4, 0x36] - movs r0, 0x1 - b _080678B8 -_080678B6: - movs r0, 0 -_080678B8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x99_1 - - thumb_func_start MovementActionFunc_x9A_1 -MovementActionFunc_x9A_1: @ 80678C0 - push {r4,lr} - ldrh r2, [r1, 0x3C] - adds r2, 0x4 - movs r0, 0xFF - ands r2, r0 - strh r2, [r1, 0x3C] - ldr r3, _080678EC @ =gSineTable - movs r4, 0x3C - ldrsh r0, [r1, r4] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 23 - strh r0, [r1, 0x24] - movs r0, 0 - cmp r2, 0 - bne _080678E6 - movs r0, 0x1 -_080678E6: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080678EC: .4byte gSineTable - thumb_func_end MovementActionFunc_x9A_1 - - thumb_func_start MovementActionFunc_x9F_0 -MovementActionFunc_x9F_0: @ 80678F0 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0x1C - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r5, 0x1] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x1 - strh r0, [r4, 0x32] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_x9F_0 - - thumb_func_start MovementActionFunc_x9F_1 -MovementActionFunc_x9F_1: @ 8067924 - adds r1, 0x3F - ldrb r0, [r1] - lsls r0, 27 - lsrs r0, 31 - bx lr - thumb_func_end MovementActionFunc_x9F_1 - - thumb_func_start MovementActionFunc_x18_2 -MovementActionFunc_x18_2: @ 8067930 - movs r0, 0x1 - bx lr - thumb_func_end MovementActionFunc_x18_2 - - thumb_func_start MovementActionFunc_x00_1 -MovementActionFunc_x00_1: @ 8067934 - adds r1, 0x2C - ldrb r0, [r1] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1] - movs r0, 0x1 - bx lr - thumb_func_end MovementActionFunc_x00_1 - - thumb_func_start MovementActionFunc_xA4_0 -MovementActionFunc_xA4_0: @ 8067944 - movs r0, 0 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0 - bx lr - thumb_func_end MovementActionFunc_xA4_0 - - thumb_func_start MovementActionFunc_xA4_1 -MovementActionFunc_xA4_1: @ 8067954 - push {lr} - adds r2, r1, 0 - ldrh r0, [r2, 0x26] - subs r0, 0x8 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA0 - negs r1, r1 - cmp r0, r1 - bne _08067970 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] -_08067970: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA4_1 - - thumb_func_start MovementActionFunc_xA5_0 -MovementActionFunc_xA5_0: @ 8067978 - ldr r0, _08067988 @ =0x0000ff60 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0 - bx lr - .align 2, 0 -_08067988: .4byte 0x0000ff60 - thumb_func_end MovementActionFunc_xA5_0 - - thumb_func_start MovementActionFunc_xA5_1 -MovementActionFunc_xA5_1: @ 806798C - push {lr} - ldrh r0, [r1, 0x26] - adds r0, 0x8 - strh r0, [r1, 0x26] - lsls r0, 16 - cmp r0, 0 - bne _080679A0 - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] -_080679A0: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end MovementActionFunc_xA5_1 - - thumb_func_start MovementActionFunc_xA4_2 -MovementActionFunc_xA4_2: @ 80679A8 - movs r0, 0x1 - bx lr - thumb_func_end MovementActionFunc_xA4_2 - - thumb_func_start npc_obj_transfer_image_anim_pause_flag -npc_obj_transfer_image_anim_pause_flag: @ 80679AC - push {lr} - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r0, 0 - bge _080679C2 - adds r0, r1, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] -_080679C2: - pop {r0} - bx r0 - thumb_func_end npc_obj_transfer_image_anim_pause_flag - - thumb_func_start sub_80679C8 -sub_80679C8: @ 80679C8 - push {r4,lr} - adds r4, r0, 0 - ldrb r3, [r4, 0x1] - lsls r0, r3, 28 - cmp r0, 0 - bge _080679F0 - adds r2, r1, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - movs r1, 0x9 - negs r1, r1 - ands r0, r1 - strb r0, [r4, 0x1] -_080679F0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80679C8 - - thumb_func_start sub_80679F8 -sub_80679F8: @ 80679F8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_8067A10 - adds r0, r4, 0 - adds r1, r5, 0 - bl npc_update_obj_anim_flag - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80679F8 - - thumb_func_start sub_8067A10 -sub_8067A10: @ 8067A10 - push {r4-r7,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r1, [r5, 0x1] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - adds r7, r0, 0 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08067A74 - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldr r2, _08067A6C @ =gSpriteCoordOffsetX - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r1, [r4, 0x26] - ldrh r0, [r4, 0x22] - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldr r2, _08067A70 @ =gSpriteCoordOffsetY - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - b _08067A9C - .align 2, 0 -_08067A6C: .4byte gSpriteCoordOffsetX -_08067A70: .4byte gSpriteCoordOffsetY -_08067A74: - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r1, [r4, 0x26] - ldrh r0, [r4, 0x22] - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 -_08067A9C: - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r7, 0x8] - adds r0, r3 - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r0, [r7, 0xA] - adds r0, r2 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, _08067B00 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, _08067B04 @ =0x00000401 - ldr r4, _08067B08 @ =0x0000fff0 - cmp r1, r0 - bne _08067AC6 - ldrb r0, [r5, 0x8] - cmp r0, 0x1 - bne _08067AC6 - subs r4, 0x10 -_08067AC6: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _08067AD6 - lsls r1, r6, 16 - lsls r0, r4, 16 - cmp r1, r0 - bge _08067ADE -_08067AD6: - ldrb r0, [r5, 0x1] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5, 0x1] -_08067ADE: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _08067AF2 - lsls r0, r7, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08067AFA -_08067AF2: - ldrb r0, [r5, 0x1] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5, 0x1] -_08067AFA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08067B00: .4byte gSaveBlock1Ptr -_08067B04: .4byte 0x00000401 -_08067B08: .4byte 0x0000fff0 - thumb_func_end sub_8067A10 - - thumb_func_start npc_update_obj_anim_flag -npc_update_obj_anim_flag: @ 8067B0C - push {lr} - adds r2, r1, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x5 - negs r3, r3 - ands r3, r1 - strb r3, [r2] - ldrb r1, [r0, 0x1] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08067B2E - movs r1, 0x4 - adds r0, r3, 0 - orrs r0, r1 - strb r0, [r2] -_08067B2E: - pop {r0} - bx r0 - thumb_func_end npc_update_obj_anim_flag - - thumb_func_start GetAllGroundEffectFlags_OnSpawn -GetAllGroundEffectFlags_OnSpawn: @ 8067B34 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnSpawn - - thumb_func_start GetAllGroundEffectFlags_OnBeginStep -GetAllGroundEffectFlags_OnBeginStep: @ 8067B7C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Tracks - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnBeginStep - - thumb_func_start GetAllGroundEffectFlags_OnFinishStep -GetAllGroundEffectFlags_OnFinishStep: @ 8067BD4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Ripple - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Seaweed - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_JumpLanding - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnFinishStep - - thumb_func_start ObjectEventUpdateMetatileBehaviors -ObjectEventUpdateMetatileBehaviors: @ 8067C24 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1F] - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateMetatileBehaviors - - thumb_func_start GetGroundEffectFlags_Reflection -GetGroundEffectFlags_Reflection: @ 8067C4C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _08067C90 @ =gUnknown_83A7024 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - adds r0, r4, 0 - bl sub_8067F88 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08067C94 - ldrb r1, [r4, 0x2] - lsls r0, r1, 30 - cmp r0, 0 - blt _08067C9E - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x2] - subs r0, r2, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r5] - ldr r0, [r0] - orrs r1, r0 - str r1, [r5] - b _08067C9E - .align 2, 0 -_08067C90: .4byte gUnknown_83A7024 -_08067C94: - ldrb r1, [r4, 0x2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067C9E: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Reflection - - thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn -GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass_2 - lsls r0, 24 - cmp r0, 0 - beq _08067CC0 - ldr r0, [r4] - movs r1, 0x1 - orrs r0, r1 - str r0, [r4] -_08067CC0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep -GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass_2 - lsls r0, 24 - cmp r0, 0 - beq _08067CE0 - ldr r0, [r4] - movs r1, 0x2 - orrs r0, r1 - str r0, [r4] -_08067CE0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn -GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08067D00 - ldr r0, [r4] - movs r1, 0x4 - orrs r0, r1 - str r0, [r4] -_08067D00: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep -GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08067D20 - ldr r0, [r4] - movs r1, 0x8 - orrs r0, r1 - str r0, [r4] -_08067D20: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_Tracks -GetGroundEffectFlags_Tracks: @ 8067D28 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067D42 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 1 - b _08067D5E -_08067D42: - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsMB21OrSand - lsls r0, 24 - cmp r0, 0 - bne _08067D5A - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_5 - lsls r0, 24 - cmp r0, 0 - beq _08067D62 -_08067D5A: - ldr r0, [r5] - movs r1, 0x80 -_08067D5E: - orrs r0, r1 - str r0, [r5] -_08067D62: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Tracks - - thumb_func_start GetGroundEffectFlags_SandHeap -GetGroundEffectFlags_SandHeap: @ 8067D68 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067DA6 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067DA6 - ldrb r1, [r4, 0x2] - lsls r0, r1, 27 - cmp r0, 0 - blt _08067DB0 - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 4 - orrs r0, r1 - str r0, [r5] - b _08067DB0 -_08067DA6: - ldrb r1, [r4, 0x2] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067DB0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_SandHeap - - thumb_func_start GetGroundEffectFlags_ShallowFlowingWater -GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsWaterfallBottom - lsls r0, 24 - cmp r0, 0 - beq _08067DD6 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsWaterfallBottom - lsls r0, 24 - cmp r0, 0 - bne _08067DEE -_08067DD6: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse_10 - lsls r0, 24 - cmp r0, 0 - beq _08067E0C - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_10 - lsls r0, 24 - cmp r0, 0 - beq _08067E0C -_08067DEE: - ldrb r1, [r4, 0x2] - lsls r0, r1, 28 - cmp r0, 0 - blt _08067E16 - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x40 - orrs r0, r1 - str r0, [r5] - b _08067E16 -_08067E0C: - ldrb r1, [r4, 0x2] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067E16: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShallowFlowingWater - - thumb_func_start GetGroundEffectFlags_Puddle -GetGroundEffectFlags_Puddle: @ 8067E1C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E44 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E44 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - str r0, [r5] -_08067E44: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Puddle - - thumb_func_start GetGroundEffectFlags_Ripple -GetGroundEffectFlags_Ripple: @ 8067E4C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsPondWaterOrPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E66 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - str r0, [r4] -_08067E66: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Ripple - - thumb_func_start GetGroundEffectFlags_ShortGrass -GetGroundEffectFlags_ShortGrass: @ 8067E6C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse_8 - lsls r0, 24 - cmp r0, 0 - beq _08067EAA - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_8 - lsls r0, 24 - cmp r0, 0 - beq _08067EAA - ldrb r1, [r4, 0x2] - lsls r0, r1, 29 - cmp r0, 0 - blt _08067EB4 - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [r5] - b _08067EB4 -_08067EAA: - ldrb r1, [r4, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067EB4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShortGrass - - thumb_func_start GetGroundEffectFlags_HotSprings -GetGroundEffectFlags_HotSprings: @ 8067EBC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _08067EFA - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _08067EFA - ldrb r1, [r4, 0x2] - lsls r0, r1, 26 - cmp r0, 0 - blt _08067F04 - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 11 - orrs r0, r1 - str r0, [r5] - b _08067F04 -_08067EFA: - ldrb r1, [r4, 0x2] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067F04: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_HotSprings - - thumb_func_start GetGroundEffectFlags_Seaweed -GetGroundEffectFlags_Seaweed: @ 8067F0C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsMB22 - lsls r0, 24 - cmp r0, 0 - beq _08067F26 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r4] -_08067F26: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Seaweed - - thumb_func_start GetGroundEffectFlags_JumpLanding -GetGroundEffectFlags_JumpLanding: @ 8067F2C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r6, r1, 0 - ldr r0, [r7] - ldr r1, _08067F68 @ =0x02000020 - ands r0, r1 - cmp r0, 0x20 - bne _08067F7E - movs r5, 0 - ldr r0, _08067F6C @ =gUnknown_83A702C - mov r8, r0 -_08067F46: - lsls r4, r5, 2 - mov r0, r8 - adds r1, r4, r0 - ldrb r0, [r7, 0x1E] - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _08067F74 - ldr r0, _08067F70 @ =gUnknown_83A7044 - adds r0, r4, r0 - ldr r1, [r6] - ldr r0, [r0] - orrs r1, r0 - str r1, [r6] - b _08067F7E - .align 2, 0 -_08067F68: .4byte 0x02000020 -_08067F6C: .4byte gUnknown_83A702C -_08067F70: .4byte gUnknown_83A7044 -_08067F74: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08067F46 -_08067F7E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_JumpLanding - - thumb_func_start sub_8067F88 -sub_8067F88: @ 8067F88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - movs r4, 0 - movs r0, 0x1 - mov r10, r0 -_08067FA0: - movs r1, 0x10 - ldrsh r0, [r5, r1] - ldrh r1, [r5, 0x12] - add r1, r10 - lsls r4, 16 - asrs r6, r4, 16 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - mov r9, r4 - cmp r0, 0 - bne _080680BA - movs r3, 0x14 - ldrsh r0, [r5, r3] - ldrh r1, [r5, 0x16] - add r1, r10 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - movs r2, 0x1 - lsls r0, r2, 16 - asrs r1, r0, 16 - mov r8, r0 - cmp r2, r1 - bge _080680A8 - movs r0, 0x80 - lsls r0, 9 - asrs r7, r0, 16 -_08067FFC: - ldrh r0, [r5, 0x10] - lsls r1, r2, 16 - asrs r4, r1, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x12] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x10] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x12] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x14] - adds r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x16] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x14] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x16] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - mov r3, r8 - asrs r1, r3, 16 - cmp r0, r1 - blt _08067FFC -_080680A8: - movs r0, 0x80 - lsls r0, 9 - add r0, r9 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bge _080680B8 - b _08067FA0 -_080680B8: - movs r0, 0 -_080680BA: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8067F88 - - thumb_func_start GetReflectionTypeByMetatileBehavior -GetReflectionTypeByMetatileBehavior: @ 80680C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsIce - lsls r0, 24 - cmp r0, 0 - beq _080680DE - movs r0, 0x1 - b _080680F0 -_080680DE: - adds r0, r4, 0 - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - bne _080680EE - movs r0, 0 - b _080680F0 -_080680EE: - movs r0, 0x2 -_080680F0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetReflectionTypeByMetatileBehavior - - thumb_func_start GetLedgeJumpDirection -GetLedgeJumpDirection: @ 80680F8 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r4, 0 - beq _0806813E - cmp r4, 0x4 - bls _08068114 - subs r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 -_08068114: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r3, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08068144 @ =gUnknown_83A705C - lsls r1, r4, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068148 -_0806813E: - movs r0, 0 - b _0806814E - .align 2, 0 -_08068144: .4byte gUnknown_83A705C -_08068148: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 -_0806814E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLedgeJumpDirection - - thumb_func_start ObjectEventSetSpriteOamTableForLongGrass -ObjectEventSetSpriteOamTableForLongGrass: @ 8068154 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5] - lsls r0, 27 - cmp r0, 0 - blt _080681A8 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080681A8 - ldrb r0, [r5, 0x1F] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080681A8 - adds r4, 0x42 - ldrb r1, [r4] - movs r6, 0x40 - negs r6, r6 - adds r0, r6, 0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0xB] - lsrs r0, 4 - bl ZCoordToPriority - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080681A8 - ldrb r0, [r4] - adds r1, r6, 0 - ands r1, r0 - movs r0, 0x5 - orrs r1, r0 - strb r1, [r4] -_080681A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ObjectEventSetSpriteOamTableForLongGrass - - thumb_func_start IsZCoordMismatchAt -IsZCoordMismatchAt: @ 80681B0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 16 - lsrs r1, r2, 16 - cmp r4, 0 - beq _080681DE - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080681DE - cmp r0, 0xF - beq _080681DE - cmp r0, r4 - bne _080681E2 -_080681DE: - movs r0, 0 - b _080681E4 -_080681E2: - movs r0, 0x1 -_080681E4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsZCoordMismatchAt - - thumb_func_start ObjectEventUpdateZCoordAndPriority -ObjectEventUpdateZCoordAndPriority: @ 80681EC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x3] - lsls r0, 29 - cmp r0, 0 - blt _0806823A - adds r0, r4, 0 - bl ObjectEventUpdateZCoord - ldr r1, _08068240 @ =gUnknown_83A708C - ldrb r2, [r4, 0xB] - lsls r2, 24 - lsrs r0, r2, 28 - adds r0, r1 - ldrb r0, [r0] - adds r4, r5, 0 - adds r4, 0x42 - movs r1, 0x3F - ands r1, r0 - ldrb r3, [r4] - movs r0, 0x40 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - ldr r0, _08068244 @ =gUnknown_83A707C - lsrs r2, 28 - adds r2, r0 - movs r0, 0x3 - ldrb r1, [r2] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] -_0806823A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068240: .4byte gUnknown_83A708C -_08068244: .4byte gUnknown_83A707C - thumb_func_end ObjectEventUpdateZCoordAndPriority - - thumb_func_start InitObjectPriorityByZCoord -InitObjectPriorityByZCoord: @ 8068248 - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0806828C @ =gUnknown_83A708C - adds r2, r1, r2 - ldrb r2, [r2] - movs r3, 0x42 - adds r3, r0 - mov r12, r3 - movs r3, 0x3F - ands r3, r2 - mov r2, r12 - ldrb r4, [r2] - movs r2, 0x40 - negs r2, r2 - ands r2, r4 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - ldr r2, _08068290 @ =gUnknown_83A707C - adds r1, r2 - movs r3, 0x3 - ldrb r2, [r1] - ands r2, r3 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806828C: .4byte gUnknown_83A708C -_08068290: .4byte gUnknown_83A707C - thumb_func_end InitObjectPriorityByZCoord - - thumb_func_start ZCoordToPriority -ZCoordToPriority: @ 8068294 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080682A0 @ =gUnknown_83A707C - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080682A0: .4byte gUnknown_83A707C - thumb_func_end ZCoordToPriority - - thumb_func_start ObjectEventUpdateZCoord -ObjectEventUpdateZCoord: @ 80682A4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r5, 0xF - beq _080682F2 - cmp r0, 0xF - beq _080682F2 - movs r3, 0xF - adds r0, r5, 0 - ands r0, r3 - ldrb r1, [r4, 0xB] - movs r2, 0x10 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0xB] - cmp r5, 0 - beq _080682F2 - cmp r5, 0xF - beq _080682F2 - lsls r0, r5, 4 - ands r2, r3 - orrs r2, r0 - strb r2, [r4, 0xB] -_080682F2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateZCoord - - thumb_func_start SetObjectSubpriorityByZCoord -SetObjectSubpriorityByZCoord: @ 80682F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, 0 - adds r3, 0x29 - movs r5, 0 - ldrsb r5, [r3, r5] - ldrh r4, [r1, 0x22] - ldr r3, _08068338 @ =gSpriteCoordOffsetY - subs r4, r5 - ldrh r3, [r3] - adds r4, r3 - adds r4, 0x8 - movs r3, 0xFF - ands r4, r3 - lsrs r4, 4 - movs r3, 0x10 - subs r3, r4 - lsls r3, 17 - ldr r4, _0806833C @ =gUnknown_83A706C - adds r0, r4 - lsrs r3, 16 - ldrb r0, [r0] - adds r3, r0 - adds r2, r3 - adds r1, 0x43 - strb r2, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068338: .4byte gSpriteCoordOffsetY -_0806833C: .4byte gUnknown_83A706C - thumb_func_end SetObjectSubpriorityByZCoord - - thumb_func_start ObjectEventUpdateSubpriority -ObjectEventUpdateSubpriority: @ 8068340 - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x3] - lsls r0, 29 - cmp r0, 0 - blt _08068356 - ldrb r0, [r2, 0xB] - lsrs r0, 4 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord -_08068356: - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateSubpriority - - thumb_func_start AreZCoordsCompatible -AreZCoordsCompatible: @ 806835C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r0, 0 - beq _08068372 - cmp r1, 0 - beq _08068372 - cmp r0, r1 - bne _08068376 -_08068372: - movs r0, 0x1 - b _08068378 -_08068376: - movs r0, 0 -_08068378: - pop {r1} - bx r1 - thumb_func_end AreZCoordsCompatible - - thumb_func_start GroundEffect_SpawnOnTallGrass -GroundEffect_SpawnOnTallGrass: @ 806837C - push {lr} - ldr r3, _080683C0 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _080683C4 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0x1 - str r0, [r3, 0x1C] - movs r0, 0x4 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_080683C0: .4byte gFieldEffectArguments -_080683C4: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_SpawnOnTallGrass - - thumb_func_start GroundEffect_StepOnTallGrass -GroundEffect_StepOnTallGrass: @ 80683C8 - push {lr} - ldr r3, _0806840C @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _08068410 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0 - str r0, [r3, 0x1C] - movs r0, 0x4 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_0806840C: .4byte gFieldEffectArguments -_08068410: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_StepOnTallGrass - - thumb_func_start GroundEffect_SpawnOnLongGrass -GroundEffect_SpawnOnLongGrass: @ 8068414 - push {lr} - ldr r3, _08068458 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _0806845C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0x1 - str r0, [r3, 0x1C] - movs r0, 0x11 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068458: .4byte gFieldEffectArguments -_0806845C: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_SpawnOnLongGrass - - thumb_func_start GroundEffect_StepOnLongGrass -GroundEffect_StepOnLongGrass: @ 8068460 - push {lr} - ldr r3, _080684A4 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _080684A8 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0 - str r0, [r3, 0x1C] - movs r0, 0x11 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_080684A4: .4byte gFieldEffectArguments -_080684A8: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_StepOnLongGrass - - thumb_func_start GroundEffect_WaterReflection -GroundEffect_WaterReflection: @ 80684AC - push {lr} - movs r2, 0 - bl SetUpReflection - pop {r0} - bx r0 - thumb_func_end GroundEffect_WaterReflection - - thumb_func_start GroundEffect_IceReflection -GroundEffect_IceReflection: @ 80684B8 - push {lr} - movs r2, 0x1 - bl SetUpReflection - pop {r0} - bx r0 - thumb_func_end GroundEffect_IceReflection - - thumb_func_start GroundEffect_FlowingWater -GroundEffect_FlowingWater: @ 80684C4 - push {lr} - adds r1, r0, 0 - movs r0, 0x22 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_FlowingWater - - thumb_func_start GroundEffect_SandTracks -GroundEffect_SandTracks: @ 80684D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldr r1, _080684FC @ =gUnknown_83A709C - ldrb r0, [r0, 0xD] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl _call_via_r3 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080684FC: .4byte gUnknown_83A709C - thumb_func_end GroundEffect_SandTracks - - thumb_func_start GroundEffect_DeepSandTracks -GroundEffect_DeepSandTracks: @ 8068500 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldr r1, _08068528 @ =gUnknown_83A709C - ldrb r0, [r0, 0xD] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl _call_via_r3 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068528: .4byte gUnknown_83A709C - thumb_func_end GroundEffect_DeepSandTracks - - thumb_func_start nullsub_26 -nullsub_26: @ 806852C - bx lr - thumb_func_end nullsub_26 - - thumb_func_start DoTracksGroundEffect_Footprints -DoTracksGroundEffect_Footprints: @ 8068530 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r4, r2, 24 - lsrs r4, 24 - ldr r1, _08068578 @ =gUnknown_83A70A8 - mov r0, sp - movs r2, 0x4 - bl memcpy - ldr r1, _0806857C @ =gFieldEffectArguments - movs r2, 0x14 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r2, 0x16 - ldrsh r0, [r5, r2] - str r0, [r1, 0x4] - movs r0, 0x95 - str r0, [r1, 0x8] - movs r0, 0x2 - str r0, [r1, 0xC] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - str r0, [r1, 0x10] - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - bl FieldEffectStart - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068578: .4byte gUnknown_83A70A8 -_0806857C: .4byte gFieldEffectArguments - thumb_func_end DoTracksGroundEffect_Footprints - - thumb_func_start DoTracksGroundEffect_BikeTireTracks -DoTracksGroundEffect_BikeTireTracks: @ 8068580 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x10] - ldr r0, [r4, 0x14] - cmp r1, r0 - beq _080685C2 - ldr r2, _080685C8 @ =gFieldEffectArguments - movs r1, 0x14 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x16 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - movs r0, 0x95 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - ldr r3, _080685CC @ =gUnknown_83A70AC - ldrb r1, [r4, 0x18] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 2 - subs r0, 0x5 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - str r0, [r2, 0x10] - movs r0, 0x23 - bl FieldEffectStart -_080685C2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080685C8: .4byte gFieldEffectArguments -_080685CC: .4byte gUnknown_83A70AC - thumb_func_end DoTracksGroundEffect_BikeTireTracks - - thumb_func_start GroundEffect_Ripple -GroundEffect_Ripple: @ 80685D0 - push {lr} - bl DoRippleFieldEffect - pop {r0} - bx r0 - thumb_func_end GroundEffect_Ripple - - thumb_func_start GroundEffect_StepOnPuddle -GroundEffect_StepOnPuddle: @ 80685DC - push {lr} - adds r1, r0, 0 - movs r0, 0xF - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_StepOnPuddle - - thumb_func_start GroundEffect_SandHeap -GroundEffect_SandHeap: @ 80685EC - push {lr} - adds r1, r0, 0 - movs r0, 0x27 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_SandHeap - - thumb_func_start GroundEffect_JumpOnTallGrass -GroundEffect_JumpOnTallGrass: @ 80685FC - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _08068650 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r4, 0x12 - ldrsh r0, [r5, r4] - str r0, [r1, 0x4] - ldrb r0, [r5, 0xB] - lsrs r0, 4 - str r0, [r1, 0x8] - movs r0, 0x2 - str r0, [r1, 0xC] - movs r0, 0xC - bl FieldEffectStart - ldrb r0, [r5, 0x8] - ldrb r1, [r5, 0x9] - ldrb r2, [r5, 0xA] - movs r7, 0x10 - ldrsh r3, [r5, r7] - movs r7, 0x12 - ldrsh r4, [r5, r7] - str r4, [sp] - bl FindTallGrassFieldEffectSpriteId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - bne _08068646 - adds r0, r5, 0 - adds r1, r6, 0 - bl GroundEffect_SpawnOnTallGrass -_08068646: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08068650: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnTallGrass - - thumb_func_start GroundEffect_JumpOnLongGrass -GroundEffect_JumpOnLongGrass: @ 8068654 - push {lr} - ldr r2, _08068678 @ =gFieldEffectArguments - movs r3, 0x10 - ldrsh r1, [r0, r3] - str r1, [r2] - movs r3, 0x12 - ldrsh r1, [r0, r3] - str r1, [r2, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - movs r0, 0x12 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068678: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnLongGrass - - thumb_func_start GroundEffect_JumpOnShallowWater -GroundEffect_JumpOnShallowWater: @ 806867C - push {r4,lr} - ldr r3, _080686A8 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0x10 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080686A8: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnShallowWater - - thumb_func_start GroundEffect_JumpOnWater -GroundEffect_JumpOnWater: @ 80686AC - push {r4,lr} - ldr r3, _080686D8 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0xE - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080686D8: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnWater - - thumb_func_start GroundEffect_JumpLandingDust -GroundEffect_JumpLandingDust: @ 80686DC - push {r4,lr} - ldr r3, _08068708 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0xA - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08068708: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpLandingDust - - thumb_func_start GroundEffect_ShortGrass -GroundEffect_ShortGrass: @ 806870C - push {lr} - adds r1, r0, 0 - movs r0, 0x29 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_ShortGrass - - thumb_func_start GroundEffect_HotSprings -GroundEffect_HotSprings: @ 806871C - push {lr} - adds r1, r0, 0 - movs r0, 0x2A - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_HotSprings - - thumb_func_start GroundEffect_Seaweed -GroundEffect_Seaweed: @ 806872C - push {lr} - ldr r2, _08068748 @ =gFieldEffectArguments - movs r3, 0x10 - ldrsh r1, [r0, r3] - str r1, [r2] - movs r1, 0x12 - ldrsh r0, [r0, r1] - str r0, [r2, 0x4] - movs r0, 0x35 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068748: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_Seaweed - - thumb_func_start DoFlaggedGroundEffects -DoFlaggedGroundEffects: @ 806874C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r7, r1, 0 - adds r5, r2, 0 - ldrb r0, [r6, 0x8] - cmp r0, 0x7F - bne _08068766 - ldrb r0, [r6, 0x1] - lsls r0, 26 - cmp r0, 0 - blt _0806878E -_08068766: - movs r4, 0 - ldr r0, _08068798 @ =gUnknown_83A70BC - mov r8, r0 -_0806876C: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08068782 - lsls r0, r4, 2 - add r0, r8 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r7, 0 - bl _call_via_r2 -_08068782: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsrs r5, 1 - cmp r4, 0x13 - bls _0806876C -_0806878E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08068798: .4byte gUnknown_83A70BC - thumb_func_end DoFlaggedGroundEffects - - thumb_func_start filters_out_some_ground_effects -filters_out_some_ground_effects: @ 806879C - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r0, [r2] - lsls r0, 27 - cmp r0, 0 - bge _080687CA - ldrb r1, [r2, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - adds r1, 0x8 - ands r0, r1 - subs r1, 0x18 - ands r0, r1 - strb r0, [r2, 0x2] - ldr r0, [r3] - ldr r1, _080687D0 @ =0xfff9f7bd - ands r0, r1 - str r0, [r3] -_080687CA: - pop {r0} - bx r0 - .align 2, 0 -_080687D0: .4byte 0xfff9f7bd - thumb_func_end filters_out_some_ground_effects - - thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping -FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4 - push {lr} - adds r2, r1, 0 - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080687E8 - ldr r0, [r2] - ldr r1, _080687EC @ =0xfffffbff - ands r0, r1 - str r0, [r2] -_080687E8: - pop {r0} - bx r0 - .align 2, 0 -_080687EC: .4byte 0xfffffbff - thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping - - thumb_func_start DoGroundEffects_OnSpawn -DoGroundEffects_OnSpawn: @ 80687F0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 29 - cmp r0, 0 - bge _08068834 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_08068834: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnSpawn - - thumb_func_start DoGroundEffects_OnBeginStep -DoGroundEffects_OnBeginStep: @ 806883C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 29 - cmp r0, 0 - bge _08068888 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - adds r0, r4, 0 - mov r1, sp - bl filters_out_some_ground_effects - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_08068888: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnBeginStep - - thumb_func_start DoGroundEffects_OnFinishStep -DoGroundEffects_OnFinishStep: @ 8068890 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 28 - cmp r0, 0 - bge _080688DC - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnFinishStep - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - adds r0, r4, 0 - mov r1, sp - bl FilterOutStepOnPuddleGroundEffectIfJumping - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_080688DC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnFinishStep - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 58a6b6e76..09c516bd8 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -923,7 +923,7 @@ _0806CFA4: .4byte gDirectionToVectors _0806CFA8: .4byte gObjectEvents _0806CFAC: movs r4, 0 - ldr r1, _0806CFE4 @ =gUnknown_2031DEC + ldr r1, _0806CFE4 @ =gLinkPlayerObjectEvents _0806CFB0: ldrb r0, [r1] cmp r0, 0x1 @@ -953,7 +953,7 @@ _0806CFDE: pop {r1} bx r1 .align 2, 0 -_0806CFE4: .4byte gUnknown_2031DEC +_0806CFE4: .4byte gLinkPlayerObjectEvents _0806CFE8: .4byte gSelectedObjectEvent _0806CFEC: .4byte gSpecialVar_LastTalked _0806CFF0: .4byte gSpecialVar_Facing @@ -3083,7 +3083,7 @@ _0806E046: GetObjectEventScriptPointerForComparison: @ 806E050 push {r4,r5,lr} sub sp, 0x8 - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3112,7 +3112,7 @@ GetObjectEventScriptPointerForComparison: @ 806E050 SetCableClubWarp: @ 806E08C push {r4,lr} sub sp, 0x8 - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection mov r4, sp mov r0, sp bl player_get_pos_to_and_height diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 79ac729b8..31123a703 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -17,7 +17,7 @@ sub_805B3B8: @ 805B3B8 ldr r2, _0805B3D4 @ =gObjectEvents adds r0, r2 ldr r2, _0805B3D8 @ =sub_805B3DC - bl ObjectEventStep + bl UpdateObjectEventCurrentMovement pop {r0} bx r0 .align 2, 0 @@ -104,7 +104,7 @@ sub_805B45C: @ 805B45C cmp r0, 0 bne _0805B4A6 adds r0, r4, 0 - bl ObjectEventGetSpecialAnim + bl ObjectEventGetHeldMovementActionId lsls r0, 24 movs r1, 0xDF lsls r1, 24 @@ -119,7 +119,7 @@ sub_805B45C: @ 805B45C cmp r0, r5 beq _0805B4A2 adds r0, r4, 0 - bl ObjectEventClearAnim + bl ObjectEventClearHeldMovement b _0805B4A6 _0805B4A2: movs r0, 0x1 @@ -245,7 +245,7 @@ sub_805B528: @ 805B528 strh r0, [r5, 0x1C] _0805B57A: ldr r0, [r4] - bl ObjectEventClearAnim + bl ObjectEventClearHeldMovement ldrb r0, [r5, 0x1C] bl sub_805C2CC _0805B586: @@ -374,7 +374,7 @@ ForcedMovement_None: @ 805B644 ldrb r1, [r0, 0x18] lsls r1, 28 lsrs r1, 28 - bl ObjectEventSetDirection + bl SetObjectEventDirection ldrb r1, [r4] movs r0, 0xBF ands r0, r1 @@ -816,7 +816,7 @@ CheckMovementInputNotOnBike: @ 805B96C .align 2, 0 _0805B980: .4byte gPlayerAvatar _0805B984: - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -1678,8 +1678,8 @@ _0805BFD8: .4byte gObjectEvents _0805BFDC: .4byte gPlayerAvatar thumb_func_end player_set_x22 - thumb_func_start player_get_x22 -player_get_x22: @ 805BFE0 + thumb_func_start PlayerGetCopyableMovement +PlayerGetCopyableMovement: @ 805BFE0 ldr r2, _0805BFF4 @ =gObjectEvents ldr r0, _0805BFF8 @ =gPlayerAvatar ldrb r1, [r0, 0x5] @@ -1693,7 +1693,7 @@ player_get_x22: @ 805BFE0 .align 2, 0 _0805BFF4: .4byte gObjectEvents _0805BFF8: .4byte gPlayerAvatar - thumb_func_end player_get_x22 + thumb_func_end PlayerGetCopyableMovement thumb_func_start sub_805BFFC sub_805BFFC: @ 805BFFC @@ -1708,7 +1708,7 @@ sub_805BFFC: @ 805BFFC lsls r0, 2 ldr r2, _0805C020 @ =gObjectEvents adds r0, r2 - bl ObjectEventForceSetSpecialAnim + bl ObjectEventForceSetHeldMovement pop {r0} bx r0 .align 2, 0 @@ -1854,7 +1854,7 @@ sub_805C11C: @ 805C11C push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_8063FB0 + bl GetWalkFastMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1896,7 +1896,7 @@ sub_805C164: @ 805C164 push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_8064034 + bl GetWalkFastestMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1942,7 +1942,7 @@ PlayerOnBikeCollide: @ 805C1AC adds r0, r4, 0 bl sub_805C438 adds r0, r4, 0 - bl GetStepInPlaceDelay16AnimId + bl GetWalkInPlaceNormalMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x2 @@ -1990,7 +1990,7 @@ sub_805C20C: @ 805C20C push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_8063EE4 + bl GetWalkSlowMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -2004,7 +2004,7 @@ sub_805C224: @ 805C224 push {lr} lsls r0, 24 lsrs r0, 24 - bl sub_8064270 + bl GetWalkInPlaceSlowMovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -2022,7 +2022,7 @@ sub_805C23C: @ 805C23C movs r0, 0xA bl PlaySE adds r0, r4, 0 - bl GetJumpLedgeAnimId + bl GetJump2MovementAction lsls r0, 24 lsrs r0, 24 movs r1, 0x8 @@ -2600,8 +2600,8 @@ _0805C6DC: .4byte gObjectEvents _0805C6E0: .4byte gPlayerAvatar thumb_func_end GetPlayerFacingDirection - thumb_func_start player_get_direction_upper_nybble -player_get_direction_upper_nybble: @ 805C6E4 + thumb_func_start GetPlayerMovementDirection +GetPlayerMovementDirection: @ 805C6E4 ldr r2, _0805C6F8 @ =gObjectEvents ldr r0, _0805C6FC @ =gPlayerAvatar ldrb r1, [r0, 0x5] @@ -2615,7 +2615,7 @@ player_get_direction_upper_nybble: @ 805C6E4 .align 2, 0 _0805C6F8: .4byte gObjectEvents _0805C6FC: .4byte gPlayerAvatar - thumb_func_end player_get_direction_upper_nybble + thumb_func_end GetPlayerMovementDirection thumb_func_start PlayerGetZCoord PlayerGetZCoord: @ 805C700 @@ -2651,7 +2651,7 @@ sub_805C71C: @ 805C71C lsls r2, 16 asrs r2, 16 adds r1, r3, 0 - bl sub_805F724 + bl MoveObjectEventToMapCoords pop {r0} bx r0 .align 2, 0 @@ -2712,7 +2712,7 @@ sub_805C780: @ 805C780 lsls r1, 28 lsrs r1, 28 adds r0, r4, 0 - bl ObjectEventSetDirection + bl SetObjectEventDirection movs r0, 0x6 bl TestPlayerAvatarFlags lsls r0, 24 @@ -2787,8 +2787,8 @@ GetPlayerAvatarGraphicsIdByStateId: @ 805C808 _0805C820: .4byte gPlayerAvatar thumb_func_end GetPlayerAvatarGraphicsIdByStateId - thumb_func_start sub_805C824 -sub_805C824: @ 805C824 + thumb_func_start GetPlayerAvatarGenderByGraphicsId +GetPlayerAvatarGenderByGraphicsId: @ 805C824 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2803,7 +2803,7 @@ _0805C836: _0805C838: pop {r1} bx r1 - thumb_func_end sub_805C824 + thumb_func_end GetPlayerAvatarGenderByGraphicsId thumb_func_start PartyHasMonWithSurf PartyHasMonWithSurf: @ 805C83C @@ -2854,7 +2854,7 @@ _0805C888: .4byte gPlayerParty thumb_func_start IsPlayerSurfingNorth IsPlayerSurfingNorth: @ 805C88C push {lr} - bl player_get_direction_upper_nybble + bl GetPlayerMovementDirection lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -3546,7 +3546,7 @@ sub_805CD84: @ 805CD84 adds r0, r4, 0 bl ObjectEventClearHeldMovementIfFinished ldrb r0, [r6, 0xC] - bl GetStepInPlaceDelay16AnimId + bl GetWalkInPlaceNormalMovementAction adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4296,7 +4296,7 @@ fish1: @ 805D35C lsls r4, 2 adds r4, r3 adds r0, r4, 0 - bl ObjectEventClearAnimIfSpecialAnimActive + bl ObjectEventClearHeldMovementIfActive ldrb r0, [r4, 0x1] movs r1, 0x8 orrs r0, r1 @@ -4830,7 +4830,7 @@ sub_805D7C0: @ 805D7C0 bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 - bl sub_8063500 + bl GetFishingBiteDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4886,7 +4886,7 @@ sub_805D838: @ 805D838 bl GetPlayerFacingDirection lsls r0, 24 lsrs r0, 24 - bl sub_8063500 + bl GetFishingBiteDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -5455,7 +5455,7 @@ _0805DC9A: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl ObjectEventForceSetSpecialAnim + bl ObjectEventForceSetHeldMovement movs r0, 0 mov r9, r0 strh r6, [r5, 0x2] @@ -5623,7 +5623,7 @@ _0805DDE4: lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl ObjectEventForceSetSpecialAnim + bl ObjectEventForceSetHeldMovement movs r0, 0 strh r0, [r6] ldrb r0, [r5, 0x18] diff --git a/asm/overworld.s b/asm/overworld.s index 2412a4d87..27235fa18 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -4637,11 +4637,11 @@ sub_8057024: @ 8057024 cmp r4, 0 bne _08057050 movs r0, 0 - bl npc_paltag_set_load + bl InitObjectEventPalettes b _08057056 _08057050: movs r0, 0x1 - bl npc_paltag_set_load + bl InitObjectEventPalettes _08057056: bl FieldEffectActiveListClear bl sub_8079C08 @@ -4664,10 +4664,10 @@ sub_8057074: @ 8057074 strh r1, [r0] ldr r0, _08057098 @ =gTotalCameraPixelOffsetY strh r1, [r0] - bl sub_805DE74 + bl ResetObjectEvents movs r0, 0 movs r1, 0 - bl sub_805EC30 + bl TrySpawnObjectEvents bl mapheader_run_first_tag4_script_list_match pop {r0} bx r0 @@ -4685,7 +4685,7 @@ mli4_mapscripts_and_other: @ 805709C strh r1, [r0] ldr r0, _080570F8 @ =gTotalCameraPixelOffsetY strh r1, [r0] - bl sub_805DE74 + bl ResetObjectEvents mov r4, sp adds r4, 0x2 mov r0, sp @@ -4708,7 +4708,7 @@ mli4_mapscripts_and_other: @ 805709C bl ResetInitialPlayerAvatarState movs r0, 0 movs r1, 0 - bl sub_805EC30 + bl TrySpawnObjectEvents bl mapheader_run_first_tag4_script_list_match add sp, 0x4 pop {r4,r5} @@ -6611,7 +6611,7 @@ sub_8057F84: @ 8057F84 movs r0, 0x1 _08057F96: strb r0, [r6, 0x1] - ldr r1, _08057FE8 @ =gUnknown_2031DEC + ldr r1, _08057FE8 @ =gLinkPlayerObjectEvents lsls r0, r4, 2 adds r0, r1 ldrb r0, [r0, 0x3] @@ -6647,7 +6647,7 @@ _08057F96: pop {r0} bx r0 .align 2, 0 -_08057FE8: .4byte gUnknown_2031DEC +_08057FE8: .4byte gLinkPlayerObjectEvents thumb_func_end sub_8057F84 thumb_func_start sub_8057FEC @@ -7143,18 +7143,18 @@ ZeroLinkPlayerObjectEvent: @ 8058370 bx lr thumb_func_end ZeroLinkPlayerObjectEvent - thumb_func_start strange_npc_table_clear -strange_npc_table_clear: @ 8058378 + thumb_func_start ClearLinkPlayerObjectEvents +ClearLinkPlayerObjectEvents: @ 8058378 push {lr} - ldr r0, _08058388 @ =gUnknown_2031DEC + ldr r0, _08058388 @ =gLinkPlayerObjectEvents movs r1, 0 movs r2, 0x10 bl memset pop {r0} bx r0 .align 2, 0 -_08058388: .4byte gUnknown_2031DEC - thumb_func_end strange_npc_table_clear +_08058388: .4byte gLinkPlayerObjectEvents + thumb_func_end ClearLinkPlayerObjectEvents thumb_func_start ZeroObjectEvent ZeroObjectEvent: @ 805838C @@ -7190,12 +7190,12 @@ SpawnLinkPlayerObjectEvent: @ 805839C lsls r2, 24 lsrs r2, 24 mov r8, r2 - bl GetIndexOfFirstInactiveObjectEvent + bl GetFirstInactiveObjectEventId adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 lsls r4, r7, 2 - ldr r0, _08058440 @ =gUnknown_2031DEC + ldr r0, _08058440 @ =gLinkPlayerObjectEvents adds r4, r0 lsls r5, r6, 3 adds r5, r6 @@ -7247,7 +7247,7 @@ SpawnLinkPlayerObjectEvent: @ 805839C pop {r0} bx r0 .align 2, 0 -_08058440: .4byte gUnknown_2031DEC +_08058440: .4byte gLinkPlayerObjectEvents _08058444: .4byte gObjectEvents thumb_func_end SpawnLinkPlayerObjectEvent @@ -7290,7 +7290,7 @@ sub_8058488: @ 8058488 lsls r0, 24 lsls r1, 24 lsrs r2, r1, 24 - ldr r1, _080584B0 @ =gUnknown_2031DEC + ldr r1, _080584B0 @ =gLinkPlayerObjectEvents lsrs r0, 22 adds r1, r0, r1 ldrb r0, [r1] @@ -7307,7 +7307,7 @@ _080584AA: pop {r0} bx r0 .align 2, 0 -_080584B0: .4byte gUnknown_2031DEC +_080584B0: .4byte gLinkPlayerObjectEvents _080584B4: .4byte gObjectEvents thumb_func_end sub_8058488 @@ -7316,7 +7316,7 @@ sub_80584B8: @ 80584B8 push {r4,r5,lr} lsls r0, 24 lsrs r0, 22 - ldr r1, _080584F8 @ =gUnknown_2031DEC + ldr r1, _080584F8 @ =gLinkPlayerObjectEvents adds r5, r0, r1 ldrb r1, [r5, 0x2] lsls r0, r1, 3 @@ -7345,7 +7345,7 @@ _080584E4: pop {r0} bx r0 .align 2, 0 -_080584F8: .4byte gUnknown_2031DEC +_080584F8: .4byte gLinkPlayerObjectEvents _080584FC: .4byte gObjectEvents _08058500: .4byte gSprites thumb_func_end sub_80584B8 @@ -7353,7 +7353,7 @@ _08058500: .4byte gSprites thumb_func_start sub_8058504 sub_8058504: @ 8058504 lsls r0, 24 - ldr r1, _0805851C @ =gUnknown_2031DEC + ldr r1, _0805851C @ =gLinkPlayerObjectEvents lsrs r0, 22 adds r0, r1 ldrb r1, [r0, 0x2] @@ -7365,14 +7365,14 @@ sub_8058504: @ 8058504 ldrb r0, [r0, 0x4] bx lr .align 2, 0 -_0805851C: .4byte gUnknown_2031DEC +_0805851C: .4byte gLinkPlayerObjectEvents _08058520: .4byte gObjectEvents thumb_func_end sub_8058504 thumb_func_start sub_8058524 sub_8058524: @ 8058524 lsls r0, 24 - ldr r3, _08058544 @ =gUnknown_2031DEC + ldr r3, _08058544 @ =gLinkPlayerObjectEvents lsrs r0, 22 adds r0, r3 ldrb r3, [r0, 0x2] @@ -7387,14 +7387,14 @@ sub_8058524: @ 8058524 strh r0, [r2] bx lr .align 2, 0 -_08058544: .4byte gUnknown_2031DEC +_08058544: .4byte gLinkPlayerObjectEvents _08058548: .4byte gObjectEvents thumb_func_end sub_8058524 thumb_func_start sub_805854C sub_805854C: @ 805854C lsls r0, 24 - ldr r1, _08058564 @ =gUnknown_2031DEC + ldr r1, _08058564 @ =gLinkPlayerObjectEvents lsrs r0, 22 adds r0, r1 ldrb r1, [r0, 0x2] @@ -7406,14 +7406,14 @@ sub_805854C: @ 805854C ldrb r0, [r0, 0x19] bx lr .align 2, 0 -_08058564: .4byte gUnknown_2031DEC +_08058564: .4byte gLinkPlayerObjectEvents _08058568: .4byte gObjectEvents thumb_func_end sub_805854C thumb_func_start sub_805856C sub_805856C: @ 805856C lsls r0, 24 - ldr r1, _08058588 @ =gUnknown_2031DEC + ldr r1, _08058588 @ =gLinkPlayerObjectEvents lsrs r0, 22 adds r0, r1 ldrb r1, [r0, 0x2] @@ -7427,14 +7427,14 @@ sub_805856C: @ 805856C lsrs r0, 28 bx lr .align 2, 0 -_08058588: .4byte gUnknown_2031DEC +_08058588: .4byte gLinkPlayerObjectEvents _0805858C: .4byte gObjectEvents thumb_func_end sub_805856C thumb_func_start sub_8058590 sub_8058590: @ 8058590 lsls r0, 24 - ldr r1, _080585B0 @ =gUnknown_2031DEC + ldr r1, _080585B0 @ =gLinkPlayerObjectEvents lsrs r0, 22 adds r0, r1 ldrb r1, [r0, 0x2] @@ -7450,7 +7450,7 @@ sub_8058590: @ 8058590 subs r0, r1 bx lr .align 2, 0 -_080585B0: .4byte gUnknown_2031DEC +_080585B0: .4byte gLinkPlayerObjectEvents _080585B4: .4byte gObjectEvents thumb_func_end sub_8058590 @@ -7458,7 +7458,7 @@ _080585B4: .4byte gObjectEvents GetLinkPlayerIdAt: @ 80585B8 push {r4-r6,lr} movs r2, 0 - ldr r5, _080585FC @ =gUnknown_2031DEC + ldr r5, _080585FC @ =gLinkPlayerObjectEvents lsls r0, 16 asrs r4, r0, 16 lsls r1, 16 @@ -7492,7 +7492,7 @@ _080585DA: adds r0, r2, 0 b _08058610 .align 2, 0 -_080585FC: .4byte gUnknown_2031DEC +_080585FC: .4byte gLinkPlayerObjectEvents _08058600: .4byte gObjectEvents _08058604: adds r0, r2, 0x1 @@ -7515,7 +7515,7 @@ sub_8058618: @ 8058618 lsrs r3, r1, 24 adds r2, r3, 0 lsrs r0, 22 - ldr r1, _08058648 @ =gUnknown_2031DEC + ldr r1, _08058648 @ =gLinkPlayerObjectEvents adds r5, r0, r1 ldrb r1, [r5, 0x2] lsls r0, r1, 3 @@ -7534,7 +7534,7 @@ sub_8058618: @ 8058618 strb r0, [r6] b _08058674 .align 2, 0 -_08058648: .4byte gUnknown_2031DEC +_08058648: .4byte gLinkPlayerObjectEvents _0805864C: .4byte gObjectEvents _08058650: ldr r4, _0805867C @ =gUnknown_826D374 @@ -7651,7 +7651,7 @@ sub_80586CC: @ 80586CC movs r3, 0 ldrsh r2, [r6, r3] adds r0, r5, 0 - bl npc_coords_shift + bl ShiftObjectEventCoords adds r0, r5, 0 bl ObjectEventUpdateZCoord movs r0, 0x1 @@ -7708,7 +7708,7 @@ sub_8058754: @ 8058754 cmp r0, 0 bne _08058784 adds r0, r4, 0 - bl npc_coords_shift_still + bl ShiftStillObjectEventCoords movs r0, 0x2 strb r0, [r6, 0x3] _08058784: @@ -7851,7 +7851,7 @@ sub_8058878: @ 8058878 lsls r1, 24 lsrs r3, r1, 24 lsls r2, r5, 2 - ldr r0, _080588B4 @ =gUnknown_2031DEC + ldr r0, _080588B4 @ =gLinkPlayerObjectEvents adds r2, r0 ldrb r1, [r2, 0x2] lsls r0, r1, 3 @@ -7874,7 +7874,7 @@ sub_8058878: @ 8058878 bl sub_805C7C8 b _080588C6 .align 2, 0 -_080588B4: .4byte gUnknown_2031DEC +_080588B4: .4byte gLinkPlayerObjectEvents _080588B8: .4byte gObjectEvents _080588BC: ldrb r0, [r4] @@ -7925,7 +7925,7 @@ SpriteCB_LinkPlayer: @ 805890C movs r0, 0x2E ldrsh r4, [r5, r0] lsls r4, 2 - ldr r0, _08058970 @ =gUnknown_2031DEC + ldr r0, _08058970 @ =gLinkPlayerObjectEvents adds r4, r0 ldrb r1, [r4, 0x2] lsls r0, r1, 3 @@ -7958,7 +7958,7 @@ SpriteCB_LinkPlayer: @ 805890C cmp r0, 0 bne _08058978 ldrb r0, [r6, 0x19] - bl ObjectEventDirectionToImageAnimId + bl GetFaceDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7966,11 +7966,11 @@ SpriteCB_LinkPlayer: @ 805890C bl StartSpriteAnim b _0805898A .align 2, 0 -_08058970: .4byte gUnknown_2031DEC +_08058970: .4byte gLinkPlayerObjectEvents _08058974: .4byte gObjectEvents _08058978: ldrb r0, [r6, 0x19] - bl get_go_image_anim_num + bl GetMoveDirectionAnimNum adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 |