pokeruby/asm/field_map_obj.s
2017-05-24 16:14:49 -04:00

11637 lines
185 KiB
ArmAsm

.include "constants/gba_constants.inc"
.include "constants/species_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_805E278
sub_805E278: @ 805E278
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, _0805E294 @ =gMapObjects
adds r0, r2
ldr r2, _0805E298 @ =sub_805E29C
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E294: .4byte gMapObjects
_0805E298: .4byte sub_805E29C
thumb_func_end sub_805E278
thumb_func_start sub_805E29C
sub_805E29C: @ 805E29C
push {r4,lr}
ldr r3, _0805E2B8 @ =gUnknown_083753E4
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
_0805E2B8: .4byte gUnknown_083753E4
thumb_func_end sub_805E29C
thumb_func_start sub_805E2BC
sub_805E2BC: @ 805E2BC
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
movs r0, 0x1
strh r0, [r5, 0x30]
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_805E2BC
thumb_func_start sub_805E2E8
sub_805E2E8: @ 805E2E8
push {r4,lr}
adds r4, r1, 0
bl FieldObjectExecRegularAnim
lsls r0, 24
cmp r0, 0
beq _0805E302
adds r0, r4, 0
movs r1, 0x30
bl sub_8064820
movs r0, 0x2
strh r0, [r4, 0x30]
_0805E302:
movs r0, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_805E2E8
thumb_func_start sub_805E30C
sub_805E30C: @ 805E30C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r0, r5, 0
bl sub_8064824
lsls r0, 24
cmp r0, 0
bne _0805E32A
adds r0, r4, 0
bl FieldObjectIsTrainerAndCloseToPlayer
lsls r0, 24
cmp r0, 0
beq _0805E32E
_0805E32A:
movs r0, 0x3
strh r0, [r5, 0x30]
_0805E32E:
movs r0, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_805E30C
thumb_func_start sub_805E338
sub_805E338: @ 805E338
push {r4,r5,lr}
sub sp, 0x8
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805E378 @ =gUnknown_083753F4
mov r0, sp
movs r2, 0x5
bl memcpy
adds r0, r4, 0
movs r1, 0
bl sub_805CD60
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
bne _0805E364
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
add r0, sp
ldrb r1, [r0]
_0805E364:
adds r0, r4, 0
bl FieldObjectSetDirection
movs r0, 0
strh r0, [r5, 0x30]
movs r0, 0x1
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E378: .4byte gUnknown_083753F4
thumb_func_end sub_805E338
thumb_func_start sub_805E37C
sub_805E37C: @ 805E37C
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, _0805E398 @ =gMapObjects
adds r0, r2
ldr r2, _0805E39C @ =sub_805E3A0
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E398: .4byte gMapObjects
_0805E39C: .4byte sub_805E3A0
thumb_func_end sub_805E37C
thumb_func_start sub_805E3A0
sub_805E3A0: @ 805E3A0
push {r4,lr}
ldr r3, _0805E3BC @ =gUnknown_083753FC
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
_0805E3BC: .4byte gUnknown_083753FC
thumb_func_end sub_805E3A0
thumb_func_start sub_805E3C0
sub_805E3C0: @ 805E3C0
push {r4,lr}
adds r4, r1, 0
bl npc_reset
movs r0, 0x1
strh r0, [r4, 0x30]
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_805E3C0
thumb_func_start sub_805E3D4
sub_805E3D4: @ 805E3D4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
ldr r0, _0805E408 @ =gUnknown_0836DC09
ldrb r1, [r4, 0x6]
adds r1, r0
ldrb r1, [r1]
adds r0, r4, 0
adds r0, 0x21
ldrb r0, [r0]
cmp r0, 0
beq _0805E3F6
adds r0, r1, 0
bl GetOppositeDirection
lsls r0, 24
lsrs r1, r0, 24
_0805E3F6:
adds r0, r4, 0
bl FieldObjectSetDirection
movs r0, 0x2
strh r0, [r5, 0x30]
movs r0, 0x1
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E408: .4byte gUnknown_0836DC09
thumb_func_end sub_805E3D4
thumb_func_start sub_805E40C
sub_805E40C: @ 805E40C
push {r4-r7,lr}
adds r4, r0, 0
adds r7, r1, 0
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0
beq _0805E43C
ldr r1, [r4, 0xC]
ldr r0, [r4, 0x10]
cmp r1, r0
bne _0805E43C
movs r0, 0
strb r0, [r2]
ldrb r0, [r4, 0x18]
lsrs r0, 4
bl GetOppositeDirection
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
bl FieldObjectSetDirection
_0805E43C:
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
bl sub_805FF20
lsls r0, 24
lsrs r5, r0, 24
ldrb r0, [r4, 0x18]
lsrs r0, 4
bl GetGoSpeed0AnimId
lsls r0, 24
lsrs r6, r0, 24
cmp r5, 0x1
bne _0805E492
adds r1, r4, 0
adds r1, 0x21
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
ldrb r0, [r4, 0x18]
lsrs r0, 4
bl GetOppositeDirection
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
bl FieldObjectSetDirection
ldrb r0, [r4, 0x18]
lsrs r0, 4
bl GetGoSpeed0AnimId
lsls r0, 24
lsrs r6, r0, 24
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
bl sub_805FF20
lsls r0, 24
lsrs r5, r0, 24
_0805E492:
cmp r5, 0
beq _0805E4A4
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
bl GetStepInPlaceDelay16AnimId
lsls r0, 24
lsrs r6, r0, 24
_0805E4A4:
adds r0, r4, 0
adds r1, r7, 0
adds r2, r6, 0
bl FieldObjectSetRegularAnim
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
strb r0, [r4]
movs r0, 0x3
strh r0, [r7, 0x30]
movs r0, 0x1
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_805E40C
thumb_func_start sub_805E4C4
sub_805E4C4: @ 805E4C4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
bl FieldObjectExecRegularAnim
lsls r0, 24
cmp r0, 0
beq _0805E4E2
ldrb r0, [r4]
movs r1, 0x3
negs r1, r1
ands r1, r0
strb r1, [r4]
movs r0, 0x1
strh r0, [r5, 0x30]
_0805E4E2:
movs r0, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_805E4C4
thumb_func_start sub_805E4EC
sub_805E4EC: @ 805E4EC
push {r4,lr}
adds r4, r1, 0
bl npc_reset
movs r0, 0x1
strh r0, [r4, 0x30]
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_805E4EC
thumb_func_start MoveFieldObjectInNextDirectionInSequence
MoveFieldObjectInNextDirectionInSequence: @ 805E500
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r4, r0, 0
mov r8, r1
adds r7, r2, 0
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x3
bne _0805E522
ldr r1, [r4, 0xC]
ldr r0, [r4, 0x10]
cmp r1, r0
bne _0805E522
movs r0, 0
strb r0, [r2]
_0805E522:
adds r5, r4, 0
adds r5, 0x21
ldrb r0, [r5]
adds r0, r7, r0
ldrb r1, [r0]
adds r0, r4, 0
bl FieldObjectSetDirection
ldrb r0, [r4, 0x18]
lsrs r0, 4
bl GetGoSpeed0AnimId
lsls r0, 24
lsrs r6, r0, 24
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
bl sub_805FF20
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0805E57C
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
ldrb r0, [r5]
adds r0, r7, r0
ldrb r1, [r0]
adds r0, r4, 0
bl FieldObjectSetDirection
ldrb r0, [r4, 0x18]
lsrs r0, 4
bl GetGoSpeed0AnimId
lsls r0, 24
lsrs r6, r0, 24
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
bl sub_805FF20
lsls r0, 24
lsrs r0, 24
_0805E57C:
cmp r0, 0
beq _0805E58E
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
bl GetStepInPlaceDelay16AnimId
lsls r0, 24
lsrs r6, r0, 24
_0805E58E:
adds r0, r4, 0
mov r1, r8
adds r2, r6, 0
bl FieldObjectSetRegularAnim
ldrb r0, [r4]
movs r1, 0x2
orrs r0, r1
strb r0, [r4]
movs r0, 0x2
mov r1, r8
strh r0, [r1, 0x30]
movs r0, 0x1
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end MoveFieldObjectInNextDirectionInSequence
thumb_func_start sub_805E5B4
sub_805E5B4: @ 805E5B4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
bl FieldObjectExecRegularAnim
lsls r0, 24
cmp r0, 0
beq _0805E5D2
ldrb r0, [r4]
movs r1, 0x3
negs r1, r1
ands r1, r0
strb r1, [r4]
movs r0, 0x1
strh r0, [r5, 0x30]
_0805E5D2:
movs r0, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_805E5B4
thumb_func_start sub_805E5DC
sub_805E5DC: @ 805E5DC
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, _0805E5F8 @ =gMapObjects
adds r0, r2
ldr r2, _0805E5FC @ =sub_805E600
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E5F8: .4byte gMapObjects
_0805E5FC: .4byte sub_805E600
thumb_func_end sub_805E5DC
thumb_func_start sub_805E600
sub_805E600: @ 805E600
push {r4,lr}
ldr r3, _0805E61C @ =gUnknown_0837540C
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
_0805E61C: .4byte gUnknown_0837540C
thumb_func_end sub_805E600
thumb_func_start sub_805E620
sub_805E620: @ 805E620
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805E664 @ =gUnknown_08375418
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805E64C
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805E64C
movs r0, 0x3
strb r0, [r2]
_0805E64C:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E664: .4byte gUnknown_08375418
thumb_func_end sub_805E620
thumb_func_start sub_805E668
sub_805E668: @ 805E668
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, _0805E684 @ =gMapObjects
adds r0, r2
ldr r2, _0805E688 @ =sub_805E68C
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E684: .4byte gMapObjects
_0805E688: .4byte sub_805E68C
thumb_func_end sub_805E668
thumb_func_start sub_805E68C
sub_805E68C: @ 805E68C
push {r4,lr}
ldr r3, _0805E6A8 @ =gUnknown_0837541C
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
_0805E6A8: .4byte gUnknown_0837541C
thumb_func_end sub_805E68C
thumb_func_start sub_805E6AC
sub_805E6AC: @ 805E6AC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805E6F0 @ =gUnknown_08375428
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x1
bne _0805E6D8
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805E6D8
movs r0, 0x2
strb r0, [r2]
_0805E6D8:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E6F0: .4byte gUnknown_08375428
thumb_func_end sub_805E6AC
thumb_func_start sub_805E6F4
sub_805E6F4: @ 805E6F4
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, _0805E710 @ =gMapObjects
adds r0, r2
ldr r2, _0805E714 @ =sub_805E718
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E710: .4byte gMapObjects
_0805E714: .4byte sub_805E718
thumb_func_end sub_805E6F4
thumb_func_start sub_805E718
sub_805E718: @ 805E718
push {r4,lr}
ldr r3, _0805E734 @ =gUnknown_0837542C
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
_0805E734: .4byte gUnknown_0837542C
thumb_func_end sub_805E718
thumb_func_start sub_805E738
sub_805E738: @ 805E738
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805E77C @ =gUnknown_08375438
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x1
bne _0805E764
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805E764
movs r0, 0x2
strb r0, [r2]
_0805E764:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E77C: .4byte gUnknown_08375438
thumb_func_end sub_805E738
thumb_func_start sub_805E780
sub_805E780: @ 805E780
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, _0805E79C @ =gMapObjects
adds r0, r2
ldr r2, _0805E7A0 @ =sub_805E7A4
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E79C: .4byte gMapObjects
_0805E7A0: .4byte sub_805E7A4
thumb_func_end sub_805E780
thumb_func_start sub_805E7A4
sub_805E7A4: @ 805E7A4
push {r4,lr}
ldr r3, _0805E7C0 @ =gUnknown_0837543C
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
_0805E7C0: .4byte gUnknown_0837543C
thumb_func_end sub_805E7A4
thumb_func_start sub_805E7C4
sub_805E7C4: @ 805E7C4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805E808 @ =gUnknown_08375448
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805E7F0
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805E7F0
movs r0, 0x3
strb r0, [r2]
_0805E7F0:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E808: .4byte gUnknown_08375448
thumb_func_end sub_805E7C4
thumb_func_start sub_805E80C
sub_805E80C: @ 805E80C
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, _0805E828 @ =gMapObjects
adds r0, r2
ldr r2, _0805E82C @ =sub_805E830
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E828: .4byte gMapObjects
_0805E82C: .4byte sub_805E830
thumb_func_end sub_805E80C
thumb_func_start sub_805E830
sub_805E830: @ 805E830
push {r4,lr}
ldr r3, _0805E84C @ =gUnknown_0837544C
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
_0805E84C: .4byte gUnknown_0837544C
thumb_func_end sub_805E830
thumb_func_start sub_805E850
sub_805E850: @ 805E850
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805E894 @ =gUnknown_08375458
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805E87C
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805E87C
movs r0, 0x3
strb r0, [r2]
_0805E87C:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E894: .4byte gUnknown_08375458
thumb_func_end sub_805E850
thumb_func_start sub_805E898
sub_805E898: @ 805E898
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, _0805E8B4 @ =gMapObjects
adds r0, r2
ldr r2, _0805E8B8 @ =sub_805E8BC
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E8B4: .4byte gMapObjects
_0805E8B8: .4byte sub_805E8BC
thumb_func_end sub_805E898
thumb_func_start sub_805E8BC
sub_805E8BC: @ 805E8BC
push {r4,lr}
ldr r3, _0805E8D8 @ =gUnknown_0837545C
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
_0805E8D8: .4byte gUnknown_0837545C
thumb_func_end sub_805E8BC
thumb_func_start sub_805E8DC
sub_805E8DC: @ 805E8DC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805E920 @ =gUnknown_08375468
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x1
bne _0805E908
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805E908
movs r0, 0x2
strb r0, [r2]
_0805E908:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E920: .4byte gUnknown_08375468
thumb_func_end sub_805E8DC
thumb_func_start sub_805E924
sub_805E924: @ 805E924
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, _0805E940 @ =gMapObjects
adds r0, r2
ldr r2, _0805E944 @ =sub_805E948
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E940: .4byte gMapObjects
_0805E944: .4byte sub_805E948
thumb_func_end sub_805E924
thumb_func_start sub_805E948
sub_805E948: @ 805E948
push {r4,lr}
ldr r3, _0805E964 @ =gUnknown_0837546C
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
_0805E964: .4byte gUnknown_0837546C
thumb_func_end sub_805E948
thumb_func_start sub_805E968
sub_805E968: @ 805E968
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805E9AC @ =gUnknown_08375240
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x1
bne _0805E994
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805E994
movs r0, 0x2
strb r0, [r2]
_0805E994:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805E9AC: .4byte gUnknown_08375240
thumb_func_end sub_805E968
thumb_func_start sub_805E9B0
sub_805E9B0: @ 805E9B0
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, _0805E9CC @ =gMapObjects
adds r0, r2
ldr r2, _0805E9D0 @ =sub_805E9D4
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805E9CC: .4byte gMapObjects
_0805E9D0: .4byte sub_805E9D4
thumb_func_end sub_805E9B0
thumb_func_start sub_805E9D4
sub_805E9D4: @ 805E9D4
push {r4,lr}
ldr r3, _0805E9F0 @ =gUnknown_08375478
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
_0805E9F0: .4byte gUnknown_08375478
thumb_func_end sub_805E9D4
thumb_func_start sub_805E9F4
sub_805E9F4: @ 805E9F4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EA38 @ =gUnknown_08375484
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805EA20
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EA20
movs r0, 0x3
strb r0, [r2]
_0805EA20:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EA38: .4byte gUnknown_08375484
thumb_func_end sub_805E9F4
thumb_func_start sub_805EA3C
sub_805EA3C: @ 805EA3C
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, _0805EA58 @ =gMapObjects
adds r0, r2
ldr r2, _0805EA5C @ =sub_805EA60
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EA58: .4byte gMapObjects
_0805EA5C: .4byte sub_805EA60
thumb_func_end sub_805EA3C
thumb_func_start sub_805EA60
sub_805EA60: @ 805EA60
push {r4,lr}
ldr r3, _0805EA7C @ =gUnknown_08375488
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
_0805EA7C: .4byte gUnknown_08375488
thumb_func_end sub_805EA60
thumb_func_start sub_805EA80
sub_805EA80: @ 805EA80
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EAC4 @ =gUnknown_08375494
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805EAAC
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EAAC
movs r0, 0x3
strb r0, [r2]
_0805EAAC:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EAC4: .4byte gUnknown_08375494
thumb_func_end sub_805EA80
thumb_func_start sub_805EAC8
sub_805EAC8: @ 805EAC8
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, _0805EAE4 @ =gMapObjects
adds r0, r2
ldr r2, _0805EAE8 @ =sub_805EAEC
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EAE4: .4byte gMapObjects
_0805EAE8: .4byte sub_805EAEC
thumb_func_end sub_805EAC8
thumb_func_start sub_805EAEC
sub_805EAEC: @ 805EAEC
push {r4,lr}
ldr r3, _0805EB08 @ =gUnknown_08375498
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
_0805EB08: .4byte gUnknown_08375498
thumb_func_end sub_805EAEC
thumb_func_start sub_805EB0C
sub_805EB0C: @ 805EB0C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EB50 @ =gUnknown_083754A4
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x1
bne _0805EB38
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EB38
movs r0, 0x2
strb r0, [r2]
_0805EB38:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EB50: .4byte gUnknown_083754A4
thumb_func_end sub_805EB0C
thumb_func_start sub_805EB54
sub_805EB54: @ 805EB54
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, _0805EB70 @ =gMapObjects
adds r0, r2
ldr r2, _0805EB74 @ =sub_805EB78
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EB70: .4byte gMapObjects
_0805EB74: .4byte sub_805EB78
thumb_func_end sub_805EB54
thumb_func_start sub_805EB78
sub_805EB78: @ 805EB78
push {r4,lr}
ldr r3, _0805EB94 @ =gUnknown_083754A8
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
_0805EB94: .4byte gUnknown_083754A8
thumb_func_end sub_805EB78
thumb_func_start sub_805EB98
sub_805EB98: @ 805EB98
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EBDC @ =gUnknown_083754B4
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x1
bne _0805EBC4
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EBC4
movs r0, 0x2
strb r0, [r2]
_0805EBC4:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EBDC: .4byte gUnknown_083754B4
thumb_func_end sub_805EB98
thumb_func_start sub_805EBE0
sub_805EBE0: @ 805EBE0
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, _0805EBFC @ =gMapObjects
adds r0, r2
ldr r2, _0805EC00 @ =sub_805EC04
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EBFC: .4byte gMapObjects
_0805EC00: .4byte sub_805EC04
thumb_func_end sub_805EBE0
thumb_func_start sub_805EC04
sub_805EC04: @ 805EC04
push {r4,lr}
ldr r3, _0805EC20 @ =gUnknown_083754B8
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
_0805EC20: .4byte gUnknown_083754B8
thumb_func_end sub_805EC04
thumb_func_start sub_805EC24
sub_805EC24: @ 805EC24
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EC68 @ =gUnknown_083754C4
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805EC50
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EC50
movs r0, 0x3
strb r0, [r2]
_0805EC50:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EC68: .4byte gUnknown_083754C4
thumb_func_end sub_805EC24
thumb_func_start sub_805EC6C
sub_805EC6C: @ 805EC6C
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, _0805EC88 @ =gMapObjects
adds r0, r2
ldr r2, _0805EC8C @ =sub_805EC90
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EC88: .4byte gMapObjects
_0805EC8C: .4byte sub_805EC90
thumb_func_end sub_805EC6C
thumb_func_start sub_805EC90
sub_805EC90: @ 805EC90
push {r4,lr}
ldr r3, _0805ECAC @ =gUnknown_083754C8
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
_0805ECAC: .4byte gUnknown_083754C8
thumb_func_end sub_805EC90
thumb_func_start sub_805ECB0
sub_805ECB0: @ 805ECB0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805ECF4 @ =gUnknown_083754D4
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805ECDC
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805ECDC
movs r0, 0x3
strb r0, [r2]
_0805ECDC:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805ECF4: .4byte gUnknown_083754D4
thumb_func_end sub_805ECB0
thumb_func_start sub_805ECF8
sub_805ECF8: @ 805ECF8
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, _0805ED14 @ =gMapObjects
adds r0, r2
ldr r2, _0805ED18 @ =sub_805ED1C
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805ED14: .4byte gMapObjects
_0805ED18: .4byte sub_805ED1C
thumb_func_end sub_805ECF8
thumb_func_start sub_805ED1C
sub_805ED1C: @ 805ED1C
push {r4,lr}
ldr r3, _0805ED38 @ =gUnknown_083754D8
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
_0805ED38: .4byte gUnknown_083754D8
thumb_func_end sub_805ED1C
thumb_func_start sub_805ED3C
sub_805ED3C: @ 805ED3C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805ED80 @ =gUnknown_083754E4
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x1
bne _0805ED68
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805ED68
movs r0, 0x2
strb r0, [r2]
_0805ED68:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805ED80: .4byte gUnknown_083754E4
thumb_func_end sub_805ED3C
thumb_func_start sub_805ED84
sub_805ED84: @ 805ED84
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, _0805EDA0 @ =gMapObjects
adds r0, r2
ldr r2, _0805EDA4 @ =sub_805EDA8
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EDA0: .4byte gMapObjects
_0805EDA4: .4byte sub_805EDA8
thumb_func_end sub_805ED84
thumb_func_start sub_805EDA8
sub_805EDA8: @ 805EDA8
push {r4,lr}
ldr r3, _0805EDC4 @ =gUnknown_083754E8
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
_0805EDC4: .4byte gUnknown_083754E8
thumb_func_end sub_805EDA8
thumb_func_start sub_805EDC8
sub_805EDC8: @ 805EDC8
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EE0C @ =gUnknown_083754F4
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x1
bne _0805EDF4
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EDF4
movs r0, 0x2
strb r0, [r2]
_0805EDF4:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EE0C: .4byte gUnknown_083754F4
thumb_func_end sub_805EDC8
thumb_func_start sub_805EE10
sub_805EE10: @ 805EE10
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, _0805EE2C @ =gMapObjects
adds r0, r2
ldr r2, _0805EE30 @ =sub_805EE34
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EE2C: .4byte gMapObjects
_0805EE30: .4byte sub_805EE34
thumb_func_end sub_805EE10
thumb_func_start sub_805EE34
sub_805EE34: @ 805EE34
push {r4,lr}
ldr r3, _0805EE50 @ =gUnknown_083754F8
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
_0805EE50: .4byte gUnknown_083754F8
thumb_func_end sub_805EE34
thumb_func_start sub_805EE54
sub_805EE54: @ 805EE54
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EE98 @ =gUnknown_08375504
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805EE80
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EE80
movs r0, 0x3
strb r0, [r2]
_0805EE80:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EE98: .4byte gUnknown_08375504
thumb_func_end sub_805EE54
thumb_func_start sub_805EE9C
sub_805EE9C: @ 805EE9C
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, _0805EEB8 @ =gMapObjects
adds r0, r2
ldr r2, _0805EEBC @ =sub_805EEC0
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EEB8: .4byte gMapObjects
_0805EEBC: .4byte sub_805EEC0
thumb_func_end sub_805EE9C
thumb_func_start sub_805EEC0
sub_805EEC0: @ 805EEC0
push {r4,lr}
ldr r3, _0805EEDC @ =gUnknown_08375508
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
_0805EEDC: .4byte gUnknown_08375508
thumb_func_end sub_805EEC0
thumb_func_start sub_805EEE0
sub_805EEE0: @ 805EEE0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EF24 @ =gUnknown_08375514
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805EF0C
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EF0C
movs r0, 0x3
strb r0, [r2]
_0805EF0C:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EF24: .4byte gUnknown_08375514
thumb_func_end sub_805EEE0
thumb_func_start sub_805EF28
sub_805EF28: @ 805EF28
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, _0805EF44 @ =gMapObjects
adds r0, r2
ldr r2, _0805EF48 @ =sub_805EF4C
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EF44: .4byte gMapObjects
_0805EF48: .4byte sub_805EF4C
thumb_func_end sub_805EF28
thumb_func_start sub_805EF4C
sub_805EF4C: @ 805EF4C
push {r4,lr}
ldr r3, _0805EF68 @ =gUnknown_08375518
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
_0805EF68: .4byte gUnknown_08375518
thumb_func_end sub_805EF4C
thumb_func_start sub_805EF6C
sub_805EF6C: @ 805EF6C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805EFB0 @ =gUnknown_08375524
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805EF98
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805EF98
movs r0, 0x3
strb r0, [r2]
_0805EF98:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805EFB0: .4byte gUnknown_08375524
thumb_func_end sub_805EF6C
thumb_func_start sub_805EFB4
sub_805EFB4: @ 805EFB4
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, _0805EFD0 @ =gMapObjects
adds r0, r2
ldr r2, _0805EFD4 @ =sub_805EFD8
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805EFD0: .4byte gMapObjects
_0805EFD4: .4byte sub_805EFD8
thumb_func_end sub_805EFB4
thumb_func_start sub_805EFD8
sub_805EFD8: @ 805EFD8
push {r4,lr}
ldr r3, _0805EFF4 @ =gUnknown_08375528
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
_0805EFF4: .4byte gUnknown_08375528
thumb_func_end sub_805EFD8
thumb_func_start sub_805EFF8
sub_805EFF8: @ 805EFF8
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805F03C @ =gUnknown_08375534
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805F024
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805F024
movs r0, 0x3
strb r0, [r2]
_0805F024:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805F03C: .4byte gUnknown_08375534
thumb_func_end sub_805EFF8
thumb_func_start sub_805F040
sub_805F040: @ 805F040
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, _0805F05C @ =gMapObjects
adds r0, r2
ldr r2, _0805F060 @ =sub_805F064
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805F05C: .4byte gMapObjects
_0805F060: .4byte sub_805F064
thumb_func_end sub_805F040
thumb_func_start sub_805F064
sub_805F064: @ 805F064
push {r4,lr}
ldr r3, _0805F080 @ =gUnknown_08375538
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
_0805F080: .4byte gUnknown_08375538
thumb_func_end sub_805F064
thumb_func_start sub_805F084
sub_805F084: @ 805F084
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805F0C8 @ =gUnknown_08375544
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805F0B0
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805F0B0
movs r0, 0x3
strb r0, [r2]
_0805F0B0:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805F0C8: .4byte gUnknown_08375544
thumb_func_end sub_805F084
thumb_func_start sub_805F0CC
sub_805F0CC: @ 805F0CC
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, _0805F0E8 @ =gMapObjects
adds r0, r2
ldr r2, _0805F0EC @ =sub_805F0F0
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805F0E8: .4byte gMapObjects
_0805F0EC: .4byte sub_805F0F0
thumb_func_end sub_805F0CC
thumb_func_start sub_805F0F0
sub_805F0F0: @ 805F0F0
push {r4,lr}
ldr r3, _0805F10C @ =gUnknown_08375548
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
_0805F10C: .4byte gUnknown_08375548
thumb_func_end sub_805F0F0
thumb_func_start sub_805F110
sub_805F110: @ 805F110
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805F154 @ =gUnknown_08375554
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805F13C
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805F13C
movs r0, 0x3
strb r0, [r2]
_0805F13C:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805F154: .4byte gUnknown_08375554
thumb_func_end sub_805F110
thumb_func_start sub_805F158
sub_805F158: @ 805F158
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, _0805F174 @ =gMapObjects
adds r0, r2
ldr r2, _0805F178 @ =sub_805F17C
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805F174: .4byte gMapObjects
_0805F178: .4byte sub_805F17C
thumb_func_end sub_805F158
thumb_func_start sub_805F17C
sub_805F17C: @ 805F17C
push {r4,lr}
ldr r3, _0805F198 @ =gUnknown_08375558
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
_0805F198: .4byte gUnknown_08375558
thumb_func_end sub_805F17C
thumb_func_start sub_805F19C
sub_805F19C: @ 805F19C
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805F1E0 @ =gUnknown_08375564
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805F1C8
movs r0, 0xE
ldrsh r1, [r4, r0]
movs r3, 0x12
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805F1C8
movs r0, 0x3
strb r0, [r2]
_0805F1C8:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805F1E0: .4byte gUnknown_08375564
thumb_func_end sub_805F19C
thumb_func_start sub_805F1E4
sub_805F1E4: @ 805F1E4
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, _0805F200 @ =gMapObjects
adds r0, r2
ldr r2, _0805F204 @ =sub_805F208
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805F200: .4byte gMapObjects
_0805F204: .4byte sub_805F208
thumb_func_end sub_805F1E4
thumb_func_start sub_805F208
sub_805F208: @ 805F208
push {r4,lr}
ldr r3, _0805F224 @ =gUnknown_08375568
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
_0805F224: .4byte gUnknown_08375568
thumb_func_end sub_805F208
thumb_func_start sub_805F228
sub_805F228: @ 805F228
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805F26C @ =gUnknown_08375574
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805F254
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805F254
movs r0, 0x3
strb r0, [r2]
_0805F254:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805F26C: .4byte gUnknown_08375574
thumb_func_end sub_805F228
thumb_func_start sub_805F270
sub_805F270: @ 805F270
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, _0805F28C @ =gMapObjects
adds r0, r2
ldr r2, _0805F290 @ =sub_805F294
bl meta_step
pop {r0}
bx r0
.align 2, 0
_0805F28C: .4byte gMapObjects
_0805F290: .4byte sub_805F294
thumb_func_end sub_805F270
thumb_func_start sub_805F294
sub_805F294: @ 805F294
push {r4,lr}
ldr r3, _0805F2B0 @ =gUnknown_08375578
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
_0805F2B0: .4byte gUnknown_08375578
thumb_func_end sub_805F294
thumb_func_start sub_805F2B4
sub_805F2B4: @ 805F2B4
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _0805F2F8 @ =gUnknown_08375584
mov r0, sp
movs r2, 0x4
bl memcpy
adds r2, r4, 0
adds r2, 0x21
ldrb r0, [r2]
cmp r0, 0x2
bne _0805F2E0
movs r0, 0xC
ldrsh r1, [r4, r0]
movs r3, 0x10
ldrsh r0, [r4, r3]
cmp r1, r0
bne _0805F2E0
movs r0, 0x3
strb r0, [r2]
_0805F2E0:
adds r0, r4, 0
adds r1, r5, 0
mov r2, sp
bl MoveFieldObjectInNextDirectionInSequence
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805F2F8: .4byte gUnknown_08375584
thumb_func_end sub_805F2B4
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_805FE28
sub_805FE28: @ 805FE28
push {r4,lr}
adds r3, r1, 0
lsls r2, 24
lsrs r2, 24
ldrb r0, [r0, 0x1]
lsls r0, 27
lsrs r4, r0, 31
cmp r4, 0
bne _0805FE5E
adds r0, r3, 0
adds r0, 0x2A
strb r2, [r0]
adds r0, 0x1
ldrb r2, [r0]
adds r1, r0, 0
cmp r2, 0x1
bne _0805FE50
movs r0, 0x2
strb r0, [r1]
b _0805FE56
_0805FE50:
cmp r2, 0x3
bne _0805FE56
strb r4, [r1]
_0805FE56:
ldrb r1, [r1]
adds r0, r3, 0
bl SeekSpriteAnim
_0805FE5E:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_805FE28
thumb_func_start sub_805FE64
sub_805FE64: @ 805FE64
push {lr}
lsls r2, 24
lsrs r2, 24
ldrb r0, [r0, 0x1]
lsls r0, 27
cmp r0, 0
blt _0805FE8C
adds r0, r1, 0
adds r0, 0x2A
strb r2, [r0]
movs r2, 0x3
adds r0, 0x1
ldrb r0, [r0]
cmp r0, 0x1
bhi _0805FE84
movs r2, 0x1
_0805FE84:
adds r0, r1, 0
adds r1, r2, 0
bl SeekSpriteAnim
_0805FE8C:
pop {r0}
bx r0
thumb_func_end sub_805FE64
thumb_func_start sub_805FE90
sub_805FE90: @ 805FE90
push {lr}
lsls r1, 16
lsrs r1, 16
lsls r3, 16
lsrs r3, 16
lsls r0, 16
asrs r0, 16
lsls r2, 16
asrs r2, 16
cmp r0, r2
ble _0805FEAA
movs r0, 0x3
b _0805FEC0
_0805FEAA:
cmp r0, r2
bge _0805FEB2
movs r0, 0x4
b _0805FEC0
_0805FEB2:
lsls r1, 16
lsls r0, r3, 16
cmp r1, r0
bgt _0805FEBE
movs r0, 0x1
b _0805FEC0
_0805FEBE:
movs r0, 0x2
_0805FEC0:
pop {r1}
bx r1
thumb_func_end sub_805FE90
thumb_func_start npc_set_running_behaviour_etc
npc_set_running_behaviour_etc: @ 805FEC4
push {r4,lr}
mov r12, r0
lsls r1, 24
lsrs r1, 24
movs r3, 0
strb r1, [r0, 0x6]
adds r0, 0x21
strb r3, [r0]
adds r0, 0x1
strb r3, [r0]
ldr r4, _0805FF08 @ =gSprites
mov r0, r12
ldrb r2, [r0, 0x4]
lsls r0, r2, 4
adds r0, r2
lsls r0, 2
adds r2, r4, 0
adds r2, 0x1C
adds r0, r2
ldr r2, _0805FF0C @ =gUnknown_0836DA88
lsls r1, 2
adds r1, r2
ldr r1, [r1]
str r1, [r0]
mov r0, r12
ldrb r1, [r0, 0x4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
strh r3, [r0, 0x30]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0805FF08: .4byte gSprites
_0805FF0C: .4byte gUnknown_0836DA88
thumb_func_end npc_set_running_behaviour_etc
thumb_func_start npc_running_behaviour_by_direction
npc_running_behaviour_by_direction: @ 805FF10
lsls r0, 24
lsrs r0, 24
ldr r1, _0805FF1C @ =gUnknown_0837567B
adds r0, r1
ldrb r0, [r0]
bx lr
.align 2, 0
_0805FF1C: .4byte gUnknown_0837567B
thumb_func_end npc_running_behaviour_by_direction
thumb_func_start sub_805FF20
sub_805FF20: @ 805FF20
push {r4-r6,lr}
sub sp, 0x4
adds r6, r0, 0
lsls r5, r1, 24
lsrs r5, 24
ldrh r1, [r6, 0x10]
mov r0, sp
strh r1, [r0]
ldrh r0, [r6, 0x12]
mov r4, sp
adds r4, 0x2
strh r0, [r4]
adds r0, r5, 0
mov r1, sp
adds r2, r4, 0
bl MoveCoords
mov r0, sp
movs r2, 0
ldrsh r1, [r0, r2]
movs r0, 0
ldrsh r2, [r4, r0]
adds r0, r6, 0
adds r3, r5, 0
bl npc_block_way
lsls r0, 24
lsrs r0, 24
add sp, 0x4
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_805FF20
thumb_func_start npc_block_way
npc_block_way: @ 805FF60
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
adds r6, r0, 0
lsls r1, 16
lsls r2, 16
lsls r3, 24
lsrs r7, r3, 24
mov r8, r7
lsrs r0, r1, 16
mov r9, r0
asrs r5, r1, 16
lsrs r0, r2, 16
mov r10, r0
asrs r4, r2, 16
adds r0, r6, 0
adds r1, r5, 0
adds r2, r4, 0
bl IsCoordOutsideFieldObjectMovementRect
lsls r0, 24
cmp r0, 0
beq _0805FF96
movs r0, 0x1
b _08060016
_0805FF96:
adds r0, r5, 0
adds r1, r4, 0
bl MapGridIsImpassableAt
lsls r0, 24
cmp r0, 0
bne _0805FFD8
adds r0, r5, 0
adds r1, r4, 0
bl GetMapBorderIdAt
movs r1, 0x1
negs r1, r1
cmp r0, r1
beq _0805FFD8
adds r0, r6, 0
adds r1, r5, 0
adds r2, r4, 0
adds r3, r7, 0
bl IsMetatileDirectionallyImpassable
lsls r0, 24
cmp r0, 0
bne _0805FFD8
ldrb r0, [r6, 0x1]
lsrs r0, 7
cmp r0, 0
beq _0805FFDC
mov r0, r8
bl CanCameraMoveInDirection
cmp r0, 0
bne _0805FFDC
_0805FFD8:
movs r0, 0x2
b _08060016
_0805FFDC:
ldrb r0, [r6, 0xB]
lsls r0, 28
lsrs r0, 28
mov r2, r9
lsls r1, r2, 16
asrs r5, r1, 16
mov r2, r10
lsls r1, r2, 16
asrs r4, r1, 16
adds r1, r5, 0
adds r2, r4, 0
bl IsZCoordMismatchAt
lsls r0, 24
cmp r0, 0
beq _08060000
movs r0, 0x3
b _08060016
_08060000:
adds r0, r6, 0
adds r1, r5, 0
adds r2, r4, 0
bl CheckForCollisionBetweenFieldObjects
lsls r0, 24
cmp r0, 0
bne _08060014
movs r0, 0
b _08060016
_08060014:
movs r0, 0x4
_08060016:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end npc_block_way
thumb_func_start sub_8060024
sub_8060024: @ 8060024
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
adds r7, r0, 0
lsls r1, 16
lsls r2, 16
lsls r3, 24
lsrs r3, 24
mov r8, r3
lsrs r0, r1, 16
mov r9, r0
asrs r6, r1, 16
lsrs r0, r2, 16
mov r10, r0
asrs r5, r2, 16
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
bl IsCoordOutsideFieldObjectMovementRect
lsls r0, 24
lsrs r0, 24
negs r1, r0
orrs r1, r0
lsrs r4, r1, 31
adds r0, r6, 0
adds r1, r5, 0
bl MapGridIsImpassableAt
lsls r0, 24
cmp r0, 0
bne _0806009C
adds r0, r6, 0
adds r1, r5, 0
bl GetMapBorderIdAt
movs r1, 0x1
negs r1, r1
cmp r0, r1
beq _0806009C
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
mov r3, r8
bl IsMetatileDirectionallyImpassable
lsls r0, 24
cmp r0, 0
bne _0806009C
ldrb r0, [r7, 0x1]
lsrs r0, 7
cmp r0, 0
beq _080600A0
mov r0, r8
bl CanCameraMoveInDirection
cmp r0, 0
bne _080600A0
_0806009C:
movs r0, 0x2
orrs r4, r0
_080600A0:
ldrb r0, [r7, 0xB]
lsls r0, 28
lsrs r0, 28
mov r2, r9
lsls r1, r2, 16
asrs r6, r1, 16
mov r2, r10
lsls r1, r2, 16
asrs r5, r1, 16
adds r1, r6, 0
adds r2, r5, 0
bl IsZCoordMismatchAt
lsls r0, 24
cmp r0, 0
beq _080600C8
movs r0, 0x4
orrs r4, r0
lsls r0, r4, 24
lsrs r4, r0, 24
_080600C8:
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
bl CheckForCollisionBetweenFieldObjects
lsls r0, 24
cmp r0, 0
beq _080600E0
movs r0, 0x8
orrs r4, r0
lsls r0, r4, 24
lsrs r4, r0, 24
_080600E0:
adds r0, r4, 0
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8060024
thumb_func_start IsCoordOutsideFieldObjectMovementRect
IsCoordOutsideFieldObjectMovementRect: @ 80600F0
push {r4,r5,lr}
adds r4, r0, 0
lsls r1, 16
lsrs r3, r1, 16
lsls r2, 16
lsrs r5, r2, 16
ldrb r1, [r4, 0x19]
movs r0, 0xF
ands r0, r1
cmp r0, 0
beq _08060128
lsls r1, 28
lsrs r2, r1, 28
ldrh r0, [r4, 0xC]
subs r2, r0, r2
lsrs r1, 28
adds r0, r1
lsls r0, 16
lsrs r1, r0, 16
lsls r2, 16
lsls r0, r3, 16
asrs r3, r0, 16
cmp r2, r0
bgt _08060154
lsls r0, r1, 16
asrs r0, 16
cmp r0, r3
blt _08060154
_08060128:
ldrb r1, [r4, 0x19]
movs r0, 0xF0
ands r0, r1
cmp r0, 0
beq _08060158
lsls r1, 24
lsrs r2, r1, 28
ldrh r0, [r4, 0xE]
subs r2, r0, r2
lsrs r1, 28
adds r0, r1
lsls r0, 16
lsrs r1, r0, 16
lsls r2, 16
lsls r0, r5, 16
asrs r3, r0, 16
cmp r2, r0
bgt _08060154
lsls r0, r1, 16
asrs r0, 16
cmp r0, r3
bge _08060158
_08060154:
movs r0, 0x1
b _0806015A
_08060158:
movs r0, 0
_0806015A:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end IsCoordOutsideFieldObjectMovementRect
thumb_func_start IsMetatileDirectionallyImpassable
IsMetatileDirectionallyImpassable: @ 8060160
push {r4-r7,lr}
lsls r1, 16
lsrs r6, r1, 16
lsls r2, 16
lsrs r7, r2, 16
lsls r3, 24
ldr r1, _080601A8 @ =gUnknown_08375684
lsrs r3, 22
subs r5, r3, 0x4
adds r1, r5, r1
ldrb r0, [r0, 0x1E]
ldr r1, [r1]
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _080601A2
ldr r4, _080601AC @ =gUnknown_08375694
adds r4, r5, r4
lsls r0, r6, 16
asrs r0, 16
lsls r1, r7, 16
asrs r1, 16
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
ldr r1, [r4]
bl _call_via_r1
lsls r0, 24
cmp r0, 0
beq _080601B0
_080601A2:
movs r0, 0x1
b _080601B2
.align 2, 0
_080601A8: .4byte gUnknown_08375684
_080601AC: .4byte gUnknown_08375694
_080601B0:
movs r0, 0
_080601B2:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end IsMetatileDirectionallyImpassable
thumb_func_start CheckForCollisionBetweenFieldObjects
CheckForCollisionBetweenFieldObjects: @ 80601B8
push {r4-r7,lr}
adds r6, r0, 0
lsls r1, 16
lsrs r7, r1, 16
movs r4, 0
lsls r2, 16
asrs r5, r2, 16
_080601C6:
lsls r0, r4, 3
adds r0, r4
lsls r0, 2
ldr r1, _0806021C @ =gMapObjects
adds r2, r0, r1
ldrb r0, [r2]
lsls r0, 31
cmp r0, 0
beq _08060220
cmp r2, r6
beq _08060220
movs r0, 0x10
ldrsh r1, [r2, r0]
lsls r0, r7, 16
asrs r3, r0, 16
cmp r1, r3
bne _080601F0
movs r1, 0x12
ldrsh r0, [r2, r1]
cmp r0, r5
beq _08060200
_080601F0:
movs r1, 0x14
ldrsh r0, [r2, r1]
cmp r0, r3
bne _08060220
movs r1, 0x16
ldrsh r0, [r2, r1]
cmp r0, r5
bne _08060220
_08060200:
ldrb r0, [r6, 0xB]
lsls r0, 28
lsrs r0, 28
ldrb r1, [r2, 0xB]
lsls r1, 28
lsrs r1, 28
bl AreZCoordsCompatible
lsls r0, 24
cmp r0, 0
beq _08060220
movs r0, 0x1
b _0806022C
.align 2, 0
_0806021C: .4byte gMapObjects
_08060220:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xF
bls _080601C6
movs r0, 0
_0806022C:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end CheckForCollisionBetweenFieldObjects
thumb_func_start sub_8060234
sub_8060234: @ 8060234
push {lr}
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r2, 24
mov r3, sp
bl TryGetFieldObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08060280
ldr r3, _08060278 @ =gSprites
ldr r2, _0806027C @ =gMapObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r0, r2
ldrb r1, [r0, 0x4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r3
ldrh r1, [r0, 0x3C]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _08060280
movs r0, 0x1
b _08060282
.align 2, 0
_08060278: .4byte gSprites
_0806027C: .4byte gMapObjects
_08060280:
movs r0, 0
_08060282:
add sp, 0x4
pop {r1}
bx r1
thumb_func_end sub_8060234
thumb_func_start sub_8060288
sub_8060288: @ 8060288
push {lr}
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r2, 24
mov r3, sp
bl TryGetFieldObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _080602C6
ldr r3, _080602CC @ =gSprites
ldr r2, _080602D0 @ =gMapObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
adds r0, r2
ldrb r0, [r0, 0x4]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r3
ldrh r2, [r1, 0x3C]
movs r0, 0x4
orrs r0, r2
strh r0, [r1, 0x3C]
_080602C6:
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_080602CC: .4byte gSprites
_080602D0: .4byte gMapObjects
thumb_func_end sub_8060288
thumb_func_start MoveCoords
MoveCoords: @ 80602D4
push {r4,lr}
lsls r0, 24
ldr r3, _080602F4 @ =gDirectionToVector
lsrs r0, 22
adds r0, r3
ldrh r3, [r0]
ldrh r4, [r1]
adds r3, r4
strh r3, [r1]
ldrh r0, [r0, 0x2]
ldrh r1, [r2]
adds r0, r1
strh r0, [r2]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080602F4: .4byte gDirectionToVector
thumb_func_end MoveCoords
thumb_func_start unref_sub_80602F8
unref_sub_80602F8: @ 80602F8
push {r4,lr}
lsls r0, 24
ldr r3, _0806031C @ =gDirectionToVector
lsrs r0, 22
adds r0, r3
ldrh r3, [r0]
lsls r3, 4
ldrh r4, [r1]
adds r3, r4
strh r3, [r1]
ldrh r0, [r0, 0x2]
lsls r0, 4
ldrh r1, [r2]
adds r0, r1
strh r0, [r2]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0806031C: .4byte gDirectionToVector
thumb_func_end unref_sub_80602F8
thumb_func_start sub_8060320
sub_8060320: @ 8060320
push {r4-r7,lr}
adds r4, r1, 0
ldr r1, [sp, 0x14]
lsls r0, 24
lsls r3, 16
lsrs r3, 16
adds r7, r3, 0
lsls r1, 16
lsrs r6, r1, 16
mov r12, r6
ldr r1, _08060384 @ =gDirectionToVector
lsrs r0, 22
adds r5, r0, r1
movs r0, 0
ldrsh r1, [r5, r0]
cmp r1, 0
ble _0806034C
lsls r0, r3, 16
asrs r0, 16
ldrh r3, [r4]
adds r0, r3
strh r0, [r4]
_0806034C:
cmp r1, 0
bge _0806035A
ldrh r1, [r4]
lsls r0, r7, 16
asrs r0, 16
subs r1, r0
strh r1, [r4]
_0806035A:
movs r0, 0x2
ldrsh r1, [r5, r0]
cmp r1, 0
ble _0806036C
lsls r0, r6, 16
asrs r0, 16
ldrh r3, [r2]
adds r0, r3
strh r0, [r2]
_0806036C:
cmp r1, 0
bge _0806037C
ldrh r1, [r2]
mov r3, r12
lsls r0, r3, 16
asrs r0, 16
subs r1, r0
strh r1, [r2]
_0806037C:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08060384: .4byte gDirectionToVector
thumb_func_end sub_8060320
thumb_func_start sub_8060388
sub_8060388: @ 8060388
push {r4,r5,lr}
ldr r5, _080603C0 @ =gSaveBlock1
ldrh r4, [r5]
lsls r0, 16
asrs r0, 16
subs r0, r4
lsls r0, 4
strh r0, [r2]
ldrh r0, [r5, 0x2]
lsls r1, 16
asrs r1, 16
subs r1, r0
lsls r1, 4
strh r1, [r3]
ldr r1, _080603C4 @ =gUnknown_0300489C
ldrh r0, [r2]
ldrh r1, [r1]
subs r0, r1
strh r0, [r2]
ldr r1, _080603C8 @ =gUnknown_03004898
ldrh r0, [r3]
ldrh r1, [r1]
subs r0, r1
strh r0, [r3]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080603C0: .4byte gSaveBlock1
_080603C4: .4byte gUnknown_0300489C
_080603C8: .4byte gUnknown_03004898
thumb_func_end sub_8060388
thumb_func_start sub_80603CC
sub_80603CC: @ 80603CC
push {r4-r7,lr}
adds r7, r2, 0
mov r12, r3
lsls r0, 16
lsrs r5, r0, 16
lsls r1, 16
lsrs r6, r1, 16
ldr r0, _0806045C @ =gUnknown_0300489C
ldrh r0, [r0]
negs r0, r0
ldr r1, _08060460 @ =gUnknown_03004880
ldr r2, [r1, 0x10]
subs r0, r2
lsls r0, 16
lsrs r3, r0, 16
ldr r0, _08060464 @ =gUnknown_03004898
ldrh r0, [r0]
negs r0, r0
ldr r1, [r1, 0x14]
subs r0, r1
lsls r0, 16
lsrs r4, r0, 16
cmp r2, 0
ble _08060406
lsls r0, r3, 16
movs r3, 0x80
lsls r3, 13
adds r0, r3
lsrs r3, r0, 16
_08060406:
cmp r2, 0
bge _08060412
lsls r0, r3, 16
ldr r2, _08060468 @ =0xfff00000
adds r0, r2
lsrs r3, r0, 16
_08060412:
cmp r1, 0
ble _08060420
lsls r0, r4, 16
movs r2, 0x80
lsls r2, 13
adds r0, r2
lsrs r4, r0, 16
_08060420:
cmp r1, 0
bge _0806042C
lsls r0, r4, 16
ldr r1, _08060468 @ =0xfff00000
adds r0, r1
lsrs r4, r0, 16
_0806042C:
ldr r2, _0806046C @ =gSaveBlock1
ldrh r1, [r2]
lsls r0, r5, 16
asrs r0, 16
subs r0, r1
lsls r0, 4
lsls r1, r3, 16
asrs r1, 16
adds r1, r0
strh r1, [r7]
ldrh r1, [r2, 0x2]
lsls r0, r6, 16
asrs r0, 16
subs r0, r1
lsls r0, 4
lsls r1, r4, 16
asrs r1, 16
adds r1, r0
mov r2, r12
strh r1, [r2]
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0806045C: .4byte gUnknown_0300489C
_08060460: .4byte gUnknown_03004880
_08060464: .4byte gUnknown_03004898
_08060468: .4byte 0xfff00000
_0806046C: .4byte gSaveBlock1
thumb_func_end sub_80603CC
thumb_func_start sub_8060470
sub_8060470: @ 8060470
push {r4-r6,lr}
mov r6, r8
push {r6}
adds r6, r0, 0
mov r8, r1
adds r4, r2, 0
adds r5, r3, 0
lsls r4, 16
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
movs r1, 0
ldrsh r0, [r6, r1]
mov r2, r8
movs r3, 0
ldrsh r1, [r2, r3]
adds r2, r6, 0
mov r3, r8
bl sub_80603CC
lsls r4, 16
asrs r4, 16
ldrh r0, [r6]
adds r4, r0
strh r4, [r6]
lsls r5, 16
asrs r5, 16
mov r1, r8
ldrh r1, [r1]
adds r5, r1
mov r2, r8
strh r5, [r2]
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8060470
thumb_func_start GetFieldObjectMovingCameraOffset
GetFieldObjectMovingCameraOffset: @ 80604BC
push {lr}
adds r2, r0, 0
movs r0, 0
strh r0, [r2]
strh r0, [r1]
ldr r3, _080604F8 @ =gUnknown_03004880
ldr r0, [r3, 0x10]
cmp r0, 0
ble _080604D2
movs r0, 0x1
strh r0, [r2]
_080604D2:
ldr r0, [r3, 0x10]
cmp r0, 0
bge _080604DE
ldrh r0, [r2]
subs r0, 0x1
strh r0, [r2]
_080604DE:
ldr r2, [r3, 0x14]
cmp r2, 0
ble _080604EA
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
_080604EA:
cmp r2, 0
bge _080604F4
ldrh r0, [r1]
subs r0, 0x1
strh r0, [r1]
_080604F4:
pop {r0}
bx r0
.align 2, 0
_080604F8: .4byte gUnknown_03004880
thumb_func_end GetFieldObjectMovingCameraOffset
thumb_func_start FieldObjectMoveDestCoords
FieldObjectMoveDestCoords: @ 80604FC
push {r4,lr}
lsls r1, 24
lsrs r1, 24
ldrh r4, [r0, 0x10]
strh r4, [r2]
ldrh r0, [r0, 0x12]
strh r0, [r3]
adds r0, r1, 0
adds r1, r2, 0
adds r2, r3, 0
bl MoveCoords
pop {r4}
pop {r0}
bx r0
thumb_func_end FieldObjectMoveDestCoords
thumb_func_start FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive: @ 806051C
push {lr}
ldrb r1, [r0]
movs r0, 0x42
ands r0, r1
cmp r0, 0
bne _0806052C
movs r0, 0
b _0806052E
_0806052C:
movs r0, 0x1
_0806052E:
pop {r1}
bx r1
thumb_func_end FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
thumb_func_start FieldObjectIsSpecialAnimActive
FieldObjectIsSpecialAnimActive: @ 8060534
push {lr}
adds r1, r0, 0
ldrb r0, [r1]
lsls r0, 25
cmp r0, 0
bge _0806054A
ldrb r0, [r1, 0x1C]
cmp r0, 0xFF
beq _0806054A
movs r0, 0x1
b _0806054C
_0806054A:
movs r0, 0
_0806054C:
pop {r1}
bx r1
thumb_func_end FieldObjectIsSpecialAnimActive
thumb_func_start FieldObjectSetSpecialAnim
FieldObjectSetSpecialAnim: @ 8060550
push {r4-r6,lr}
adds r4, r0, 0
lsls r1, 24
lsrs r5, r1, 24
bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0
bne _08060590
adds r0, r4, 0
bl UnfreezeMapObject
strb r5, [r4, 0x1C]
ldrb r0, [r4]
movs r1, 0x40
orrs r0, r1
movs r1, 0x7F
ands r0, r1
strb r0, [r4]
ldr r2, _0806058C @ =gSprites
ldrb r1, [r4, 0x4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r2
strh r6, [r0, 0x32]
movs r0, 0
b _08060592
.align 2, 0
_0806058C: .4byte gSprites
_08060590:
movs r0, 0x1
_08060592:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end FieldObjectSetSpecialAnim
thumb_func_start FieldObjectForceSetSpecialAnim
FieldObjectForceSetSpecialAnim: @ 8060598
push {r4,r5,lr}
adds r5, r0, 0
lsls r4, r1, 24
lsrs r4, 24
bl FieldObjectClearAnimIfSpecialAnimActive
adds r0, r5, 0
adds r1, r4, 0
bl FieldObjectSetSpecialAnim
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end FieldObjectForceSetSpecialAnim
thumb_func_start FieldObjectClearAnimIfSpecialAnimActive
FieldObjectClearAnimIfSpecialAnimActive: @ 80605B4
push {lr}
adds r1, r0, 0
ldrb r0, [r1]
lsls r0, 25
cmp r0, 0
bge _080605C6
adds r0, r1, 0
bl FieldObjectClearAnim
_080605C6:
pop {r0}
bx r0
thumb_func_end FieldObjectClearAnimIfSpecialAnimActive
thumb_func_start FieldObjectClearAnim
FieldObjectClearAnim: @ 80605CC
movs r1, 0xFF
strb r1, [r0, 0x1C]
ldrb r2, [r0]
movs r1, 0x41
negs r1, r1
ands r1, r2
movs r2, 0x7F
ands r1, r2
strb r1, [r0]
ldr r3, _080605FC @ =gSprites
ldrb r2, [r0, 0x4]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r3
movs r2, 0
strh r2, [r1, 0x30]
ldrb r1, [r0, 0x4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r3
strh r2, [r0, 0x32]
bx lr
.align 2, 0
_080605FC: .4byte gSprites
thumb_func_end FieldObjectClearAnim
thumb_func_start FieldObjectCheckIfSpecialAnimFinishedOrInactive
FieldObjectCheckIfSpecialAnimFinishedOrInactive: @ 8060600
push {lr}
ldrb r1, [r0]
lsls r0, r1, 25
cmp r0, 0
blt _0806060E
movs r0, 0x10
b _08060610
_0806060E:
lsrs r0, r1, 7
_08060610:
pop {r1}
bx r1
thumb_func_end FieldObjectCheckIfSpecialAnimFinishedOrInactive
thumb_func_start FieldObjectClearAnimIfSpecialAnimFinished
FieldObjectClearAnimIfSpecialAnimFinished: @ 8060614
push {r4,r5,lr}
adds r5, r0, 0
bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
beq _0806062E
cmp r4, 0x10
beq _0806062E
adds r0, r5, 0
bl FieldObjectClearAnimIfSpecialAnimActive
_0806062E:
adds r0, r4, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end FieldObjectClearAnimIfSpecialAnimFinished
thumb_func_start FieldObjectGetSpecialAnim
FieldObjectGetSpecialAnim: @ 8060638
push {lr}
adds r1, r0, 0
ldrb r0, [r1]
lsls r0, 25
cmp r0, 0
blt _08060648
movs r0, 0xFF
b _0806064A
_08060648:
ldrb r0, [r1, 0x1C]
_0806064A:
pop {r1}
bx r1
thumb_func_end FieldObjectGetSpecialAnim
thumb_func_start meta_step
meta_step: @ 8060650
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
bl DoGroundEffects_OnSpawn
adds r0, r4, 0
adds r1, r5, 0
bl sub_80634A0
adds r0, r4, 0
bl FieldObjectIsSpecialAnimActive
lsls r0, 24
cmp r0, 0
beq _0806067A
adds r0, r4, 0
adds r1, r5, 0
bl FieldObjectExecSpecialAnim
b _08060690
_0806067A:
ldrb r0, [r4, 0x1]
lsls r0, 31
cmp r0, 0
bne _08060690
_08060682:
adds r0, r4, 0
adds r1, r5, 0
bl _call_via_r6
lsls r0, 24
cmp r0, 0
bne _08060682
_08060690:
adds r0, r4, 0
adds r1, r5, 0
bl DoGroundEffects_OnBeginStep
adds r0, r4, 0
adds r1, r5, 0
bl DoGroundEffects_OnFinishStep
adds r0, r4, 0
adds r1, r5, 0
bl npc_obj_transfer_image_anim_pause_flag
adds r0, r4, 0
adds r1, r5, 0
bl sub_80634D0
adds r0, r4, 0
adds r1, r5, 0
bl FieldObjectUpdateSubpriority
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end meta_step
thumb_func_start GetFaceDirectionAnimId
GetFaceDirectionAnimId: @ 80606C0
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080606E8 @ =gUnknown_083756C8
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _080606D8
movs r4, 0
_080606D8:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080606E8: .4byte gUnknown_083756C8
thumb_func_end GetFaceDirectionAnimId
thumb_func_start GetSimpleGoAnimId
GetSimpleGoAnimId: @ 80606EC
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060714 @ =gUnknown_083756CD
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060704
movs r4, 0
_08060704:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060714: .4byte gUnknown_083756CD
thumb_func_end GetSimpleGoAnimId
thumb_func_start GetGoSpeed0AnimId
GetGoSpeed0AnimId: @ 8060718
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060740 @ =gUnknown_083756D2
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060730
movs r4, 0
_08060730:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060740: .4byte gUnknown_083756D2
thumb_func_end GetGoSpeed0AnimId
thumb_func_start sub_8060744
sub_8060744: @ 8060744
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _0806076C @ =gUnknown_083756D7
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _0806075C
movs r4, 0
_0806075C:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806076C: .4byte gUnknown_083756D7
thumb_func_end sub_8060744
thumb_func_start d2s_08064034
d2s_08064034: @ 8060770
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060798 @ =gUnknown_083756DC
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060788
movs r4, 0
_08060788:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060798: .4byte gUnknown_083756DC
thumb_func_end d2s_08064034
thumb_func_start sub_806079C
sub_806079C: @ 806079C
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080607C4 @ =gUnknown_083756E1
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _080607B4
movs r4, 0
_080607B4:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080607C4: .4byte gUnknown_083756E1
thumb_func_end sub_806079C
thumb_func_start sub_80607C8
sub_80607C8: @ 80607C8
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080607F0 @ =gUnknown_083756E6
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _080607E0
movs r4, 0
_080607E0:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080607F0: .4byte gUnknown_083756E6
thumb_func_end sub_80607C8
thumb_func_start sub_80607F4
sub_80607F4: @ 80607F4
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _0806081C @ =gUnknown_083756EB
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _0806080C
movs r4, 0
_0806080C:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806081C: .4byte gUnknown_083756EB
thumb_func_end sub_80607F4
thumb_func_start GetJumpLedgeAnimId
GetJumpLedgeAnimId: @ 8060820
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060848 @ =gUnknown_083756F0
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060838
movs r4, 0
_08060838:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060848: .4byte gUnknown_083756F0
thumb_func_end GetJumpLedgeAnimId
thumb_func_start sub_806084C
sub_806084C: @ 806084C
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060874 @ =gUnknown_083756F5
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060864
movs r4, 0
_08060864:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060874: .4byte gUnknown_083756F5
thumb_func_end sub_806084C
thumb_func_start sub_8060878
sub_8060878: @ 8060878
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080608A0 @ =gUnknown_083756FA
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060890
movs r4, 0
_08060890:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080608A0: .4byte gUnknown_083756FA
thumb_func_end sub_8060878
thumb_func_start sub_80608A4
sub_80608A4: @ 80608A4
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080608CC @ =gUnknown_083756FF
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _080608BC
movs r4, 0
_080608BC:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080608CC: .4byte gUnknown_083756FF
thumb_func_end sub_80608A4
thumb_func_start sub_80608D0
sub_80608D0: @ 80608D0
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080608F8 @ =gUnknown_08375704
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _080608E8
movs r4, 0
_080608E8:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080608F8: .4byte gUnknown_08375704
thumb_func_end sub_80608D0
thumb_func_start GetStepInPlaceDelay32AnimId
GetStepInPlaceDelay32AnimId: @ 80608FC
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060924 @ =gUnknown_08375709
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060914
movs r4, 0
_08060914:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060924: .4byte gUnknown_08375709
thumb_func_end GetStepInPlaceDelay32AnimId
thumb_func_start GetStepInPlaceDelay16AnimId
GetStepInPlaceDelay16AnimId: @ 8060928
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060950 @ =gUnknown_0837570E
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060940
movs r4, 0
_08060940:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060950: .4byte gUnknown_0837570E
thumb_func_end GetStepInPlaceDelay16AnimId
thumb_func_start GetStepInPlaceDelay8AnimId
GetStepInPlaceDelay8AnimId: @ 8060954
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _0806097C @ =gUnknown_08375713
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _0806096C
movs r4, 0
_0806096C:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0806097C: .4byte gUnknown_08375713
thumb_func_end GetStepInPlaceDelay8AnimId
thumb_func_start GetStepInPlaceDelay4AnimId
GetStepInPlaceDelay4AnimId: @ 8060980
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080609A8 @ =gUnknown_08375718
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060998
movs r4, 0
_08060998:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080609A8: .4byte gUnknown_08375718
thumb_func_end GetStepInPlaceDelay4AnimId
thumb_func_start FieldObjectFaceOppositeDirection
FieldObjectFaceOppositeDirection: @ 80609AC
push {r4,lr}
adds r4, r0, 0
lsls r0, r1, 24
lsrs r0, 24
bl GetOppositeDirection
lsls r0, 24
lsrs r0, 24
bl GetFaceDirectionAnimId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
bl FieldObjectSetSpecialAnim
lsls r0, 24
lsrs r0, 24
pop {r4}
pop {r1}
bx r1
thumb_func_end FieldObjectFaceOppositeDirection
thumb_func_start sub_80609D8
sub_80609D8: @ 80609D8
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060A00 @ =gUnknown_0837571D
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _080609F0
movs r4, 0
_080609F0:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060A00: .4byte gUnknown_0837571D
thumb_func_end sub_80609D8
thumb_func_start sub_8060A04
sub_8060A04: @ 8060A04
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060A2C @ =gUnknown_08375722
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060A1C
movs r4, 0
_08060A1C:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060A2C: .4byte gUnknown_08375722
thumb_func_end sub_8060A04
thumb_func_start sub_8060A30
sub_8060A30: @ 8060A30
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060A58 @ =gUnknown_08375727
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060A48
movs r4, 0
_08060A48:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060A58: .4byte gUnknown_08375727
thumb_func_end sub_8060A30
thumb_func_start sub_8060A5C
sub_8060A5C: @ 8060A5C
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060A84 @ =gUnknown_0837572C
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060A74
movs r4, 0
_08060A74:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060A84: .4byte gUnknown_0837572C
thumb_func_end sub_8060A5C
thumb_func_start sub_8060A88
sub_8060A88: @ 8060A88
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060AB0 @ =gUnknown_08375731
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060AA0
movs r4, 0
_08060AA0:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060AB0: .4byte gUnknown_08375731
thumb_func_end sub_8060A88
thumb_func_start sub_8060AB4
sub_8060AB4: @ 8060AB4
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060ADC @ =gUnknown_08375736
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060ACC
movs r4, 0
_08060ACC:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060ADC: .4byte gUnknown_08375736
thumb_func_end sub_8060AB4
thumb_func_start sub_8060AE0
sub_8060AE0: @ 8060AE0
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060B08 @ =gUnknown_0837573B
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060AF8
movs r4, 0
_08060AF8:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060B08: .4byte gUnknown_0837573B
thumb_func_end sub_8060AE0
thumb_func_start sub_8060B0C
sub_8060B0C: @ 8060B0C
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060B34 @ =gUnknown_08375740
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060B24
movs r4, 0
_08060B24:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060B34: .4byte gUnknown_08375740
thumb_func_end sub_8060B0C
thumb_func_start sub_8060B38
sub_8060B38: @ 8060B38
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060B60 @ =gUnknown_08375745
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060B50
movs r4, 0
_08060B50:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060B60: .4byte gUnknown_08375745
thumb_func_end sub_8060B38
thumb_func_start sub_8060B64
sub_8060B64: @ 8060B64
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060B8C @ =gUnknown_0837574A
mov r0, sp
movs r2, 0x5
bl memcpy
cmp r4, 0x4
bls _08060B7C
movs r4, 0
_08060B7C:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060B8C: .4byte gUnknown_0837574A
thumb_func_end sub_8060B64
thumb_func_start GetOppositeDirection
GetOppositeDirection: @ 8060B90
push {r4,lr}
sub sp, 0x8
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _08060BB4 @ =gUnknown_0837574F
mov r0, sp
movs r2, 0x8
bl memcpy
subs r1, r4, 0x1
lsls r0, r1, 24
lsrs r0, 24
cmp r0, 0x7
bhi _08060BB8
mov r2, sp
adds r0, r2, r1
ldrb r0, [r0]
b _08060BBA
.align 2, 0
_08060BB4: .4byte gUnknown_0837574F
_08060BB8:
adds r0, r4, 0
_08060BBA:
add sp, 0x8
pop {r4}
pop {r1}
bx r1
thumb_func_end GetOppositeDirection
thumb_func_start zffu_offset_calc
zffu_offset_calc: @ 8060BC4
lsls r0, 24
lsls r1, 24
lsrs r1, 24
ldr r2, _08060BD8 @ =gUnknown_08375757
lsrs r0, 22
subs r0, 0x5
adds r1, r0
adds r1, r2
ldrb r0, [r1]
bx lr
.align 2, 0
_08060BD8: .4byte gUnknown_08375757
thumb_func_end zffu_offset_calc
thumb_func_start state_to_direction
state_to_direction: @ 8060BDC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
lsls r1, 24
lsrs r1, 24
adds r0, r1, 0
lsls r2, 24
lsrs r2, 24
cmp r1, 0
beq _08060BFC
cmp r2, 0
beq _08060BFC
cmp r1, 0x4
bhi _08060BFC
cmp r2, 0x4
bls _08060C00
_08060BFC:
movs r0, 0
b _08060C12
_08060C00:
adds r1, r2, 0
bl zffu_offset_calc
ldr r2, _08060C18 @ =gUnknown_08375767
lsls r1, r4, 2
subs r1, 0x5
adds r0, r1
adds r0, r2
ldrb r0, [r0]
_08060C12:
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08060C18: .4byte gUnknown_08375767
thumb_func_end state_to_direction
thumb_func_start FieldObjectExecSpecialAnim
FieldObjectExecSpecialAnim: @ 8060C1C
push {r4,lr}
adds r4, r0, 0
ldr r2, _08060C50 @ =gUnknown_08375778
ldrb r0, [r4, 0x1C]
lsls r0, 2
adds r0, r2
movs r3, 0x32
ldrsh r2, [r1, r3]
ldr r0, [r0]
lsls r2, 2
adds r2, r0
ldr r2, [r2]
adds r0, r4, 0
bl _call_via_r2
lsls r0, 24
cmp r0, 0
beq _08060C48
ldrb r0, [r4]
movs r1, 0x80
orrs r0, r1
strb r0, [r4]
_08060C48:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08060C50: .4byte gUnknown_08375778
thumb_func_end FieldObjectExecSpecialAnim
thumb_func_start FieldObjectExecRegularAnim
FieldObjectExecRegularAnim: @ 8060C54
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
ldr r1, _08060C80 @ =gUnknown_08375778
ldrb r0, [r4, 0x1C]
lsls r0, 2
adds r0, r1
movs r2, 0x32
ldrsh r1, [r5, r2]
ldr r0, [r0]
lsls r1, 2
adds r1, r0
ldr r2, [r1]
adds r0, r4, 0
adds r1, r5, 0
bl _call_via_r2
lsls r0, 24
cmp r0, 0
bne _08060C84
movs r0, 0
b _08060C8E
.align 2, 0
_08060C80: .4byte gUnknown_08375778
_08060C84:
movs r0, 0xFF
strb r0, [r4, 0x1C]
movs r0, 0
strh r0, [r5, 0x32]
movs r0, 0x1
_08060C8E:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end FieldObjectExecRegularAnim
thumb_func_start FieldObjectSetRegularAnim
FieldObjectSetRegularAnim: @ 8060C94
movs r3, 0
strb r2, [r0, 0x1C]
strh r3, [r1, 0x32]
bx lr
thumb_func_end FieldObjectSetRegularAnim
thumb_func_start an_look_any
an_look_any: @ 8060C9C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
lsls r1, r2, 24
lsrs r1, 24
bl FieldObjectSetDirection
adds r0, r4, 0
bl npc_coords_shift_still
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
bl get_go_image_anim_num
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
bl sub_805FE64
adds r2, r5, 0
adds r2, 0x2C
ldrb r0, [r2]
movs r1, 0x40
orrs r0, r1
strb r0, [r2]
movs r0, 0x1
strh r0, [r5, 0x32]
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end an_look_any
thumb_func_start sub_8060CE0
sub_8060CE0: @ 8060CE0
push {lr}
movs r2, 0x1
bl an_look_any
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end sub_8060CE0
thumb_func_start sub_8060CF0
sub_8060CF0: @ 8060CF0
push {lr}
movs r2, 0x2
bl an_look_any
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end sub_8060CF0
thumb_func_start sub_8060D00
sub_8060D00: @ 8060D00
push {lr}
movs r2, 0x3
bl an_look_any
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end sub_8060D00
thumb_func_start sub_8060D10
sub_8060D10: @ 8060D10
push {lr}
movs r2, 0x4
bl an_look_any
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end sub_8060D10
thumb_func_start sub_8060D20
sub_8060D20: @ 8060D20
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0x4
mov r8, r0
mov r9, r1
adds r4, r2, 0
adds r6, r3, 0
lsls r4, 24
lsrs r4, 24
lsls r6, 24
lsrs r6, 24
ldrh r1, [r0, 0x10]
mov r0, sp
strh r1, [r0]
mov r1, r8
ldrh r0, [r1, 0x12]
mov r5, sp
adds r5, 0x2
strh r0, [r5]
mov r0, r8
adds r1, r4, 0
bl FieldObjectSetDirection
adds r0, r4, 0
mov r1, sp
adds r2, r5, 0
bl MoveCoords
mov r0, sp
movs r2, 0
ldrsh r1, [r0, r2]
movs r0, 0
ldrsh r2, [r5, r0]
mov r0, r8
bl npc_coords_shift
mov r0, r9
adds r1, r4, 0
adds r2, r6, 0
bl oamt_npc_ministep_reset
mov r2, r9
adds r2, 0x2C
ldrb r1, [r2]
movs r0, 0x41
negs r0, r0
ands r0, r1
strb r0, [r2]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x4
orrs r0, r1
mov r2, r8
strb r0, [r2]
movs r0, 0x1
mov r1, r9
strh r0, [r1, 0x32]
add sp, 0x4
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8060D20
thumb_func_start do_go_anim
do_go_anim: @ 8060DA4
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
adds r5, r0, 0
mov r8, r1
adds r4, r3, 0
lsls r2, 24
lsrs r2, 24
lsls r4, 24
lsrs r4, 24
mov r1, sp
ldr r0, _08060DFC @ =gUnknown_083759C0
ldm r0!, {r3,r6,r7}
stm r1!, {r3,r6,r7}
ldm r0!, {r3,r6}
stm r1!, {r3,r6}
adds r0, r5, 0
mov r1, r8
adds r3, r4, 0
bl sub_8060D20
lsls r4, 2
mov r7, sp
adds r1, r7, r4
ldrb r0, [r5, 0x18]
lsls r0, 28
lsrs r0, 28
ldr r1, [r1]
bl _call_via_r1
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r5, 0
mov r1, r8
bl sub_805FE28
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08060DFC: .4byte gUnknown_083759C0
thumb_func_end do_go_anim
thumb_func_start do_run_anim
do_run_anim: @ 8060E00
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
lsls r2, 24
lsrs r2, 24
movs r3, 0x1
bl sub_8060D20
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
bl get_run_image_anim_num
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r5, 0
bl sub_805FE28
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end do_run_anim
thumb_func_start npc_obj_ministep_stop_on_arrival
npc_obj_ministep_stop_on_arrival: @ 8060E30
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r0, r5, 0
bl obj_npc_ministep
lsls r0, 24
cmp r0, 0
bne _08060E46
movs r0, 0
b _08060E62
_08060E46:
adds r0, r4, 0
bl npc_coords_shift_still
ldrb r0, [r4]
movs r1, 0x8
orrs r0, r1
strb r0, [r4]
adds r2, r5, 0
adds r2, 0x2C
ldrb r0, [r2]
movs r1, 0x40
orrs r0, r1
strb r0, [r2]
movs r0, 0x1
_08060E62:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end npc_obj_ministep_stop_on_arrival
thumb_func_start sub_8060E68
sub_8060E68: @ 8060E68
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0x4
adds r6, r0, 0
mov r8, r1
lsls r5, r2, 24
lsrs r5, 24
ldrh r1, [r6, 0x10]
mov r0, sp
strh r1, [r0]
ldrh r0, [r6, 0x12]
mov r4, sp
adds r4, 0x2
strh r0, [r4]
adds r0, r6, 0
adds r1, r5, 0
bl FieldObjectSetDirection
adds r0, r5, 0
mov r1, sp
adds r2, r4, 0
bl MoveCoords
mov r0, sp
movs r2, 0
ldrsh r1, [r0, r2]
movs r0, 0
ldrsh r2, [r4, r0]
adds r0, r6, 0
bl npc_coords_shift
mov r0, r8
adds r1, r5, 0
bl sub_806467C
mov r2, r8
adds r2, 0x2C
ldrb r1, [r2]
movs r0, 0x41
negs r0, r0
ands r0, r1
strb r0, [r2]
ldrb r0, [r6]
movs r1, 0x4
orrs r0, r1
strb r0, [r6]
movs r0, 0x1
mov r1, r8
strh r0, [r1, 0x32]
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8060E68
thumb_func_start sub_8060ED8
sub_8060ED8: @ 8060ED8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
lsls r2, 24
lsrs r2, 24
bl sub_8060E68
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
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_8060ED8
thumb_func_start an_walk_any_2
an_walk_any_2: @ 8060F04
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
adds r0, r5, 0
bl sub_806468C
lsls r0, 24
cmp r0, 0
bne _08060F1A
movs r0, 0
b _08060F36
_08060F1A:
adds r0, r4, 0
bl npc_coords_shift_still
ldrb r0, [r4]
movs r1, 0x8
orrs r0, r1
strb r0, [r4]
adds r2, r5, 0
adds r2, 0x2C
ldrb r0, [r2]
movs r1, 0x40
orrs r0, r1
strb r0, [r2]
movs r0, 0x1
_08060F36:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end an_walk_any_2
thumb_func_start sub_8060F3C
sub_8060F3C: @ 8060F3C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x1
bl sub_8060ED8
adds r0, r4, 0
adds r1, r5, 0
bl sub_8060F5C
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8060F3C
thumb_func_start sub_8060F5C
sub_8060F5C: @ 8060F5C
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
lsls r0, 24
cmp r0, 0
bne _08060F6E
movs r0, 0
b _08060F74
_08060F6E:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08060F74:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8060F5C
thumb_func_start sub_8060F7C
sub_8060F7C: @ 8060F7C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x2
bl sub_8060ED8
adds r0, r4, 0
adds r1, r5, 0
bl sub_8060F9C
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8060F7C
thumb_func_start sub_8060F9C
sub_8060F9C: @ 8060F9C
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
lsls r0, 24
cmp r0, 0
bne _08060FAE
movs r0, 0
b _08060FB4
_08060FAE:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08060FB4:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8060F9C
thumb_func_start sub_8060FBC
sub_8060FBC: @ 8060FBC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x3
bl sub_8060ED8
adds r0, r4, 0
adds r1, r5, 0
bl sub_8060FDC
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8060FBC
thumb_func_start sub_8060FDC
sub_8060FDC: @ 8060FDC
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
lsls r0, 24
cmp r0, 0
bne _08060FEE
movs r0, 0
b _08060FF4
_08060FEE:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08060FF4:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8060FDC
thumb_func_start sub_8060FFC
sub_8060FFC: @ 8060FFC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x4
bl sub_8060ED8
adds r0, r4, 0
adds r1, r5, 0
bl sub_806101C
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8060FFC
thumb_func_start sub_806101C
sub_806101C: @ 806101C
push {r4,lr}
adds r4, r1, 0
bl an_walk_any_2
lsls r0, 24
cmp r0, 0
bne _0806102E
movs r0, 0
b _08061034
_0806102E:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08061034:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806101C
thumb_func_start sub_806103C
sub_806103C: @ 806103C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x1
movs r3, 0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
bl sub_806105C
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_806103C
thumb_func_start sub_806105C
sub_806105C: @ 806105C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _0806106E
movs r0, 0
b _08061074
_0806106E:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08061074:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806105C
thumb_func_start sub_806107C
sub_806107C: @ 806107C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x2
movs r3, 0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
bl sub_806109C
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_806107C
thumb_func_start sub_806109C
sub_806109C: @ 806109C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _080610AE
movs r0, 0
b _080610B4
_080610AE:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_080610B4:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806109C
thumb_func_start sub_80610BC
sub_80610BC: @ 80610BC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x3
movs r3, 0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
bl sub_80610DC
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_80610BC
thumb_func_start sub_80610DC
sub_80610DC: @ 80610DC
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _080610EE
movs r0, 0
b _080610F4
_080610EE:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_080610F4:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80610DC
thumb_func_start sub_80610FC
sub_80610FC: @ 80610FC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x4
movs r3, 0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
bl sub_806111C
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_80610FC
thumb_func_start sub_806111C
sub_806111C: @ 806111C
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _0806112E
movs r0, 0
b _08061134
_0806112E:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08061134:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_806111C
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.