summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/field_map_obj.s205
-rw-r--r--ld_script.txt2
-rw-r--r--src/field_map_obj.c168
3 files changed, 172 insertions, 203 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 4cb35a56c..8ce2ecb70 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5826,211 +5826,10 @@ sub_805FD08: @ 805FD08
strb r1, [r0]
movs r0, 0
bx lr
- thumb_func_end sub_805FD08
-
- thumb_func_start npc_reset
-npc_reset: @ 805FD18
-@ mapObject->mapobj_bit_1 = 0;
-@ mapObject->mapobj_bit_6 = 0;
-@ mapObject->mapobj_bit_7 = 0;
-@ mapObject->mapobj_unk_1C = 0xff;
-@ sprite->data1 = 0;
- ldrb r3, [r0]
- movs r2, 0x3
- negs r2, r2
- ands r2, r3
- movs r3, 0x41
- negs r3, r3
- ands r2, r3
- movs r3, 0x7F
- ands r2, r3
- strb r2, [r0]
- movs r2, 0xFF
- strb r2, [r0, 0x1C]
- movs r0, 0
- strh r0, [r1, 0x30]
- bx lr
- thumb_func_end npc_reset
-
- thumb_func_start FieldObjectDirectionToImageAnimId
-FieldObjectDirectionToImageAnimId: @ 805FD38
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FD44 @ =gUnknown_083755F4
- adds r0, r1
- ldrb r0, [r0]
- bx lr
.align 2, 0
-_0805FD44: .4byte gUnknown_083755F4
- thumb_func_end FieldObjectDirectionToImageAnimId
-
- thumb_func_start get_go_image_anim_num
-get_go_image_anim_num: @ 805FD48
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FD54 @ =gUnknown_083755FD
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FD54: .4byte gUnknown_083755FD
- thumb_func_end get_go_image_anim_num
-
- thumb_func_start get_go_fast_image_anim_num
-get_go_fast_image_anim_num: @ 805FD58
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FD64 @ =gUnknown_08375606
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FD64: .4byte gUnknown_08375606
- thumb_func_end get_go_fast_image_anim_num
-
- thumb_func_start get_go_faster_image_anim_num
-get_go_faster_image_anim_num: @ 805FD68
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FD74 @ =gUnknown_0837560F
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FD74: .4byte gUnknown_0837560F
- thumb_func_end get_go_faster_image_anim_num
-
- thumb_func_start sub_805FD78
-sub_805FD78: @ 805FD78
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FD84 @ =gUnknown_08375618
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FD84: .4byte gUnknown_08375618
- thumb_func_end sub_805FD78
-
- thumb_func_start sub_805FD88
-sub_805FD88: @ 805FD88
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FD94 @ =gUnknown_08375621
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FD94: .4byte gUnknown_08375621
- thumb_func_end sub_805FD88
-
- thumb_func_start sub_805FD98
-sub_805FD98: @ 805FD98
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FDA4 @ =gUnknown_0837562A
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FDA4: .4byte gUnknown_0837562A
- thumb_func_end sub_805FD98
-
- thumb_func_start unref_sub_805FDA8
-unref_sub_805FDA8: @ 805FDA8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FDB4 @ =gUnknown_08375633
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FDB4: .4byte gUnknown_08375633
- thumb_func_end unref_sub_805FDA8
-
- thumb_func_start sub_805FDB8
-sub_805FDB8: @ 805FDB8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FDC4 @ =gUnknown_0837563C
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FDC4: .4byte gUnknown_0837563C
- thumb_func_end sub_805FDB8
-
- thumb_func_start sub_805FDC8
-sub_805FDC8: @ 805FDC8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FDD4 @ =gUnknown_08375645
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FDD4: .4byte gUnknown_08375645
- thumb_func_end sub_805FDC8
-
- thumb_func_start sub_805FDD8
-sub_805FDD8: @ 805FDD8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FDE4 @ =gUnknown_0837564E
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FDE4: .4byte gUnknown_0837564E
- thumb_func_end sub_805FDD8
-
- thumb_func_start sub_805FDE8
-sub_805FDE8: @ 805FDE8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FDF4 @ =gUnknown_08375657
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FDF4: .4byte gUnknown_08375657
- thumb_func_end sub_805FDE8
-
- thumb_func_start sub_805FDF8
-sub_805FDF8: @ 805FDF8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FE04 @ =gUnknown_08375660
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FE04: .4byte gUnknown_08375660
- thumb_func_end sub_805FDF8
-
- thumb_func_start sub_805FE08
-sub_805FE08: @ 805FE08
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FE14 @ =gUnknown_08375669
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FE14: .4byte gUnknown_08375669
- thumb_func_end sub_805FE08
+ thumb_func_end sub_805FD08
- thumb_func_start get_run_image_anim_num
-get_run_image_anim_num: @ 805FE18
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0805FE24 @ =gUnknown_08375672
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0805FE24: .4byte gUnknown_08375672
- thumb_func_end get_run_image_anim_num
+ .section .text_805fd18
thumb_func_start sub_805FE28
sub_805FE28: @ 805FE28
diff --git a/ld_script.txt b/ld_script.txt
index dac5fb782..866dcff5e 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -92,6 +92,8 @@ SECTIONS {
src/field_player_avatar.o(.text);
src/field_map_obj.o(.text);
asm/field_map_obj.o(.text);
+ src/field_map_obj.o(.text_b);
+ asm/field_map_obj.o(.text_805fd18);
src/field_ground_effect.o(.text);
asm/field_ground_effect.o(.text);
src/field_map_obj_helpers.o(.text);
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index c31db8a4b..7e75d0ac1 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -2112,3 +2112,171 @@ u8 sub_805D2C0(struct MapObject *mapObject, struct Sprite *sprite)
mapObject->mapobj_bit_1 = 0;
return 0;
}
+
+void FieldObjectCB_BerryTree(struct Sprite *sprite);
+void sub_805D4F4(struct Sprite *sprite);
+void sub_805D634(struct Sprite *sprite);
+void sub_805D774(struct Sprite *sprite);
+void sub_805D8B4(struct Sprite *sprite);
+void sub_805D9F4(struct Sprite *sprite);
+void sub_805DB34(struct Sprite *sprite);
+void sub_805DC74(struct Sprite *sprite);
+void sub_805DDB4(struct Sprite *sprite);
+void sub_805DEF4(struct Sprite *sprite);
+void sub_805E034(struct Sprite *sprite);
+void sub_805E174(struct Sprite *sprite);
+void sub_805E278(struct Sprite *sprite);
+void sub_805E37C(struct Sprite *sprite);
+void sub_805E37C(struct Sprite *sprite);
+void sub_805E37C(struct Sprite *sprite);
+void sub_805E37C(struct Sprite *sprite);
+void sub_805E5DC(struct Sprite *sprite);
+void sub_805E668(struct Sprite *sprite);
+void sub_805E6F4(struct Sprite *sprite);
+void sub_805E780(struct Sprite *sprite);
+void sub_805E80C(struct Sprite *sprite);
+void sub_805E898(struct Sprite *sprite);
+void sub_805E924(struct Sprite *sprite);
+void sub_805E9B0(struct Sprite *sprite);
+void sub_805EA3C(struct Sprite *sprite);
+void sub_805EAC8(struct Sprite *sprite);
+void sub_805EB54(struct Sprite *sprite);
+void sub_805EBE0(struct Sprite *sprite);
+void sub_805EC6C(struct Sprite *sprite);
+void sub_805ECF8(struct Sprite *sprite);
+void sub_805ED84(struct Sprite *sprite);
+void sub_805EE10(struct Sprite *sprite);
+void sub_805EE9C(struct Sprite *sprite);
+void sub_805EF28(struct Sprite *sprite);
+void sub_805EFB4(struct Sprite *sprite);
+void sub_805F040(struct Sprite *sprite);
+void sub_805F0CC(struct Sprite *sprite);
+void sub_805F158(struct Sprite *sprite);
+void sub_805F1E4(struct Sprite *sprite);
+void sub_805F270(struct Sprite *sprite);
+void sub_805F2FC(struct Sprite *sprite);
+void sub_805F2FC(struct Sprite *sprite);
+void sub_805F2FC(struct Sprite *sprite);
+void sub_805F2FC(struct Sprite *sprite);
+void FieldObjectCB_TreeDisguise(struct Sprite *sprite);
+void FieldObjectCB_MountainDisguise(struct Sprite *sprite);
+void sub_805F8E0(struct Sprite *sprite);
+void sub_805F8E0(struct Sprite *sprite);
+void sub_805F8E0(struct Sprite *sprite);
+void sub_805F8E0(struct Sprite *sprite);
+void FieldObjectCB_Hidden1(struct Sprite *sprite);
+void sub_805FB20(struct Sprite *sprite);
+void sub_805FB20(struct Sprite *sprite);
+void sub_805FB20(struct Sprite *sprite);
+void sub_805FB20(struct Sprite *sprite);
+void sub_805FB90(struct Sprite *sprite);
+void sub_805FB90(struct Sprite *sprite);
+void sub_805FB90(struct Sprite *sprite);
+void sub_805FB90(struct Sprite *sprite);
+void sub_805FC00(struct Sprite *sprite);
+void sub_805FC00(struct Sprite *sprite);
+void sub_805FC00(struct Sprite *sprite);
+void sub_805FC00(struct Sprite *sprite);
+void sub_805FC70(struct Sprite *sprite);
+
+asm(".section .text_b\n");
+
+void npc_reset(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ mapObject->mapobj_bit_1 = 0;
+ mapObject->mapobj_bit_6 = 0;
+ mapObject->mapobj_bit_7 = 0;
+ mapObject->mapobj_unk_1C = 0xff;
+ sprite->data1 = 0;
+}
+
+extern const u8 gUnknown_083755F4[9];
+extern const u8 gUnknown_083755FD[9];
+extern const u8 gUnknown_08375606[9];
+extern const u8 gUnknown_0837560F[9];
+extern const u8 gUnknown_08375618[9];
+extern const u8 gUnknown_08375621[9];
+extern const u8 gUnknown_0837562A[9];
+extern const u8 gUnknown_08375633[9];
+extern const u8 gUnknown_0837563C[9];
+extern const u8 gUnknown_08375645[9];
+extern const u8 gUnknown_0837564E[9];
+extern const u8 gUnknown_08375657[9];
+extern const u8 gUnknown_08375660[9];
+extern const u8 gUnknown_08375669[9];
+extern const u8 gUnknown_08375672[9];
+
+u8 FieldObjectDirectionToImageAnimId(u8 direction)
+{
+ return gUnknown_083755F4[direction];
+}
+
+u8 get_go_image_anim_num(u8 direction)
+{
+ return gUnknown_083755FD[direction];
+}
+
+u8 get_go_fast_image_anim_num(u8 direction)
+{
+ return gUnknown_08375606[direction];
+}
+
+u8 get_go_faster_image_anim_num(u8 direction)
+{
+ return gUnknown_0837560F[direction];
+}
+
+u8 sub_805FD78(u8 direction)
+{
+ return gUnknown_08375618[direction];
+}
+
+u8 sub_805FD88(u8 direction)
+{
+ return gUnknown_08375621[direction];
+}
+
+u8 sub_805FD98(u8 direction)
+{
+ return gUnknown_0837562A[direction];
+}
+
+u8 unref_sub_805FDA8(u8 direction)
+{
+ return gUnknown_08375633[direction];
+}
+
+u8 sub_805FDB8(u8 direction)
+{
+ return gUnknown_0837563C[direction];
+}
+
+u8 sub_805FDC8(u8 direction)
+{
+ return gUnknown_08375645[direction];
+}
+
+u8 sub_805FDD8(u8 direction)
+{
+ return gUnknown_0837564E[direction];
+}
+
+u8 sub_805FDE8(u8 direction)
+{
+ return gUnknown_08375657[direction];
+}
+
+u8 sub_805FDF8(u8 direction)
+{
+ return gUnknown_08375660[direction];
+}
+
+u8 sub_805FE08(u8 direction)
+{
+ return gUnknown_08375669[direction];
+}
+
+u8 get_run_image_anim_num(u8 direction)
+{
+ return gUnknown_08375672[direction];
+}