summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-05-23 19:29:49 -0400
committerscnorton <scnorton@biociphers.org>2017-05-23 19:29:49 -0400
commit057cd5931d50d846dfb8d9be01ef79a0648ce019 (patch)
tree9a25740257fcfd46f399c2a40033127287d0c816
parent8186d7027ce53c74663056b8a533efff4cb8b300 (diff)
Yet another chunk of functions with similar (and, in some cases, identical) decompilation
-rw-r--r--asm/field_map_obj.s152
-rwxr-xr-xsrc/field_map_obj.c72
2 files changed, 72 insertions, 152 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 2eff32e9e..6051dc6e6 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -1353,158 +1353,6 @@ sub_805FD08: @ 805FD08
.section .text_805fd18
- 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}
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index cb68b0140..21dcb90bc 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -4344,3 +4344,75 @@ bool8 sub_806101C(struct MapObject *mapObject, struct Sprite *sprite)
return FALSE;
}
+bool8 sub_806105C(struct MapObject *, struct Sprite *);
+
+bool8 sub_806103C(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ do_go_anim(mapObject, sprite, DIR_SOUTH, 0);
+ return sub_806105C(mapObject, sprite);
+}
+
+bool8 sub_806105C(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ if (npc_obj_ministep_stop_on_arrival(mapObject, sprite))
+ {
+ sprite->data2 = 2;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_806109C(struct MapObject *, struct Sprite *);
+
+bool8 sub_806107C(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ do_go_anim(mapObject, sprite, DIR_NORTH, 0);
+ return sub_806109C(mapObject, sprite);
+}
+
+bool8 sub_806109C(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ if (npc_obj_ministep_stop_on_arrival(mapObject, sprite))
+ {
+ sprite->data2 = 2;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_80610DC(struct MapObject *, struct Sprite *);
+
+bool8 sub_80610BC(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ do_go_anim(mapObject, sprite, DIR_WEST, 0);
+ return sub_80610DC(mapObject, sprite);
+}
+
+bool8 sub_80610DC(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ if (npc_obj_ministep_stop_on_arrival(mapObject, sprite))
+ {
+ sprite->data2 = 2;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_806111C(struct MapObject *, struct Sprite *);
+
+bool8 sub_80610FC(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ do_go_anim(mapObject, sprite, DIR_EAST, 0);
+ return sub_806111C(mapObject, sprite);
+}
+
+bool8 sub_806111C(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ if (npc_obj_ministep_stop_on_arrival(mapObject, sprite))
+ {
+ sprite->data2 = 2;
+ return TRUE;
+ }
+ return FALSE;
+}
+