.include "constants/gba_constants.inc" .include "constants/species_constants.inc" .include "asm/macros.inc" .syntax unified .text thumb_func_start sub_805F2FC sub_805F2FC: @ 805F2FC 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, _0805F318 @ =gMapObjects adds r0, r2 ldr r2, _0805F31C @ =sub_805F320 bl meta_step pop {r0} bx r0 .align 2, 0 _0805F318: .4byte gMapObjects _0805F31C: .4byte sub_805F320 thumb_func_end sub_805F2FC thumb_func_start sub_805F320 sub_805F320: @ 805F320 push {r4,lr} ldr r3, _0805F33C @ =gUnknown_08375588 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 _0805F33C: .4byte gUnknown_08375588 thumb_func_end sub_805F320 thumb_func_start mss_npc_reset_oampriv3_1_unk2_unk3 mss_npc_reset_oampriv3_1_unk2_unk3: @ 805F340 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 _0805F358 bl player_get_direction_lower_nybble strb r0, [r4] _0805F358: 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_805F364 sub_805F364: @ 805F364 push {r4-r7,lr} adds r6, r0, 0 adds r7, r1, 0 ldr r2, _0805F388 @ =gMapObjects ldr r3, _0805F38C @ =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 _0805F384 ldrb r0, [r3, 0x3] cmp r0, 0x2 bne _0805F390 _0805F384: movs r0, 0 b _0805F3B8 .align 2, 0 _0805F388: .4byte gMapObjects _0805F38C: .4byte gPlayerAvatar _0805F390: ldr r5, _0805F3C0 @ =gUnknown_08375594 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 _0805F3B8: pop {r4-r7} pop {r1} bx r1 .align 2, 0 _0805F3C0: .4byte gUnknown_08375594 thumb_func_end sub_805F364 thumb_func_start sub_805F3C4 sub_805F3C4: @ 805F3C4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl FieldObjectExecRegularAnim lsls r0, 24 cmp r0, 0 beq _0805F3E2 ldrb r0, [r4] movs r1, 0x3 negs r1, r1 ands r1, r0 strb r1, [r4] movs r0, 0x1 strh r0, [r5, 0x30] _0805F3E2: movs r0, 0 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_805F3C4 thumb_func_start sub_805F3EC sub_805F3EC: @ 805F3EC movs r0, 0 bx lr thumb_func_end sub_805F3EC thumb_func_start sub_805F3F0 sub_805F3F0: @ 805F3F0 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 lsls r2, 24 lsrs r2, 24 ldr r1, _0805F434 @ =gUnknown_0836DC09 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 GetFaceDirectionAnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r5, 0 bl FieldObjectSetRegularAnim 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 _0805F434: .4byte gUnknown_0836DC09 thumb_func_end sub_805F3F0 thumb_func_start sub_805F438 sub_805F438: @ 805F438 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, _0805F4EC @ =gUnknown_0836DC09 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 FieldObjectMoveDestCoords adds r0, r6, 0 bl GetGoSpeed0AnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim 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 npc_block_way lsls r0, 24 cmp r0, 0 bne _0805F4BE mov r1, r8 cmp r1, 0 beq _0805F4D2 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 _0805F4D2 _0805F4BE: adds r0, r6, 0 bl GetFaceDirectionAnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim _0805F4D2: 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 _0805F4EC: .4byte gUnknown_0836DC09 thumb_func_end sub_805F438 thumb_func_start sub_805F4F0 sub_805F4F0: @ 805F4F0 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, _0805F5A4 @ =gUnknown_0836DC09 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 FieldObjectMoveDestCoords adds r0, r6, 0 bl sub_8060744 adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim 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 npc_block_way lsls r0, 24 cmp r0, 0 bne _0805F576 mov r1, r8 cmp r1, 0 beq _0805F58A 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 _0805F58A _0805F576: adds r0, r6, 0 bl GetFaceDirectionAnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim _0805F58A: 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 _0805F5A4: .4byte gUnknown_0836DC09 thumb_func_end sub_805F4F0 thumb_func_start sub_805F5A8 sub_805F5A8: @ 805F5A8 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, _0805F65C @ =gUnknown_0836DC09 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 FieldObjectMoveDestCoords adds r0, r6, 0 bl sub_806079C adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim 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 npc_block_way lsls r0, 24 cmp r0, 0 bne _0805F62E mov r1, r8 cmp r1, 0 beq _0805F642 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 _0805F642 _0805F62E: adds r0, r6, 0 bl GetFaceDirectionAnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim _0805F642: 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 _0805F65C: .4byte gUnknown_0836DC09 thumb_func_end sub_805F5A8 thumb_func_start sub_805F660 sub_805F660: @ 805F660 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, _0805F714 @ =gUnknown_0836DC09 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 FieldObjectMoveDestCoords adds r0, r6, 0 bl sub_80607C8 adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim 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 npc_block_way lsls r0, 24 cmp r0, 0 bne _0805F6E6 mov r1, r8 cmp r1, 0 beq _0805F6FA 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 _0805F6FA _0805F6E6: adds r0, r6, 0 bl GetFaceDirectionAnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim _0805F6FA: 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 _0805F714: .4byte gUnknown_0836DC09 thumb_func_end sub_805F660 thumb_func_start cph_IM_DIFFERENT cph_IM_DIFFERENT: @ 805F718 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 lsls r2, 24 lsrs r2, 24 ldr r1, _0805F75C @ =gUnknown_0836DC09 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 sub_806084C adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r5, 0 bl FieldObjectSetRegularAnim 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 _0805F75C: .4byte gUnknown_0836DC09 thumb_func_end cph_IM_DIFFERENT thumb_func_start sub_805F760 sub_805F760: @ 805F760 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, _0805F814 @ =gUnknown_0836DC09 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 FieldObjectMoveDestCoords adds r0, r6, 0 bl sub_80608A4 adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim 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 npc_block_way lsls r0, 24 cmp r0, 0 bne _0805F7E6 mov r1, r8 cmp r1, 0 beq _0805F7FA 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 _0805F7FA _0805F7E6: adds r0, r6, 0 bl GetFaceDirectionAnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim _0805F7FA: 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 _0805F814: .4byte gUnknown_0836DC09 thumb_func_end sub_805F760 thumb_func_start oac_hopping oac_hopping: @ 805F818 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, _0805F8DC @ =gUnknown_0836DC09 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_8060320 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 FieldObjectSetRegularAnim 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 npc_block_way lsls r0, 24 cmp r0, 0 bne _0805F8AC mov r1, r8 cmp r1, 0 beq _0805F8C0 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 _0805F8C0 _0805F8AC: adds r0, r6, 0 bl GetFaceDirectionAnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r7, 0 bl FieldObjectSetRegularAnim _0805F8C0: 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 _0805F8DC: .4byte gUnknown_0836DC09 thumb_func_end oac_hopping thumb_func_start sub_805F8E0 sub_805F8E0: @ 805F8E0 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, _0805F8FC @ =gMapObjects adds r0, r2 ldr r2, _0805F900 @ =sub_805F904 bl meta_step pop {r0} bx r0 .align 2, 0 _0805F8FC: .4byte gMapObjects _0805F900: .4byte sub_805F904 thumb_func_end sub_805F8E0 thumb_func_start sub_805F904 sub_805F904: @ 805F904 push {r4,lr} ldr r3, _0805F920 @ =gUnknown_083755C0 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 _0805F920: .4byte gUnknown_083755C0 thumb_func_end sub_805F904 thumb_func_start mss_08062EA4 mss_08062EA4: @ 805F924 push {r4-r7,lr} adds r6, r0, 0 adds r7, r1, 0 ldr r2, _0805F948 @ =gMapObjects ldr r3, _0805F94C @ =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 _0805F944 ldrb r0, [r3, 0x3] cmp r0, 0x2 bne _0805F950 _0805F944: movs r0, 0 b _0805F978 .align 2, 0 _0805F948: .4byte gMapObjects _0805F94C: .4byte gPlayerAvatar _0805F950: ldr r5, _0805F980 @ =gUnknown_08375594 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, _0805F984 @ =MetatileBehavior_IsPokeGrass ldr r4, [r4] adds r0, r6, 0 adds r1, r7, 0 bl _call_via_r4 lsls r0, 24 lsrs r0, 24 _0805F978: pop {r4-r7} pop {r1} bx r1 .align 2, 0 _0805F980: .4byte gUnknown_08375594 _0805F984: .4byte MetatileBehavior_IsPokeGrass thumb_func_end mss_08062EA4 thumb_func_start FieldObjectCB_TreeDisguise FieldObjectCB_TreeDisguise: @ 805F988 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, _0805F9EC @ =gMapObjects adds r4, r1, r0 adds r6, r4, 0 adds r6, 0x21 ldrb r0, [r6] cmp r0, 0 beq _0805F9B0 cmp r0, 0x1 bne _0805F9D0 movs r1, 0x3C ldrsh r0, [r5, r1] cmp r0, 0 bne _0805F9D0 _0805F9B0: ldr r1, _0805F9F0 @ =gUnknown_0202FF84 adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 adds r0, r4, 0 bl FieldObjectGetLocalIdAndMap 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] _0805F9D0: movs r0, 0x2E ldrsh r1, [r5, r0] lsls r0, r1, 3 adds r0, r1 lsls r0, 2 ldr r1, _0805F9EC @ =gMapObjects adds r0, r1 ldr r2, _0805F9F4 @ =sub_805F9F8 adds r1, r5, 0 bl meta_step pop {r4-r6} pop {r0} bx r0 .align 2, 0 _0805F9EC: .4byte gMapObjects _0805F9F0: .4byte gUnknown_0202FF84 _0805F9F4: .4byte sub_805F9F8 thumb_func_end FieldObjectCB_TreeDisguise thumb_func_start sub_805F9F8 sub_805F9F8: @ 805F9F8 push {lr} bl npc_reset movs r0, 0 pop {r1} bx r1 thumb_func_end sub_805F9F8 thumb_func_start FieldObjectCB_MountainDisguise FieldObjectCB_MountainDisguise: @ 805FA04 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, _0805FA68 @ =gMapObjects adds r4, r1, r0 adds r6, r4, 0 adds r6, 0x21 ldrb r0, [r6] cmp r0, 0 beq _0805FA2C cmp r0, 0x1 bne _0805FA4C movs r1, 0x3C ldrsh r0, [r5, r1] cmp r0, 0 bne _0805FA4C _0805FA2C: ldr r1, _0805FA6C @ =gUnknown_0202FF84 adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 adds r0, r4, 0 bl FieldObjectGetLocalIdAndMap 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] _0805FA4C: movs r0, 0x2E ldrsh r1, [r5, r0] lsls r0, r1, 3 adds r0, r1 lsls r0, 2 ldr r1, _0805FA68 @ =gMapObjects adds r0, r1 ldr r2, _0805FA70 @ =sub_805F9F8 adds r1, r5, 0 bl meta_step pop {r4-r6} pop {r0} bx r0 .align 2, 0 _0805FA68: .4byte gMapObjects _0805FA6C: .4byte gUnknown_0202FF84 _0805FA70: .4byte sub_805F9F8 thumb_func_end FieldObjectCB_MountainDisguise thumb_func_start FieldObjectCB_Hidden1 FieldObjectCB_Hidden1: @ 805FA74 push {r4,lr} adds r3, r0, 0 movs r1, 0x3C ldrsh r0, [r3, r1] ldr r4, _0805FAD0 @ =gMapObjects cmp r0, 0 bne _0805FAB4 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] _0805FAB4: movs r0, 0x2E ldrsh r1, [r3, r0] lsls r0, r1, 3 adds r0, r1 lsls r0, 2 adds r0, r4 ldr r2, _0805FAD4 @ =sub_805FAD8 adds r1, r3, 0 bl meta_step pop {r4} pop {r0} bx r0 .align 2, 0 _0805FAD0: .4byte gMapObjects _0805FAD4: .4byte sub_805FAD8 thumb_func_end FieldObjectCB_Hidden1 thumb_func_start sub_805FAD8 sub_805FAD8: @ 805FAD8 push {r4,lr} ldr r3, _0805FAF4 @ =gUnknown_083755CC 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 _0805FAF4: .4byte gUnknown_083755CC thumb_func_end sub_805FAD8 thumb_func_start sub_805FAF8 sub_805FAF8: @ 805FAF8 push {lr} bl npc_reset movs r0, 0 pop {r1} bx r1 thumb_func_end sub_805FAF8 thumb_func_start sub_805FB04 sub_805FB04: @ 805FB04 push {r4,lr} adds r4, r1, 0 bl FieldObjectExecRegularAnim lsls r0, 24 cmp r0, 0 beq _0805FB16 movs r0, 0 strh r0, [r4, 0x30] _0805FB16: movs r0, 0 pop {r4} pop {r1} bx r1 thumb_func_end sub_805FB04 thumb_func_start sub_805FB20 sub_805FB20: @ 805FB20 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, _0805FB3C @ =gMapObjects adds r0, r2 ldr r2, _0805FB40 @ =sub_805FB44 bl meta_step pop {r0} bx r0 .align 2, 0 _0805FB3C: .4byte gMapObjects _0805FB40: .4byte sub_805FB44 thumb_func_end sub_805FB20 thumb_func_start sub_805FB44 sub_805FB44: @ 805FB44 push {r4,lr} ldr r3, _0805FB60 @ =gUnknown_083755D0 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 _0805FB60: .4byte gUnknown_083755D0 thumb_func_end sub_805FB44 thumb_func_start sub_805FB64 sub_805FB64: @ 805FB64 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 FieldObjectSetRegularAnim movs r0, 0x1 strh r0, [r5, 0x30] pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_805FB64 thumb_func_start sub_805FB90 sub_805FB90: @ 805FB90 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, _0805FBAC @ =gMapObjects adds r0, r2 ldr r2, _0805FBB0 @ =sub_805FBB4 bl meta_step pop {r0} bx r0 .align 2, 0 _0805FBAC: .4byte gMapObjects _0805FBB0: .4byte sub_805FBB4 thumb_func_end sub_805FB90 thumb_func_start sub_805FBB4 sub_805FBB4: @ 805FBB4 push {r4,lr} ldr r3, _0805FBD0 @ =gUnknown_083755D8 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 _0805FBD0: .4byte gUnknown_083755D8 thumb_func_end sub_805FBB4 thumb_func_start sub_805FBD4 sub_805FBD4: @ 805FBD4 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 GetStepInPlaceDelay8AnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r5, 0 bl FieldObjectSetRegularAnim movs r0, 0x1 strh r0, [r5, 0x30] pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_805FBD4 thumb_func_start sub_805FC00 sub_805FC00: @ 805FC00 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, _0805FC1C @ =gMapObjects adds r0, r2 ldr r2, _0805FC20 @ =sub_805FC24 bl meta_step pop {r0} bx r0 .align 2, 0 _0805FC1C: .4byte gMapObjects _0805FC20: .4byte sub_805FC24 thumb_func_end sub_805FC00 thumb_func_start sub_805FC24 sub_805FC24: @ 805FC24 push {r4,lr} ldr r3, _0805FC40 @ =gUnknown_083755E0 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 _0805FC40: .4byte gUnknown_083755E0 thumb_func_end sub_805FC24 thumb_func_start sub_805FC44 sub_805FC44: @ 805FC44 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 FieldObjectSetRegularAnim movs r0, 0x1 strh r0, [r5, 0x30] pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_805FC44 thumb_func_start sub_805FC70 sub_805FC70: @ 805FC70 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, _0805FC8C @ =gMapObjects adds r0, r2 ldr r2, _0805FC90 @ =sub_805FC94 bl meta_step pop {r0} bx r0 .align 2, 0 _0805FC8C: .4byte gMapObjects _0805FC90: .4byte sub_805FC94 thumb_func_end sub_805FC70 thumb_func_start sub_805FC94 sub_805FC94: @ 805FC94 push {r4,lr} ldr r3, _0805FCB0 @ =gUnknown_083755E8 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 _0805FCB0: .4byte gUnknown_083755E8 thumb_func_end sub_805FC94 thumb_func_start sub_805FCB4 sub_805FCB4: @ 805FCB4 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 GetFaceDirectionAnimId adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r5, 0 bl FieldObjectSetRegularAnim 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_805FCB4 thumb_func_start sub_805FCE8 sub_805FCE8: @ 805FCE8 push {r4,lr} adds r4, r1, 0 bl FieldObjectExecRegularAnim lsls r0, 24 cmp r0, 0 bne _0805FCFA movs r0, 0 b _0805FD00 _0805FCFA: movs r0, 0x2 strh r0, [r4, 0x30] movs r0, 0x1 _0805FD00: pop {r4} pop {r1} bx r1 thumb_func_end sub_805FCE8 thumb_func_start sub_805FD08 sub_805FD08: @ 805FD08 ldrb r2, [r0] movs r1, 0x3 negs r1, r1 ands r1, r2 strb r1, [r0] movs r0, 0 bx lr .align 2, 0 thumb_func_end sub_805FD08 .section .text_805fd18 thumb_func_start sub_806113C sub_806113C: @ 806113C 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, _080611F4 @ =gUnknown_08375A34 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 FieldObjectSetDirection 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_8060320 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_80646E4 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 _080611F4: .4byte gUnknown_08375A34 thumb_func_end sub_806113C thumb_func_start maybe_shadow_1 maybe_shadow_1: @ 80611F8 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_806113C 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 sub_805FE28 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_806123C sub_806123C: @ 806123C 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, _080612C8 @ =gUnknown_08375A3A 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 _080612CC 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 _080612CC 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_8060320 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 _080612F0 .align 2, 0 _080612C8: .4byte gUnknown_08375A3A _080612CC: mov r1, r8 cmp r1, 0xFF bne _080612F0 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] _080612F0: mov r0, r8 add sp, 0x10 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_806123C thumb_func_start sub_8061300 sub_8061300: @ 8061300 push {lr} ldr r2, _08061310 @ =sub_8064704 bl sub_806123C lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 .align 2, 0 _08061310: .4byte sub_8064704 thumb_func_end sub_8061300 thumb_func_start sub_8061314 sub_8061314: @ 8061314 push {lr} ldr r2, _08061324 @ =sub_806478C bl sub_806123C lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 .align 2, 0 _08061324: .4byte sub_806478C thumb_func_end sub_8061314 thumb_func_start sub_8061328 sub_8061328: @ 8061328 push {lr} bl sub_8061300 lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF beq _0806133A movs r0, 0 b _0806133C _0806133A: movs r0, 0x1 _0806133C: pop {r1} bx r1 thumb_func_end sub_8061328 thumb_func_start sub_8061340 sub_8061340: @ 8061340 push {lr} bl sub_8061314 lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF beq _08061352 movs r0, 0 b _08061354 _08061352: movs r0, 0x1 _08061354: pop {r1} bx r1 thumb_func_end sub_8061340 thumb_func_start sub_8061358 sub_8061358: @ 8061358 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061300 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08061372 cmp r0, 0xFF bne _0806139E movs r0, 0x1 b _080613A0 _08061372: ldrb r0, [r4, 0x18] lsrs r0, 4 bl GetOppositeDirection adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl FieldObjectSetDirection 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 sub_805FE64 _0806139E: movs r0, 0 _080613A0: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061358 thumb_func_start sub_80613A8 sub_80613A8: @ 80613A8 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 sub_80613D4 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80613A8 thumb_func_start sub_80613D4 sub_80613D4: @ 80613D4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _080613E8 movs r0, 0 b _080613F8 _080613E8: 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 _080613F8: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80613D4 thumb_func_start sub_8061400 sub_8061400: @ 8061400 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 sub_806142C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061400 thumb_func_start sub_806142C sub_806142C: @ 806142C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08061440 movs r0, 0 b _08061450 _08061440: 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 _08061450: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806142C thumb_func_start sub_8061458 sub_8061458: @ 8061458 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 sub_8061484 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061458 thumb_func_start sub_8061484 sub_8061484: @ 8061484 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08061498 movs r0, 0 b _080614A8 _08061498: 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 _080614A8: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061484 thumb_func_start sub_80614B0 sub_80614B0: @ 80614B0 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 sub_80614DC lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80614B0 thumb_func_start sub_80614DC sub_80614DC: @ 80614DC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _080614F0 movs r0, 0 b _08061500 _080614F0: 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 _08061500: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80614DC thumb_func_start sub_8061508 sub_8061508: @ 8061508 movs r2, 0x1 strh r2, [r0, 0x32] strh r1, [r0, 0x34] bx lr thumb_func_end sub_8061508 thumb_func_start sub_8061510 sub_8061510: @ 8061510 push {lr} ldrh r0, [r1, 0x34] subs r0, 0x1 strh r0, [r1, 0x34] lsls r0, 16 cmp r0, 0 beq _08061522 movs r0, 0 b _08061528 _08061522: movs r0, 0x2 strh r0, [r1, 0x32] movs r0, 0x1 _08061528: pop {r1} bx r1 thumb_func_end sub_8061510 thumb_func_start sub_806152C sub_806152C: @ 806152C push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 adds r0, r4, 0 movs r1, 0x1 bl sub_8061508 adds r0, r5, 0 adds r1, r4, 0 bl sub_8061510 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806152C thumb_func_start sub_806154C sub_806154C: @ 806154C push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 adds r0, r4, 0 movs r1, 0x2 bl sub_8061508 adds r0, r5, 0 adds r1, r4, 0 bl sub_8061510 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806154C thumb_func_start sub_806156C sub_806156C: @ 806156C push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 adds r0, r4, 0 movs r1, 0x4 bl sub_8061508 adds r0, r5, 0 adds r1, r4, 0 bl sub_8061510 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806156C thumb_func_start sub_806158C sub_806158C: @ 806158C push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 adds r0, r4, 0 movs r1, 0x8 bl sub_8061508 adds r0, r5, 0 adds r1, r4, 0 bl sub_8061510 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806158C thumb_func_start sub_80615AC sub_80615AC: @ 80615AC push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 adds r0, r4, 0 movs r1, 0x10 bl sub_8061508 adds r0, r5, 0 adds r1, r4, 0 bl sub_8061510 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80615AC thumb_func_start sub_80615CC sub_80615CC: @ 80615CC 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 sub_80615EC lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80615CC thumb_func_start sub_80615EC sub_80615EC: @ 80615EC push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _080615FE movs r0, 0 b _08061604 _080615FE: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061604: pop {r4} pop {r1} bx r1 thumb_func_end sub_80615EC thumb_func_start sub_806160C sub_806160C: @ 806160C 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 sub_806162C lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806160C thumb_func_start sub_806162C sub_806162C: @ 806162C push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _0806163E movs r0, 0 b _08061644 _0806163E: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061644: pop {r4} pop {r1} bx r1 thumb_func_end sub_806162C thumb_func_start sub_806164C sub_806164C: @ 806164C 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 sub_806166C lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806164C thumb_func_start sub_806166C sub_806166C: @ 806166C push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _0806167E movs r0, 0 b _08061684 _0806167E: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061684: pop {r4} pop {r1} bx r1 thumb_func_end sub_806166C thumb_func_start sub_806168C sub_806168C: @ 806168C 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 sub_80616AC lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806168C thumb_func_start sub_80616AC sub_80616AC: @ 80616AC push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _080616BE movs r0, 0 b _080616C4 _080616BE: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _080616C4: pop {r4} pop {r1} bx r1 thumb_func_end sub_80616AC thumb_func_start sub_80616CC sub_80616CC: @ 80616CC 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 FieldObjectSetDirection mov r0, r8 adds r1, r6, 0 adds r2, r4, 0 bl sub_805FE28 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_80616CC thumb_func_start sub_8061714 sub_8061714: @ 8061714 push {lr} ldrh r0, [r1, 0x34] subs r0, 0x1 strh r0, [r1, 0x34] lsls r0, 16 cmp r0, 0 beq _08061726 movs r0, 0 b _08061738 _08061726: 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 _08061738: pop {r1} bx r1 thumb_func_end sub_8061714 thumb_func_start sub_806173C sub_806173C: @ 806173C 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 _08061766 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] _08061766: adds r0, r5, 0 adds r1, r4, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806173C thumb_func_start sub_8061778 sub_8061778: @ 8061778 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_806173C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061778 thumb_func_start sub_80617B0 sub_80617B0: @ 80617B0 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_806173C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80617B0 thumb_func_start sub_80617E8 sub_80617E8: @ 80617E8 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_806173C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80617E8 thumb_func_start sub_8061820 sub_8061820: @ 8061820 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_806173C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061820 thumb_func_start sub_8061858 sub_8061858: @ 8061858 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061858 thumb_func_start sub_8061890 sub_8061890: @ 8061890 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061890 thumb_func_start sub_80618C8 sub_80618C8: @ 80618C8 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80618C8 thumb_func_start sub_8061900 sub_8061900: @ 8061900 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061900 thumb_func_start sub_8061938 sub_8061938: @ 8061938 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061938 thumb_func_start sub_8061970 sub_8061970: @ 8061970 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061970 thumb_func_start sub_80619A8 sub_80619A8: @ 80619A8 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80619A8 thumb_func_start sub_80619E0 sub_80619E0: @ 80619E0 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80619E0 thumb_func_start sub_8061A18 sub_8061A18: @ 8061A18 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061A18 thumb_func_start sub_8061A50 sub_8061A50: @ 8061A50 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061A50 thumb_func_start sub_8061A88 sub_8061A88: @ 8061A88 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061A88 thumb_func_start sub_8061AC0 sub_8061AC0: @ 8061AC0 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061AC0 thumb_func_start sub_8061AF8 sub_8061AF8: @ 8061AF8 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 sub_8061B18 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061AF8 thumb_func_start sub_8061B18 sub_8061B18: @ 8061B18 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061B2A movs r0, 0 b _08061B30 _08061B2A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061B30: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061B18 thumb_func_start sub_8061B38 sub_8061B38: @ 8061B38 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 sub_8061B58 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061B38 thumb_func_start sub_8061B58 sub_8061B58: @ 8061B58 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061B6A movs r0, 0 b _08061B70 _08061B6A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061B70: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061B58 thumb_func_start sub_8061B78 sub_8061B78: @ 8061B78 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 sub_8061B98 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061B78 thumb_func_start sub_8061B98 sub_8061B98: @ 8061B98 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061BAA movs r0, 0 b _08061BB0 _08061BAA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061BB0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061B98 thumb_func_start sub_8061BB8 sub_8061BB8: @ 8061BB8 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 sub_8061BD8 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061BB8 thumb_func_start sub_8061BD8 sub_8061BD8: @ 8061BD8 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061BEA movs r0, 0 b _08061BF0 _08061BEA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061BF0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061BD8 thumb_func_start sub_8061BF8 sub_8061BF8: @ 8061BF8 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 sub_8061C18 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061BF8 thumb_func_start sub_8061C18 sub_8061C18: @ 8061C18 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061C2A movs r0, 0 b _08061C30 _08061C2A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061C30: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061C18 thumb_func_start sub_8061C38 sub_8061C38: @ 8061C38 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 sub_8061C58 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061C38 thumb_func_start sub_8061C58 sub_8061C58: @ 8061C58 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061C6A movs r0, 0 b _08061C70 _08061C6A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061C70: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061C58 thumb_func_start sub_8061C78 sub_8061C78: @ 8061C78 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 sub_8061C98 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061C78 thumb_func_start sub_8061C98 sub_8061C98: @ 8061C98 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061CAA movs r0, 0 b _08061CB0 _08061CAA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061CB0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061C98 thumb_func_start sub_8061CB8 sub_8061CB8: @ 8061CB8 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 sub_8061CD8 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061CB8 thumb_func_start sub_8061CD8 sub_8061CD8: @ 8061CD8 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061CEA movs r0, 0 b _08061CF0 _08061CEA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061CF0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061CD8 thumb_func_start sub_8061CF8 sub_8061CF8: @ 8061CF8 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 sub_8061D18 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061CF8 thumb_func_start sub_8061D18 sub_8061D18: @ 8061D18 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061D2A movs r0, 0 b _08061D30 _08061D2A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061D30: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061D18 thumb_func_start sub_8061D38 sub_8061D38: @ 8061D38 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 sub_8061D58 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061D38 thumb_func_start sub_8061D58 sub_8061D58: @ 8061D58 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061D6A movs r0, 0 b _08061D70 _08061D6A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061D70: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061D58 thumb_func_start sub_8061D78 sub_8061D78: @ 8061D78 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 sub_8061D98 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061D78 thumb_func_start sub_8061D98 sub_8061D98: @ 8061D98 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061DAA movs r0, 0 b _08061DB0 _08061DAA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061DB0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061D98 thumb_func_start sub_8061DB8 sub_8061DB8: @ 8061DB8 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 sub_8061DD8 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061DB8 thumb_func_start sub_8061DD8 sub_8061DD8: @ 8061DD8 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061DEA movs r0, 0 b _08061DF0 _08061DEA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061DF0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061DD8 thumb_func_start do_run_south_anim do_run_south_anim: @ 8061DF8 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 sub_8061E18 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end do_run_south_anim thumb_func_start sub_8061E18 sub_8061E18: @ 8061E18 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061E2A movs r0, 0 b _08061E30 _08061E2A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061E30: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061E18 thumb_func_start do_run_north_anim do_run_north_anim: @ 8061E38 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 sub_8061E58 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end do_run_north_anim thumb_func_start sub_8061E58 sub_8061E58: @ 8061E58 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061E6A movs r0, 0 b _08061E70 _08061E6A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061E70: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061E58 thumb_func_start do_run_west_anim do_run_west_anim: @ 8061E78 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 sub_8061E98 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end do_run_west_anim thumb_func_start sub_8061E98 sub_8061E98: @ 8061E98 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061EAA movs r0, 0 b _08061EB0 _08061EAA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061EB0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061E98 thumb_func_start do_run_east_anim do_run_east_anim: @ 8061EB8 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 sub_8061ED8 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end do_run_east_anim thumb_func_start sub_8061ED8 sub_8061ED8: @ 8061ED8 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08061EEA movs r0, 0 b _08061EF0 _08061EEA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061EF0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061ED8 thumb_func_start npc_set_direction_and_anim__an_proceed npc_set_direction_and_anim__an_proceed: @ 8061EF8 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 FieldObjectSetDirection 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 sub_8061F24 sub_8061F24: @ 8061F24 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 sub_8061F24 thumb_func_start sub_8061F3C sub_8061F3C: @ 8061F3C push {r4,lr} adds r4, r1, 0 adds r0, r4, 0 bl sub_8064864 lsls r0, 24 cmp r0, 0 bne _08061F50 movs r0, 0 b _08061F56 _08061F50: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08061F56: pop {r4} pop {r1} bx r1 thumb_func_end sub_8061F3C thumb_func_start sub_8061F5C sub_8061F5C: @ 8061F5C 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_806113C adds r0, r4, 0 bl sub_805FD88 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_8061F5C thumb_func_start sub_8061F90 sub_8061F90: @ 8061F90 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x1 bl sub_8061F5C adds r0, r4, 0 adds r1, r5, 0 bl sub_8061FB0 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061F90 thumb_func_start sub_8061FB0 sub_8061FB0: @ 8061FB0 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061340 lsls r0, 24 cmp r0, 0 bne _08061FC4 movs r0, 0 b _08061FD2 _08061FC4: movs r0, 0x2 strh r0, [r5, 0x32] ldrb r1, [r4] subs r0, 0x23 ands r0, r1 strb r0, [r4] movs r0, 0x1 _08061FD2: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061FB0 thumb_func_start sub_8061FD8 sub_8061FD8: @ 8061FD8 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x2 bl sub_8061F5C adds r0, r4, 0 adds r1, r5, 0 bl sub_8061FF8 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061FD8 thumb_func_start sub_8061FF8 sub_8061FF8: @ 8061FF8 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061340 lsls r0, 24 cmp r0, 0 bne _0806200C movs r0, 0 b _0806201A _0806200C: movs r0, 0x2 strh r0, [r5, 0x32] ldrb r1, [r4] subs r0, 0x23 ands r0, r1 strb r0, [r4] movs r0, 0x1 _0806201A: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8061FF8 thumb_func_start sub_8062020 sub_8062020: @ 8062020 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x3 bl sub_8061F5C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062040 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062020 thumb_func_start sub_8062040 sub_8062040: @ 8062040 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061340 lsls r0, 24 cmp r0, 0 bne _08062054 movs r0, 0 b _08062062 _08062054: movs r0, 0x2 strh r0, [r5, 0x32] ldrb r1, [r4] subs r0, 0x23 ands r0, r1 strb r0, [r4] movs r0, 0x1 _08062062: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062040 thumb_func_start sub_8062068 sub_8062068: @ 8062068 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x4 bl sub_8061F5C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062088 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062068 thumb_func_start sub_8062088 sub_8062088: @ 8062088 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061340 lsls r0, 24 cmp r0, 0 bne _0806209C movs r0, 0 b _080620AA _0806209C: movs r0, 0x2 strh r0, [r5, 0x32] ldrb r1, [r4] subs r0, 0x23 ands r0, r1 strb r0, [r4] movs r0, 0x1 _080620AA: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062088 thumb_func_start sub_80620B0 sub_80620B0: @ 80620B0 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 TryGetFieldObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _080620FA movs r1, 0x10 ldrsh r0, [r5, r1] movs r2, 0x12 ldrsh r1, [r5, r2] ldr r4, _08062108 @ =gMapObjects 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_805FE90 adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r5, 0 adds r1, r6, 0 bl an_look_any _080620FA: movs r0, 0x1 strh r0, [r6, 0x32] add sp, 0x4 pop {r4-r6} pop {r1} bx r1 .align 2, 0 _08062108: .4byte gMapObjects thumb_func_end sub_80620B0 thumb_func_start sub_806210C sub_806210C: @ 806210C 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 TryGetFieldObjectIdByLocalIdAndMap lsls r0, 24 cmp r0, 0 bne _0806215E movs r1, 0x10 ldrsh r0, [r5, r1] movs r2, 0x12 ldrsh r1, [r5, r2] ldr r4, _0806216C @ =gMapObjects 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_805FE90 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 an_look_any _0806215E: movs r0, 0x1 strh r0, [r6, 0x32] add sp, 0x4 pop {r4-r6} pop {r1} bx r1 .align 2, 0 _0806216C: .4byte gMapObjects thumb_func_end sub_806210C thumb_func_start sub_8062170 sub_8062170: @ 8062170 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 sub_8062170 thumb_func_start sub_8062180 sub_8062180: @ 8062180 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 sub_8062180 thumb_func_start sub_8062190 sub_8062190: @ 8062190 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 sub_80621BC lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062190 thumb_func_start sub_80621BC sub_80621BC: @ 80621BC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _080621D0 movs r0, 0 b _080621E0 _080621D0: 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 _080621E0: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80621BC thumb_func_start sub_80621E8 sub_80621E8: @ 80621E8 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 sub_8062214 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80621E8 thumb_func_start sub_8062214 sub_8062214: @ 8062214 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062228 movs r0, 0 b _08062238 _08062228: 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 _08062238: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062214 thumb_func_start sub_8062240 sub_8062240: @ 8062240 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 sub_806226C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062240 thumb_func_start sub_806226C sub_806226C: @ 806226C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062280 movs r0, 0 b _08062290 _08062280: 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 _08062290: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806226C thumb_func_start sub_8062298 sub_8062298: @ 8062298 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 sub_80622C4 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062298 thumb_func_start sub_80622C4 sub_80622C4: @ 80622C4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _080622D8 movs r0, 0 b _080622E8 _080622D8: 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 _080622E8: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80622C4 thumb_func_start sub_80622F0 sub_80622F0: @ 80622F0 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 sub_806231C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80622F0 thumb_func_start sub_806231C sub_806231C: @ 806231C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062330 movs r0, 0 b _08062340 _08062330: 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 _08062340: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806231C thumb_func_start sub_8062348 sub_8062348: @ 8062348 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 sub_8062374 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062348 thumb_func_start sub_8062374 sub_8062374: @ 8062374 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062388 movs r0, 0 b _08062398 _08062388: 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 _08062398: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062374 thumb_func_start sub_80623A0 sub_80623A0: @ 80623A0 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 sub_80623CC lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80623A0 thumb_func_start sub_80623CC sub_80623CC: @ 80623CC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _080623E0 movs r0, 0 b _080623F0 _080623E0: 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 _080623F0: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80623CC thumb_func_start sub_80623F8 sub_80623F8: @ 80623F8 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 sub_8062424 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80623F8 thumb_func_start sub_8062424 sub_8062424: @ 8062424 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062438 movs r0, 0 b _08062448 _08062438: 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 _08062448: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062424 thumb_func_start sub_8062450 sub_8062450: @ 8062450 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 sub_806247C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062450 thumb_func_start sub_806247C sub_806247C: @ 806247C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061358 lsls r0, 24 cmp r0, 0 bne _08062490 movs r0, 0 b _080624A0 _08062490: 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 _080624A0: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806247C thumb_func_start sub_80624A8 sub_80624A8: @ 80624A8 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 sub_80624D4 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80624A8 thumb_func_start sub_80624D4 sub_80624D4: @ 80624D4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061358 lsls r0, 24 cmp r0, 0 bne _080624E8 movs r0, 0 b _080624F8 _080624E8: 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 _080624F8: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80624D4 thumb_func_start sub_8062500 sub_8062500: @ 8062500 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 sub_806252C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062500 thumb_func_start sub_806252C sub_806252C: @ 806252C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061358 lsls r0, 24 cmp r0, 0 bne _08062540 movs r0, 0 b _08062550 _08062540: 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 _08062550: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806252C thumb_func_start sub_8062558 sub_8062558: @ 8062558 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 sub_8062584 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062558 thumb_func_start sub_8062584 sub_8062584: @ 8062584 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061358 lsls r0, 24 cmp r0, 0 bne _08062598 movs r0, 0 b _080625A8 _08062598: 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 _080625A8: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062584 thumb_func_start sub_80625B0 sub_80625B0: @ 80625B0 push {lr} ldr r3, _080625C4 @ =gUnknown_0836DC09 ldrb r2, [r0, 0x6] adds r2, r3 ldrb r2, [r2] bl an_look_any movs r0, 0x1 pop {r1} bx r1 .align 2, 0 _080625C4: .4byte gUnknown_0836DC09 thumb_func_end sub_80625B0 thumb_func_start sub_80625C8 sub_80625C8: @ 80625C8 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 sub_80625C8 thumb_func_start sub_80625D8 sub_80625D8: @ 80625D8 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 sub_80625D8 thumb_func_start sub_80625E8 sub_80625E8: @ 80625E8 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 sub_80625E8 thumb_func_start sub_80625F8 sub_80625F8: @ 80625F8 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 sub_80625F8 thumb_func_start sub_8062608 sub_8062608: @ 8062608 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 ldrb r0, [r4, 0x5] bl GetFieldObjectGraphicsInfo 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 sub_8062608 thumb_func_start sub_8062634 sub_8062634: @ 8062634 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 sub_8062634 thumb_func_start sub_8062644 sub_8062644: @ 8062644 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 sub_8062644 thumb_func_start do_exclamation_mark_bubble_1 do_exclamation_mark_bubble_1: @ 8062654 push {r4,lr} adds r4, r1, 0 ldr r1, _08062674 @ =gUnknown_0202FF84 adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 bl FieldObjectGetLocalIdAndMap movs r0, 0 bl FieldEffectStart movs r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r1} bx r1 .align 2, 0 _08062674: .4byte gUnknown_0202FF84 thumb_func_end do_exclamation_mark_bubble_1 thumb_func_start do_exclamation_mark_bubble_2 do_exclamation_mark_bubble_2: @ 8062678 push {r4,lr} adds r4, r1, 0 ldr r1, _08062698 @ =gUnknown_0202FF84 adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 bl FieldObjectGetLocalIdAndMap movs r0, 0x21 bl FieldEffectStart movs r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r1} bx r1 .align 2, 0 _08062698: .4byte gUnknown_0202FF84 thumb_func_end do_exclamation_mark_bubble_2 thumb_func_start do_heart_bubble do_heart_bubble: @ 806269C push {r4,lr} adds r4, r1, 0 ldr r1, _080626BC @ =gUnknown_0202FF84 adds r2, r1, 0x4 adds r3, r1, 0 adds r3, 0x8 bl FieldObjectGetLocalIdAndMap movs r0, 0x2E bl FieldEffectStart movs r0, 0x1 strh r0, [r4, 0x32] pop {r4} pop {r1} bx r1 .align 2, 0 _080626BC: .4byte gUnknown_0202FF84 thumb_func_end do_heart_bubble thumb_func_start sub_80626C0 sub_80626C0: @ 80626C0 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 ldrb r0, [r4, 0x6] cmp r0, 0x3F bne _080626D6 adds r0, r4, 0 bl sub_8084794 movs r0, 0 b _080626FE _080626D6: subs r0, 0x39 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bhi _080626F8 adds r0, r4, 0 bl sub_812869C movs r0, 0x1 strh r0, [r5, 0x32] adds r0, r4, 0 adds r1, r5, 0 bl sub_8062704 lsls r0, 24 lsrs r0, 24 b _080626FE _080626F8: movs r0, 0x2 strh r0, [r5, 0x32] movs r0, 0x1 _080626FE: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80626C0 thumb_func_start sub_8062704 sub_8062704: @ 8062704 push {r4,lr} adds r4, r1, 0 bl sub_81286C4 lsls r0, 24 cmp r0, 0 bne _08062716 movs r0, 0 b _0806271C _08062716: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _0806271C: pop {r4} pop {r1} bx r1 thumb_func_end sub_8062704 thumb_func_start sub_8062724 sub_8062724: @ 8062724 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 sub_8062724 thumb_func_start sub_8062740 sub_8062740: @ 8062740 push {r4,lr} adds r4, r1, 0 adds r0, r4, 0 bl sub_8064864 lsls r0, 24 cmp r0, 0 beq _0806275C adds r0, r4, 0 movs r1, 0x20 bl sub_8064820 movs r0, 0x2 strh r0, [r4, 0x32] _0806275C: movs r0, 0 pop {r4} pop {r1} bx r1 thumb_func_end sub_8062740 thumb_func_start sub_8062764 sub_8062764: @ 8062764 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 sub_8064824 lsls r0, 24 cmp r0, 0 beq _08062796 ldrb r0, [r4, 0x1] movs r1, 0x20 orrs r0, r1 strb r0, [r4, 0x1] movs r0, 0x3 strh r0, [r5, 0x32] _08062796: movs r0, 0 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062764 thumb_func_start sub_80627A0 sub_80627A0: @ 80627A0 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 sub_80627A0 thumb_func_start sub_80627BC sub_80627BC: @ 80627BC push {r4,lr} adds r4, r1, 0 adds r0, r4, 0 bl sub_8064864 lsls r0, 24 cmp r0, 0 beq _080627D8 adds r0, r4, 0 movs r1, 0x20 bl sub_8064820 movs r0, 0x2 strh r0, [r4, 0x32] _080627D8: movs r0, 0 pop {r4} pop {r1} bx r1 thumb_func_end sub_80627BC thumb_func_start sub_80627E0 sub_80627E0: @ 80627E0 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 sub_8064824 lsls r0, 24 cmp r0, 0 beq _08062812 ldrb r0, [r4, 0x1] movs r1, 0x20 orrs r0, r1 strb r0, [r4, 0x1] movs r0, 0x3 strh r0, [r5, 0x32] _08062812: movs r0, 0 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80627E0 thumb_func_start sub_806281C sub_806281C: @ 806281C 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 sub_806281C thumb_func_start sub_806282C sub_806282C: @ 806282C 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 sub_806282C thumb_func_start sub_806283C sub_806283C: @ 806283C 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 sub_806283C thumb_func_start sub_806286C sub_806286C: @ 806286C 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 sub_806286C thumb_func_start sub_806289C sub_806289C: @ 806289C push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 movs r2, 0x1 bl sub_8060ED8 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 sub_80628D0 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806289C thumb_func_start sub_80628D0 sub_80628D0: @ 80628D0 push {r4,lr} adds r4, r1, 0 bl an_walk_any_2 lsls r0, 24 cmp r0, 0 bne _080628E2 movs r0, 0 b _080628F4 _080628E2: 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 _080628F4: pop {r4} pop {r1} bx r1 thumb_func_end sub_80628D0 thumb_func_start sub_80628FC sub_80628FC: @ 80628FC push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 movs r2, 0x1 bl sub_8060ED8 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 sub_8062930 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80628FC thumb_func_start sub_8062930 sub_8062930: @ 8062930 push {r4,lr} adds r4, r1, 0 bl an_walk_any_2 lsls r0, 24 cmp r0, 0 bne _08062942 movs r0, 0 b _08062954 _08062942: 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 _08062954: pop {r4} pop {r1} bx r1 thumb_func_end sub_8062930 thumb_func_start sub_806295C sub_806295C: @ 806295C push {r4-r6,lr} adds r5, r0, 0 adds r6, r1, 0 lsls r4, r2, 24 lsrs r4, 24 adds r1, r4, 0 bl FieldObjectSetDirection adds r0, r5, 0 bl npc_coords_shift_still adds r0, r4, 0 bl sub_805FDD8 adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r5, 0 adds r1, r6, 0 bl sub_805FE64 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_806295C thumb_func_start sub_806299C sub_806299C: @ 806299C push {lr} movs r2, 0x1 bl sub_806295C movs r0, 0x1 pop {r1} bx r1 thumb_func_end sub_806299C thumb_func_start sub_80629AC sub_80629AC: @ 80629AC push {lr} movs r2, 0x2 bl sub_806295C movs r0, 0x1 pop {r1} bx r1 thumb_func_end sub_80629AC thumb_func_start sub_80629BC sub_80629BC: @ 80629BC push {lr} movs r2, 0x3 bl sub_806295C movs r0, 0x1 pop {r1} bx r1 thumb_func_end sub_80629BC thumb_func_start sub_80629CC sub_80629CC: @ 80629CC push {lr} movs r2, 0x4 bl sub_806295C movs r0, 0x1 pop {r1} bx r1 thumb_func_end sub_80629CC thumb_func_start sub_80629DC sub_80629DC: @ 80629DC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x1 bl sub_805FD98 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 sub_80629DC thumb_func_start sub_8062A00 sub_8062A00: @ 8062A00 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x2 bl sub_805FD98 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 sub_8062A00 thumb_func_start sub_8062A24 sub_8062A24: @ 8062A24 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x3 bl sub_805FD98 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 sub_8062A24 thumb_func_start sub_8062A48 sub_8062A48: @ 8062A48 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x4 bl sub_805FD98 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 sub_8062A48 thumb_func_start sub_8062A6C sub_8062A6C: @ 8062A6C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x1 bl sub_805FDB8 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 sub_8062A6C thumb_func_start sub_8062A90 sub_8062A90: @ 8062A90 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x2 bl sub_805FDB8 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 sub_8062A90 thumb_func_start sub_8062AB4 sub_8062AB4: @ 8062AB4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x3 bl sub_805FDB8 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 sub_8062AB4 thumb_func_start sub_8062AD8 sub_8062AD8: @ 8062AD8 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x4 bl sub_805FDB8 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 sub_8062AD8 thumb_func_start sub_8062AFC sub_8062AFC: @ 8062AFC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x1 bl sub_805FDC8 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 sub_8062AFC thumb_func_start sub_8062B20 sub_8062B20: @ 8062B20 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x2 bl sub_805FDC8 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 sub_8062B20 thumb_func_start sub_8062B44 sub_8062B44: @ 8062B44 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x3 bl sub_805FDC8 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 sub_8062B44 thumb_func_start sub_8062B68 sub_8062B68: @ 8062B68 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x4 bl sub_805FDC8 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 sub_8062B68 thumb_func_start sub_8062B8C sub_8062B8C: @ 8062B8C 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_806113C adds r0, r4, 0 bl sub_805FD98 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_8062B8C thumb_func_start sub_8062BD0 sub_8062BD0: @ 8062BD0 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062BFC lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062BD0 thumb_func_start sub_8062BFC sub_8062BFC: @ 8062BFC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062C10 movs r0, 0 b _08062C20 _08062C10: 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 _08062C20: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062BFC thumb_func_start sub_8062C28 sub_8062C28: @ 8062C28 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062C54 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062C28 thumb_func_start sub_8062C54 sub_8062C54: @ 8062C54 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062C68 movs r0, 0 b _08062C78 _08062C68: 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 _08062C78: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062C54 thumb_func_start sub_8062C80 sub_8062C80: @ 8062C80 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062CAC lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062C80 thumb_func_start sub_8062CAC sub_8062CAC: @ 8062CAC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062CC0 movs r0, 0 b _08062CD0 _08062CC0: 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 _08062CD0: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062CAC thumb_func_start sub_8062CD8 sub_8062CD8: @ 8062CD8 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062D04 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062CD8 thumb_func_start sub_8062D04 sub_8062D04: @ 8062D04 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062D18 movs r0, 0 b _08062D28 _08062D18: 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 _08062D28: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062D04 thumb_func_start sub_8062D30 sub_8062D30: @ 8062D30 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062D5C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062D30 thumb_func_start sub_8062D5C sub_8062D5C: @ 8062D5C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062D70 movs r0, 0 b _08062D80 _08062D70: 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 _08062D80: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062D5C thumb_func_start sub_8062D88 sub_8062D88: @ 8062D88 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062DB4 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062D88 thumb_func_start sub_8062DB4 sub_8062DB4: @ 8062DB4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062DC8 movs r0, 0 b _08062DD8 _08062DC8: 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 _08062DD8: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062DB4 thumb_func_start sub_8062DE0 sub_8062DE0: @ 8062DE0 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062E0C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062DE0 thumb_func_start sub_8062E0C sub_8062E0C: @ 8062E0C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062E20 movs r0, 0 b _08062E30 _08062E20: 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 _08062E30: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062E0C thumb_func_start sub_8062E38 sub_8062E38: @ 8062E38 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062E64 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062E38 thumb_func_start sub_8062E64 sub_8062E64: @ 8062E64 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062E78 movs r0, 0 b _08062E88 _08062E78: 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 _08062E88: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062E64 thumb_func_start sub_8062E90 sub_8062E90: @ 8062E90 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062EBC lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062E90 thumb_func_start sub_8062EBC sub_8062EBC: @ 8062EBC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062ED0 movs r0, 0 b _08062EE0 _08062ED0: 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 _08062EE0: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062EBC thumb_func_start sub_8062EE8 sub_8062EE8: @ 8062EE8 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062F14 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062EE8 thumb_func_start sub_8062F14 sub_8062F14: @ 8062F14 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062F28 movs r0, 0 b _08062F38 _08062F28: 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 _08062F38: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062F14 thumb_func_start sub_8062F40 sub_8062F40: @ 8062F40 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062F6C lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062F40 thumb_func_start sub_8062F6C sub_8062F6C: @ 8062F6C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062F80 movs r0, 0 b _08062F90 _08062F80: 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 _08062F90: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062F6C thumb_func_start sub_8062F98 sub_8062F98: @ 8062F98 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_8062B8C adds r0, r4, 0 adds r1, r5, 0 bl sub_8062FC4 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062F98 thumb_func_start sub_8062FC4 sub_8062FC4: @ 8062FC4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_8061328 lsls r0, 24 cmp r0, 0 bne _08062FD8 movs r0, 0 b _08062FE8 _08062FD8: 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 _08062FE8: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062FC4 thumb_func_start sub_8062FF0 sub_8062FF0: @ 8062FF0 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x1 bl sub_805FDD8 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8062FF0 thumb_func_start sub_8063028 sub_8063028: @ 8063028 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x2 bl sub_805FDD8 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063028 thumb_func_start sub_8063060 sub_8063060: @ 8063060 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x3 bl sub_805FDD8 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063060 thumb_func_start sub_8063098 sub_8063098: @ 8063098 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 adds r5, r1, 0 movs r0, 0x4 bl sub_805FDD8 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_80616CC adds r0, r4, 0 adds r1, r5, 0 bl sub_8061714 lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063098 thumb_func_start sub_80630D0 sub_80630D0: @ 80630D0 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_8060D20 ldrb r0, [r5, 0x18] lsls r0, 28 lsrs r0, 28 bl sub_805FD98 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_80630D0 thumb_func_start sub_8063108 sub_8063108: @ 8063108 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x1 movs r3, 0x1 bl sub_80630D0 adds r0, r4, 0 adds r1, r5, 0 bl sub_8063128 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063108 thumb_func_start sub_8063128 sub_8063128: @ 8063128 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _0806313A movs r0, 0 b _08063140 _0806313A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08063140: pop {r4} pop {r1} bx r1 thumb_func_end sub_8063128 thumb_func_start sub_8063148 sub_8063148: @ 8063148 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x2 movs r3, 0x1 bl sub_80630D0 adds r0, r4, 0 adds r1, r5, 0 bl sub_8063168 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063148 thumb_func_start sub_8063168 sub_8063168: @ 8063168 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _0806317A movs r0, 0 b _08063180 _0806317A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08063180: pop {r4} pop {r1} bx r1 thumb_func_end sub_8063168 thumb_func_start sub_8063188 sub_8063188: @ 8063188 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x3 movs r3, 0x1 bl sub_80630D0 adds r0, r4, 0 adds r1, r5, 0 bl sub_80631A8 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063188 thumb_func_start sub_80631A8 sub_80631A8: @ 80631A8 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _080631BA movs r0, 0 b _080631C0 _080631BA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _080631C0: pop {r4} pop {r1} bx r1 thumb_func_end sub_80631A8 thumb_func_start sub_80631C8 sub_80631C8: @ 80631C8 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x4 movs r3, 0x1 bl sub_80630D0 adds r0, r4, 0 adds r1, r5, 0 bl sub_80631E8 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80631C8 thumb_func_start sub_80631E8 sub_80631E8: @ 80631E8 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _080631FA movs r0, 0 b _08063200 _080631FA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08063200: pop {r4} pop {r1} bx r1 thumb_func_end sub_80631E8 thumb_func_start sub_8063208 sub_8063208: @ 8063208 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_8060D20 ldrb r0, [r4, 0x18] lsls r0, 28 lsrs r0, 28 bl sub_805FDD8 adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 adds r1, r5, 0 bl sub_805FE28 pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8063208 thumb_func_start sub_8063238 sub_8063238: @ 8063238 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x1 movs r3, 0x1 bl sub_8063208 adds r0, r4, 0 adds r1, r5, 0 bl sub_8063258 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063238 thumb_func_start sub_8063258 sub_8063258: @ 8063258 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _0806326A movs r0, 0 b _08063270 _0806326A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08063270: pop {r4} pop {r1} bx r1 thumb_func_end sub_8063258 thumb_func_start sub_8063278 sub_8063278: @ 8063278 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x2 movs r3, 0x1 bl sub_8063208 adds r0, r4, 0 adds r1, r5, 0 bl sub_8063298 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063278 thumb_func_start sub_8063298 sub_8063298: @ 8063298 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _080632AA movs r0, 0 b _080632B0 _080632AA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _080632B0: pop {r4} pop {r1} bx r1 thumb_func_end sub_8063298 thumb_func_start sub_80632B8 sub_80632B8: @ 80632B8 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x3 movs r3, 0x1 bl sub_8063208 adds r0, r4, 0 adds r1, r5, 0 bl sub_80632D8 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80632B8 thumb_func_start sub_80632D8 sub_80632D8: @ 80632D8 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _080632EA movs r0, 0 b _080632F0 _080632EA: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _080632F0: pop {r4} pop {r1} bx r1 thumb_func_end sub_80632D8 thumb_func_start sub_80632F8 sub_80632F8: @ 80632F8 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x4 movs r3, 0x1 bl sub_8063208 adds r0, r4, 0 adds r1, r5, 0 bl sub_8063318 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80632F8 thumb_func_start sub_8063318 sub_8063318: @ 8063318 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _0806332A movs r0, 0 b _08063330 _0806332A: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08063330: pop {r4} pop {r1} bx r1 thumb_func_end sub_8063318 thumb_func_start sub_8063338 sub_8063338: @ 8063338 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_8060D20 ldrb r0, [r5, 0x18] lsls r0, 28 lsrs r0, 28 bl sub_805FDB8 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_8063338 thumb_func_start sub_8063370 sub_8063370: @ 8063370 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x1 movs r3, 0x1 bl sub_8063338 adds r0, r4, 0 adds r1, r5, 0 bl sub_8063390 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063370 thumb_func_start sub_8063390 sub_8063390: @ 8063390 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _080633A2 movs r0, 0 b _080633A8 _080633A2: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _080633A8: pop {r4} pop {r1} bx r1 thumb_func_end sub_8063390 thumb_func_start sub_80633B0 sub_80633B0: @ 80633B0 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x2 movs r3, 0x1 bl sub_8063338 adds r0, r4, 0 adds r1, r5, 0 bl sub_80633D0 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80633B0 thumb_func_start sub_80633D0 sub_80633D0: @ 80633D0 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _080633E2 movs r0, 0 b _080633E8 _080633E2: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _080633E8: pop {r4} pop {r1} bx r1 thumb_func_end sub_80633D0 thumb_func_start sub_80633F0 sub_80633F0: @ 80633F0 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x3 movs r3, 0x1 bl sub_8063338 adds r0, r4, 0 adds r1, r5, 0 bl sub_8063410 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80633F0 thumb_func_start sub_8063410 sub_8063410: @ 8063410 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08063422 movs r0, 0 b _08063428 _08063422: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08063428: pop {r4} pop {r1} bx r1 thumb_func_end sub_8063410 thumb_func_start sub_8063430 sub_8063430: @ 8063430 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 movs r2, 0x4 movs r3, 0x1 bl sub_8063338 adds r0, r4, 0 adds r1, r5, 0 bl sub_8063450 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8063430 thumb_func_start sub_8063450 sub_8063450: @ 8063450 push {r4,lr} adds r4, r1, 0 bl npc_obj_ministep_stop_on_arrival lsls r0, 24 cmp r0, 0 bne _08063462 movs r0, 0 b _08063468 _08063462: movs r0, 0x2 strh r0, [r4, 0x32] movs r0, 0x1 _08063468: pop {r4} pop {r1} bx r1 thumb_func_end sub_8063450 thumb_func_start sub_8063470 sub_8063470: @ 8063470 movs r0, 0x1 bx lr thumb_func_end sub_8063470 thumb_func_start sub_8063474 sub_8063474: @ 8063474 adds r1, 0x2C ldrb r0, [r1] movs r2, 0x40 orrs r0, r2 strb r0, [r1] movs r0, 0x1 bx lr thumb_func_end sub_8063474 thumb_func_start npc_obj_transfer_image_anim_pause_flag npc_obj_transfer_image_anim_pause_flag: @ 8063484 push {lr} ldrb r0, [r0, 0x1] lsls r0, 29 cmp r0, 0 bge _0806349A adds r0, r1, 0 adds r0, 0x2C ldrb r1, [r0] movs r2, 0x40 orrs r1, r2 strb r1, [r0] _0806349A: pop {r0} bx r0 thumb_func_end npc_obj_transfer_image_anim_pause_flag thumb_func_start sub_80634A0 sub_80634A0: @ 80634A0 push {r4,lr} adds r4, r0, 0 ldrb r3, [r4, 0x1] lsls r0, r3, 28 cmp r0, 0 bge _080634C8 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] _080634C8: pop {r4} pop {r0} bx r0 thumb_func_end sub_80634A0 thumb_func_start sub_80634D0 sub_80634D0: @ 80634D0 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 bl sub_80634E8 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_80634D0 thumb_func_start sub_80634E8 sub_80634E8: @ 80634E8 push {r4-r6,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 GetFieldObjectGraphicsInfo adds r6, r0, 0 adds r0, r4, 0 adds r0, 0x3E ldrb r1, [r0] movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _0806354C 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, _08063544 @ =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, _08063548 @ =gSpriteCoordOffsetY adds r0, r1 ldrh r2, [r2] adds r0, r2 b _08063574 .align 2, 0 _08063544: .4byte gSpriteCoordOffsetX _08063548: .4byte gSpriteCoordOffsetY _0806354C: 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 _08063574: lsls r0, 16 lsrs r2, r0, 16 ldrh r0, [r6, 0x8] adds r0, r3 lsls r0, 16 lsrs r1, r0, 16 ldrh r0, [r6, 0xA] adds r0, r2 lsls r0, 16 lsrs r4, r0, 16 lsls r0, r3, 16 asrs r0, 16 cmp r0, 0xFF bgt _0806359C lsls r0, r1, 16 asrs r0, 16 movs r1, 0x10 negs r1, r1 cmp r0, r1 bge _080635A4 _0806359C: ldrb r0, [r5, 0x1] movs r1, 0x40 orrs r0, r1 strb r0, [r5, 0x1] _080635A4: lsls r0, r2, 16 asrs r0, 16 cmp r0, 0xAF bgt _080635B8 lsls r0, r4, 16 asrs r0, 16 movs r1, 0x10 negs r1, r1 cmp r0, r1 bge _080635C0 _080635B8: ldrb r0, [r5, 0x1] movs r1, 0x40 orrs r0, r1 strb r0, [r5, 0x1] _080635C0: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_80634E8 thumb_func_start npc_update_obj_anim_flag npc_update_obj_anim_flag: @ 80635C8 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 _080635EA movs r1, 0x4 adds r0, r3, 0 orrs r0, r1 strb r0, [r2] _080635EA: pop {r0} bx r0 thumb_func_end npc_update_obj_anim_flag .align 2, 0 @ Don't pad with nop.