summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-09-17 15:03:47 -0400
committerscnorton <scnorton@biociphers.org>2017-09-17 15:03:47 -0400
commit8d34e9c3970d23832bb5500358fe4a2e250c5124 (patch)
treea13c39818c6ee8e29d61353dc4ae85647f53d0c7
parent7bf307e7aee242ddba099d8963b13ad022efb9f1 (diff)
More an_walk_any_2_macro memes
-rwxr-xr-xasm/field_map_obj.s179
-rwxr-xr-xsrc/field_map_obj.c12
2 files changed, 12 insertions, 179 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index ded1a6b97..5e0e3de0d 100755
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,185 +5,6 @@
.text
- thumb_func_start sub_80960C8
-sub_80960C8: @ 80960C8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl npc_apply_direction
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_80929BC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80960C8
-
- thumb_func_start sub_8096100
-sub_8096100: @ 8096100
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80960C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096120
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096100
-
- thumb_func_start sub_8096120
-sub_8096120: @ 8096120
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08096132
- movs r0, 0
- b _08096138
-_08096132:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08096138:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096120
-
- thumb_func_start sub_8096140
-sub_8096140: @ 8096140
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_80960C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096160
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096140
-
- thumb_func_start sub_8096160
-sub_8096160: @ 8096160
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08096172
- movs r0, 0
- b _08096178
-_08096172:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08096178:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096160
-
- thumb_func_start sub_8096180
-sub_8096180: @ 8096180
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_80960C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80961A0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096180
-
- thumb_func_start sub_80961A0
-sub_80961A0: @ 80961A0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080961B2
- movs r0, 0
- b _080961B8
-_080961B2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080961B8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80961A0
-
- thumb_func_start sub_80961C0
-sub_80961C0: @ 80961C0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_80960C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80961E0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80961C0
-
- thumb_func_start sub_80961E0
-sub_80961E0: @ 80961E0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080961F2
- movs r0, 0
- b _080961F8
-_080961F2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080961F8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80961E0
-
thumb_func_start sub_8096200
sub_8096200: @ 8096200
push {r4,r5,lr}
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index f1de23307..b5f92645d 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -4938,3 +4938,15 @@ special_anim_with_timer_2(sub_8095FE8, SOUTH, sub_80929FC, 8, sub_809459C)
special_anim_with_timer_2(sub_8096020, NORTH, sub_80929FC, 8, sub_809459C)
special_anim_with_timer_2(sub_8096058, WEST, sub_80929FC, 8, sub_809459C)
special_anim_with_timer_2(sub_8096090, EAST, sub_80929FC, 8, sub_809459C)
+
+void sub_80960C8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed)
+{
+ npc_apply_direction(mapObject, sprite, direction, speed);
+ StartSpriteAnim(sprite, sub_80929BC(mapObject->mapobj_unk_18));
+ SeekSpriteAnim(sprite, 0);
+}
+
+an_walk_any_2_macro(sub_8096100, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1)
+an_walk_any_2_macro(sub_8096140, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1)
+an_walk_any_2_macro(sub_8096180, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1)
+an_walk_any_2_macro(sub_80961C0, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1)