diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 6ebef8976b..f3a044d446 100755 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -5,185 +5,6 @@ .text - thumb_func_start sub_8096330 -sub_8096330: @ 8096330 - 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_80929DC - 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_8096330 - - thumb_func_start sub_8096368 -sub_8096368: @ 8096368 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x1 - movs r3, 0x1 - bl sub_8096330 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8096388 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8096368 - - thumb_func_start sub_8096388 -sub_8096388: @ 8096388 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0809639A - movs r0, 0 - b _080963A0 -_0809639A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080963A0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8096388 - - thumb_func_start sub_80963A8 -sub_80963A8: @ 80963A8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl sub_8096330 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80963C8 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80963A8 - - thumb_func_start sub_80963C8 -sub_80963C8: @ 80963C8 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _080963DA - movs r0, 0 - b _080963E0 -_080963DA: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_080963E0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80963C8 - - thumb_func_start sub_80963E8 -sub_80963E8: @ 80963E8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_8096330 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8096408 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80963E8 - - thumb_func_start sub_8096408 -sub_8096408: @ 8096408 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0809641A - movs r0, 0 - b _08096420 -_0809641A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08096420: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8096408 - - thumb_func_start sub_8096428 -sub_8096428: @ 8096428 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x4 - movs r3, 0x1 - bl sub_8096330 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8096448 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8096428 - - thumb_func_start sub_8096448 -sub_8096448: @ 8096448 - push {r4,lr} - adds r4, r1, 0 - bl npc_obj_ministep_stop_on_arrival - lsls r0, 24 - cmp r0, 0 - bne _0809645A - movs r0, 0 - b _08096460 -_0809645A: - movs r0, 0x2 - strh r0, [r4, 0x32] - movs r0, 0x1 -_08096460: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8096448 - thumb_func_start sub_8096468 sub_8096468: @ 8096468 push {r4,lr} diff --git a/src/field_map_obj.c b/src/field_map_obj.c index 9769c6a03c..d4c00685ff 100755 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -4961,3 +4961,14 @@ an_walk_any_2_macro(sub_8096230, sub_8096200, npc_obj_ministep_stop_on_arrival, an_walk_any_2_macro(sub_8096270, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) an_walk_any_2_macro(sub_80962B0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) an_walk_any_2_macro(sub_80962F0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) + +void sub_8096330(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +{ + npc_apply_direction(mapObject, sprite, direction, speed); + StartSpriteAnim(sprite, sub_80929DC(mapObject->mapobj_unk_18)); + SeekSpriteAnim(sprite, 0); +} +an_walk_any_2_macro(sub_8096368, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) +an_walk_any_2_macro(sub_80963A8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) +an_walk_any_2_macro(sub_80963E8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) +an_walk_any_2_macro(sub_8096428, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1)