summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/field_map_obj.s697
-rw-r--r--include/asm.inc.h2
-rwxr-xr-xsrc/field_map_obj.c357
3 files changed, 358 insertions, 698 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 039828e6d..ea685d6ec 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -1353,703 +1353,6 @@ sub_805FD08: @ 805FD08
.section .text_805fd18
- 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}
diff --git a/include/asm.inc.h b/include/asm.inc.h
index 8921d14cd..9bd8324ad 100644
--- a/include/asm.inc.h
+++ b/include/asm.inc.h
@@ -128,7 +128,7 @@ u8 sub_80608D0(u8);
u8 GetStepInPlaceDelay32AnimId(u8 a);
u8 GetStepInPlaceDelay16AnimId(u8);
u8 GetStepInPlaceDelay8AnimId(u8 a);
-u8 FieldObjectFaceOppositeDirection(void *, u8);
+u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
u8 sub_80609D8(u8);
u8 sub_8060A04(u8);
u8 sub_8060A30(u8);
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 29dbc4bd0..211bc919f 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -3707,3 +3707,360 @@ void meta_step(struct MapObject *mapObject, struct Sprite *sprite, u8 (*callback
sub_80634D0(mapObject, sprite);
FieldObjectUpdateSubpriority(mapObject, sprite);
}
+
+
+const u8 gUnknown_083756C8[5];
+
+u8 GetFaceDirectionAnimId(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756C8, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756CD[5];
+
+u8 GetSimpleGoAnimId(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756CD, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756D2[5];
+
+u8 GetGoSpeed0AnimId(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756D2, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756D7[5];
+
+u8 sub_8060744(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756D7, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756DC[5];
+
+u8 d2s_08064034(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756DC, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756E1[5];
+
+u8 sub_806079C(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756E1, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756E6[5];
+
+u8 sub_80607C8(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756E6, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756EB[5];
+
+u8 sub_80607F4(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756EB, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756F0[5];
+
+u8 GetJumpLedgeAnimId(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756F0, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756F5[5];
+
+u8 sub_806084C(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756F5, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756FA[5];
+
+u8 sub_8060878(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756FA, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_083756FF[5];
+
+u8 sub_80608A4(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_083756FF, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375704[5];
+
+u8 sub_80608D0(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375704, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375709[5];
+
+u8 GetStepInPlaceDelay32AnimId(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375709, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_0837570E[5];
+
+u8 GetStepInPlaceDelay16AnimId(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_0837570E, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375713[5];
+
+u8 GetStepInPlaceDelay8AnimId(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375713, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375718[5];
+
+u8 GetStepInPlaceDelay4AnimId(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375718, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction)
+{
+ return FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(GetOppositeDirection(direction)));
+}
+
+const u8 gUnknown_0837571D[5];
+
+u8 sub_80609D8(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_0837571D, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375722[5];
+
+u8 sub_8060A04(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375722, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375727[5];
+
+u8 sub_8060A30(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375727, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_0837572C[5];
+
+u8 sub_8060A5C(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_0837572C, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375731[5];
+
+u8 sub_8060A88(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375731, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375736[5];
+
+u8 sub_8060AB4(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375736, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_0837573B[5];
+
+u8 sub_8060AE0(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_0837573B, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375740[5];
+
+u8 sub_8060B0C(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375740, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_08375745[5];
+
+u8 sub_8060B38(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_08375745, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}
+
+const u8 gUnknown_0837574A[5];
+
+u8 sub_8060B64(u8 index)
+{
+ u8 directions[5];
+ memcpy(directions, gUnknown_0837574A, 5);
+ if (index >= 5)
+ {
+ index = 0;
+ }
+ return directions[index];
+}