summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasm/field_map_obj.s59
-rwxr-xr-xsrc/field_map_obj.c33
2 files changed, 33 insertions, 59 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 86baf1b30..f560a9372 100755
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,65 +5,6 @@
.text
- thumb_func_start sub_8095438
-sub_8095438: @ 8095438
- push {lr}
- ldr r3, =gUnknown_085055CD
- ldrb r2, [r0, 0x6]
- adds r2, r3
- ldrb r2, [r2]
- bl an_look_any
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8095438
-
- thumb_func_start sub_8095450
-sub_8095450: @ 8095450
- 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_8095450
-
- thumb_func_start sub_8095460
-sub_8095460: @ 8095460
- 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_8095460
-
- thumb_func_start sub_8095470
-sub_8095470: @ 8095470
- 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_8095470
-
- thumb_func_start sub_8095480
-sub_8095480: @ 8095480
- 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_8095480
-
thumb_func_start sub_8095490
@ int sub_8095490(npc_state *npcState, int a2)
sub_8095490: @ 8095490
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index db28ce1ca..b337349a2 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -4592,3 +4592,36 @@ maybe_shadow_1_macro(sub_80952D8, maybe_shadow_1, sub_80941E0, DIR_SOUTH, 0, 2)
maybe_shadow_1_macro(sub_8095330, maybe_shadow_1, sub_80941E0, DIR_NORTH, 0, 2)
maybe_shadow_1_macro(sub_8095388, maybe_shadow_1, sub_80941E0, DIR_WEST, 0, 2)
maybe_shadow_1_macro(sub_80953E0, maybe_shadow_1, sub_80941E0, DIR_EAST, 0, 2)
+
+bool8 sub_8095438(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ an_look_any(mapObject, sprite, gUnknown_085055CD[mapObject->animPattern]);
+ return TRUE;
+}
+
+bool8 sub_8095450(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, 0x14);
+ return FALSE;
+}
+
+bool8 sub_8095460(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ mapObject->mapobj_bit_25 = FALSE;
+ sprite->data2 = 1;
+ return TRUE;
+}
+
+bool8 sub_8095470(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ mapObject->mapobj_bit_25 = TRUE;
+ sprite->data2 = 1;
+ return TRUE;
+}
+
+bool8 sub_8095480(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ mapObject->mapobj_bit_12 = TRUE;
+ sprite->data2 = 1;
+ return TRUE;
+}