summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasm/field_map_obj.s1753
-rwxr-xr-xinclude/data3.h1
-rwxr-xr-xsrc/field_map_obj.c39
3 files changed, 40 insertions, 1753 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 7a6d08ea3..fbe6aa8d8 100755
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,1759 +5,6 @@
.text
- thumb_func_start FieldObjectCB_GoInDirectionSequence1
-FieldObjectCB_GoInDirectionSequence1: @ 8091138
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_809115C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence1
-
- thumb_func_start sub_809115C
-sub_809115C: @ 809115C
- push {r4,lr}
- ldr r3, =gUnknown_0850D8DC
- 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
- .pool
- thumb_func_end sub_809115C
-
- thumb_func_start sub_809117C
-sub_809117C: @ 809117C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D8E8
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080911A8
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080911A8
- movs r0, 0x3
- strb r0, [r2]
-_080911A8:
- 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
- .pool
- thumb_func_end sub_809117C
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence2
-FieldObjectCB_GoInDirectionSequence2: @ 80911C4
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80911E8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence2
-
- thumb_func_start sub_80911E8
-sub_80911E8: @ 80911E8
- push {r4,lr}
- ldr r3, =gUnknown_0850D8EC
- 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
- .pool
- thumb_func_end sub_80911E8
-
- thumb_func_start sub_8091208
-sub_8091208: @ 8091208
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D8F8
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091234
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091234
- movs r0, 0x2
- strb r0, [r2]
-_08091234:
- 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
- .pool
- thumb_func_end sub_8091208
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence3
-FieldObjectCB_GoInDirectionSequence3: @ 8091250
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091274
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence3
-
- thumb_func_start sub_8091274
-sub_8091274: @ 8091274
- push {r4,lr}
- ldr r3, =gUnknown_0850D8FC
- 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
- .pool
- thumb_func_end sub_8091274
-
- thumb_func_start sub_8091294
-sub_8091294: @ 8091294
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D908
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080912C0
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080912C0
- movs r0, 0x2
- strb r0, [r2]
-_080912C0:
- 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
- .pool
- thumb_func_end sub_8091294
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence4
-FieldObjectCB_GoInDirectionSequence4: @ 80912DC
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091300
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence4
-
- thumb_func_start sub_8091300
-sub_8091300: @ 8091300
- push {r4,lr}
- ldr r3, =gUnknown_0850D90C
- 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
- .pool
- thumb_func_end sub_8091300
-
- thumb_func_start sub_8091320
-sub_8091320: @ 8091320
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D918
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _0809134C
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _0809134C
- movs r0, 0x3
- strb r0, [r2]
-_0809134C:
- 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
- .pool
- thumb_func_end sub_8091320
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence5
-FieldObjectCB_GoInDirectionSequence5: @ 8091368
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_809138C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence5
-
- thumb_func_start sub_809138C
-sub_809138C: @ 809138C
- push {r4,lr}
- ldr r3, =gUnknown_0850D91C
- 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
- .pool
- thumb_func_end sub_809138C
-
- thumb_func_start sub_80913AC
-@ bool8 sub_80913AC(struct npc_state *fieldObject, struct obj *object)
-sub_80913AC: @ 80913AC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D928
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080913D8
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080913D8
- movs r0, 0x3
- strb r0, [r2]
-_080913D8:
- 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
- .pool
- thumb_func_end sub_80913AC
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence6
-FieldObjectCB_GoInDirectionSequence6: @ 80913F4
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091418
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence6
-
- thumb_func_start sub_8091418
-sub_8091418: @ 8091418
- push {r4,lr}
- ldr r3, =gUnknown_0850D92C
- 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
- .pool
- thumb_func_end sub_8091418
-
- thumb_func_start sub_8091438
-sub_8091438: @ 8091438
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D938
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091464
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091464
- movs r0, 0x2
- strb r0, [r2]
-_08091464:
- 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
- .pool
- thumb_func_end sub_8091438
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence7
-FieldObjectCB_GoInDirectionSequence7: @ 8091480
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80914A4
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence7
-
- thumb_func_start sub_80914A4
-sub_80914A4: @ 80914A4
- push {r4,lr}
- ldr r3, =gUnknown_0850D93C
- 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
- .pool
- thumb_func_end sub_80914A4
-
- thumb_func_start sub_80914C4
-sub_80914C4: @ 80914C4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D710
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080914F0
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080914F0
- movs r0, 0x2
- strb r0, [r2]
-_080914F0:
- 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
- .pool
- thumb_func_end sub_80914C4
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence8
-FieldObjectCB_GoInDirectionSequence8: @ 809150C
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091530
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence8
-
- thumb_func_start sub_8091530
-sub_8091530: @ 8091530
- push {r4,lr}
- ldr r3, =gUnknown_0850D948
- 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
- .pool
- thumb_func_end sub_8091530
-
- thumb_func_start sub_8091550
-sub_8091550: @ 8091550
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D954
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _0809157C
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _0809157C
- movs r0, 0x3
- strb r0, [r2]
-_0809157C:
- 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
- .pool
- thumb_func_end sub_8091550
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence9
-FieldObjectCB_GoInDirectionSequence9: @ 8091598
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80915BC
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence9
-
- thumb_func_start sub_80915BC
-sub_80915BC: @ 80915BC
- push {r4,lr}
- ldr r3, =gUnknown_0850D958
- 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
- .pool
- thumb_func_end sub_80915BC
-
- thumb_func_start sub_80915DC
-sub_80915DC: @ 80915DC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D964
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091608
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091608
- movs r0, 0x3
- strb r0, [r2]
-_08091608:
- 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
- .pool
- thumb_func_end sub_80915DC
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence10
-FieldObjectCB_GoInDirectionSequence10: @ 8091624
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091648
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence10
-
- thumb_func_start sub_8091648
-sub_8091648: @ 8091648
- push {r4,lr}
- ldr r3, =gUnknown_0850D968
- 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
- .pool
- thumb_func_end sub_8091648
-
- thumb_func_start sub_8091668
-sub_8091668: @ 8091668
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D974
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091694
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091694
- movs r0, 0x2
- strb r0, [r2]
-_08091694:
- 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
- .pool
- thumb_func_end sub_8091668
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence11
-FieldObjectCB_GoInDirectionSequence11: @ 80916B0
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80916D4
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence11
-
- thumb_func_start sub_80916D4
-sub_80916D4: @ 80916D4
- push {r4,lr}
- ldr r3, =gUnknown_0850D978
- 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
- .pool
- thumb_func_end sub_80916D4
-
- thumb_func_start sub_80916F4
-sub_80916F4: @ 80916F4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D984
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091720
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091720
- movs r0, 0x2
- strb r0, [r2]
-_08091720:
- 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
- .pool
- thumb_func_end sub_80916F4
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence12
-FieldObjectCB_GoInDirectionSequence12: @ 809173C
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091760
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence12
-
- thumb_func_start sub_8091760
-sub_8091760: @ 8091760
- push {r4,lr}
- ldr r3, =gUnknown_0850D988
- 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
- .pool
- thumb_func_end sub_8091760
-
- thumb_func_start sub_8091780
-sub_8091780: @ 8091780
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D994
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080917AC
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080917AC
- movs r0, 0x3
- strb r0, [r2]
-_080917AC:
- 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
- .pool
- thumb_func_end sub_8091780
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence13
-FieldObjectCB_GoInDirectionSequence13: @ 80917C8
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80917EC
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence13
-
- thumb_func_start sub_80917EC
-sub_80917EC: @ 80917EC
- push {r4,lr}
- ldr r3, =gUnknown_0850D998
- 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
- .pool
- thumb_func_end sub_80917EC
-
- thumb_func_start sub_809180C
-sub_809180C: @ 809180C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9A4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091838
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091838
- movs r0, 0x3
- strb r0, [r2]
-_08091838:
- 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
- .pool
- thumb_func_end sub_809180C
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence14
-FieldObjectCB_GoInDirectionSequence14: @ 8091854
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091878
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence14
-
- thumb_func_start sub_8091878
-sub_8091878: @ 8091878
- push {r4,lr}
- ldr r3, =gUnknown_0850D9A8
- 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
- .pool
- thumb_func_end sub_8091878
-
- thumb_func_start sub_8091898
-sub_8091898: @ 8091898
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9B4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080918C4
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080918C4
- movs r0, 0x2
- strb r0, [r2]
-_080918C4:
- 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
- .pool
- thumb_func_end sub_8091898
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence15
-FieldObjectCB_GoInDirectionSequence15: @ 80918E0
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091904
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence15
-
- thumb_func_start sub_8091904
-sub_8091904: @ 8091904
- push {r4,lr}
- ldr r3, =gUnknown_0850D9B8
- 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
- .pool
- thumb_func_end sub_8091904
-
- thumb_func_start sub_8091924
-sub_8091924: @ 8091924
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9C4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091950
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091950
- movs r0, 0x2
- strb r0, [r2]
-_08091950:
- 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
- .pool
- thumb_func_end sub_8091924
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence16
-FieldObjectCB_GoInDirectionSequence16: @ 809196C
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091990
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence16
-
- thumb_func_start sub_8091990
-sub_8091990: @ 8091990
- push {r4,lr}
- ldr r3, =gUnknown_0850D9C8
- 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
- .pool
- thumb_func_end sub_8091990
-
- thumb_func_start sub_80919B0
-sub_80919B0: @ 80919B0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9D4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080919DC
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080919DC
- movs r0, 0x3
- strb r0, [r2]
-_080919DC:
- 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
- .pool
- thumb_func_end sub_80919B0
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence17
-FieldObjectCB_GoInDirectionSequence17: @ 80919F8
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091A1C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence17
-
- thumb_func_start sub_8091A1C
-sub_8091A1C: @ 8091A1C
- push {r4,lr}
- ldr r3, =gUnknown_0850D9D8
- 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
- .pool
- thumb_func_end sub_8091A1C
-
- thumb_func_start sub_8091A3C
-sub_8091A3C: @ 8091A3C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9E4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091A68
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091A68
- movs r0, 0x3
- strb r0, [r2]
-_08091A68:
- 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
- .pool
- thumb_func_end sub_8091A3C
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence18
-FieldObjectCB_GoInDirectionSequence18: @ 8091A84
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091AA8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence18
-
- thumb_func_start sub_8091AA8
-sub_8091AA8: @ 8091AA8
- push {r4,lr}
- ldr r3, =gUnknown_0850D9E8
- 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
- .pool
- thumb_func_end sub_8091AA8
-
- thumb_func_start sub_8091AC8
-sub_8091AC8: @ 8091AC8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9F4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091AF4
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091AF4
- movs r0, 0x3
- strb r0, [r2]
-_08091AF4:
- 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
- .pool
- thumb_func_end sub_8091AC8
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence19
-FieldObjectCB_GoInDirectionSequence19: @ 8091B10
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091B34
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence19
-
- thumb_func_start sub_8091B34
-sub_8091B34: @ 8091B34
- push {r4,lr}
- ldr r3, =gUnknown_0850D9F8
- 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
- .pool
- thumb_func_end sub_8091B34
-
- thumb_func_start sub_8091B54
-sub_8091B54: @ 8091B54
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA04
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091B80
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091B80
- movs r0, 0x3
- strb r0, [r2]
-_08091B80:
- 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
- .pool
- thumb_func_end sub_8091B54
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence20
-FieldObjectCB_GoInDirectionSequence20: @ 8091B9C
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091BC0
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence20
-
- thumb_func_start sub_8091BC0
-sub_8091BC0: @ 8091BC0
- push {r4,lr}
- ldr r3, =gUnknown_0850DA08
- 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
- .pool
- thumb_func_end sub_8091BC0
-
- thumb_func_start sub_8091BE0
-sub_8091BE0: @ 8091BE0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA14
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091C0C
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091C0C
- movs r0, 0x3
- strb r0, [r2]
-_08091C0C:
- 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
- .pool
- thumb_func_end sub_8091BE0
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence21
-FieldObjectCB_GoInDirectionSequence21: @ 8091C28
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091C4C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence21
-
- thumb_func_start sub_8091C4C
-sub_8091C4C: @ 8091C4C
- push {r4,lr}
- ldr r3, =gUnknown_0850DA18
- 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
- .pool
- thumb_func_end sub_8091C4C
-
- thumb_func_start sub_8091C6C
-sub_8091C6C: @ 8091C6C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA24
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091C98
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091C98
- movs r0, 0x3
- strb r0, [r2]
-_08091C98:
- 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
- .pool
- thumb_func_end sub_8091C6C
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence22
-FieldObjectCB_GoInDirectionSequence22: @ 8091CB4
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091CD8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence22
-
- thumb_func_start sub_8091CD8
-sub_8091CD8: @ 8091CD8
- push {r4,lr}
- ldr r3, =gUnknown_0850DA28
- 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
- .pool
- thumb_func_end sub_8091CD8
-
- thumb_func_start sub_8091CF8
-sub_8091CF8: @ 8091CF8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA34
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091D24
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091D24
- movs r0, 0x3
- strb r0, [r2]
-_08091D24:
- 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
- .pool
- thumb_func_end sub_8091CF8
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence23
-FieldObjectCB_GoInDirectionSequence23: @ 8091D40
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091D64
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence23
-
- thumb_func_start sub_8091D64
-sub_8091D64: @ 8091D64
- push {r4,lr}
- ldr r3, =gUnknown_0850DA38
- 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
- .pool
- thumb_func_end sub_8091D64
-
- thumb_func_start sub_8091D84
-sub_8091D84: @ 8091D84
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA44
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091DB0
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091DB0
- movs r0, 0x3
- strb r0, [r2]
-_08091DB0:
- 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
- .pool
- thumb_func_end sub_8091D84
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence24
-FieldObjectCB_GoInDirectionSequence24: @ 8091DCC
- 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, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091DF0
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence24
-
- thumb_func_start sub_8091DF0
-sub_8091DF0: @ 8091DF0
- push {r4,lr}
- ldr r3, =gUnknown_0850DA48
- 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
- .pool
- thumb_func_end sub_8091DF0
-
- thumb_func_start sub_8091E10
-sub_8091E10: @ 8091E10
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA54
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091E3C
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091E3C
- movs r0, 0x3
- strb r0, [r2]
-_08091E3C:
- 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
- .pool
- thumb_func_end sub_8091E10
-
thumb_func_start FieldObjectCB_CopyPlayer1
FieldObjectCB_CopyPlayer1: @ 8091E58
push {lr}
diff --git a/include/data3.h b/include/data3.h
index 3cbdcc9ce..a5ec3d08f 100755
--- a/include/data3.h
+++ b/include/data3.h
@@ -32,5 +32,6 @@ extern const u8 gUnknown_0850D880[4];
extern const u8 gUnknown_0850D898[4];
extern const u8 gUnknown_0850D8AC[5];
extern const u8 gUnknown_0850D8C4[5];
+extern const u8 gUnknown_0850D8E8[4];
#endif //POKEEMERALD_DATA3_H
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 0c6397730..99d417ae2 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -45,6 +45,20 @@ static bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *s
return (table)[sprite->data1](mapObject, sprite);\
}
+#define field_object_path(idx, table, sub, path, catch, coord)\
+field_object_step(GoInDirectionSequence##idx, table)\
+extern const u8 path[4];\
+bool8 sub(struct MapObject *mapObject, struct Sprite *sprite)\
+{\
+ u8 route[sizeof(path)];\
+ memcpy(route, path, sizeof(path));\
+ if (mapObject->mapobj_unk_21 == (catch) && mapObject->coords1.coord == mapObject->coords2.coord)\
+ {\
+ mapObject->mapobj_unk_21 = (catch) + 1;\
+ }\
+ return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, route);\
+}\
+
// Static struct declarations
// Static RAM declarations
@@ -3108,3 +3122,28 @@ bool8 sub_8091110(struct MapObject *mapObject, struct Sprite *sprite)
}
return FALSE;
}
+
+field_object_path( 1, gUnknown_0850D8DC, sub_809117C, gUnknown_0850D8E8, 2, x)
+field_object_path( 2, gUnknown_0850D8EC, sub_8091208, gUnknown_0850D8F8, 1, x)
+field_object_path( 3, gUnknown_0850D8FC, sub_8091294, gUnknown_0850D908, 1, y)
+field_object_path( 4, gUnknown_0850D90C, sub_8091320, gUnknown_0850D918, 2, y)
+field_object_path( 5, gUnknown_0850D91C, sub_80913AC, gUnknown_0850D928, 2, x)
+field_object_path( 6, gUnknown_0850D92C, sub_8091438, gUnknown_0850D938, 1, x)
+field_object_path( 7, gUnknown_0850D93C, sub_80914C4, gUnknown_0850D710, 1, y)
+field_object_path( 8, gUnknown_0850D948, sub_8091550, gUnknown_0850D954, 2, y)
+field_object_path( 9, gUnknown_0850D958, sub_80915DC, gUnknown_0850D964, 2, y)
+field_object_path(10, gUnknown_0850D968, sub_8091668, gUnknown_0850D974, 1, y)
+field_object_path(11, gUnknown_0850D978, sub_80916F4, gUnknown_0850D984, 1, x)
+field_object_path(12, gUnknown_0850D988, sub_8091780, gUnknown_0850D994, 2, x)
+field_object_path(13, gUnknown_0850D998, sub_809180C, gUnknown_0850D9A4, 2, y)
+field_object_path(14, gUnknown_0850D9A8, sub_8091898, gUnknown_0850D9B4, 1, y)
+field_object_path(15, gUnknown_0850D9B8, sub_8091924, gUnknown_0850D9C4, 1, x)
+field_object_path(16, gUnknown_0850D9C8, sub_80919B0, gUnknown_0850D9D4, 2, x)
+field_object_path(17, gUnknown_0850D9D8, sub_8091A3C, gUnknown_0850D9E4, 2, y)
+field_object_path(18, gUnknown_0850D9E8, sub_8091AC8, gUnknown_0850D9F4, 2, y)
+field_object_path(19, gUnknown_0850D9F8, sub_8091B54, gUnknown_0850DA04, 2, x)
+field_object_path(20, gUnknown_0850DA08, sub_8091BE0, gUnknown_0850DA14, 2, x)
+field_object_path(21, gUnknown_0850DA18, sub_8091C6C, gUnknown_0850DA24, 2, y)
+field_object_path(22, gUnknown_0850DA28, sub_8091CF8, gUnknown_0850DA34, 2, y)
+field_object_path(23, gUnknown_0850DA38, sub_8091D84, gUnknown_0850DA44, 2, x)
+field_object_path(24, gUnknown_0850DA48, sub_8091E10, gUnknown_0850DA54, 2, x)