Yet another chunk of highly similar functions

This commit is contained in:
PikalaxALT 2017-09-17 08:26:27 -04:00
parent 6439551e1a
commit 501baffc48
2 changed files with 25 additions and 305 deletions

View file

@ -5,311 +5,6 @@
.text
thumb_func_start sub_8093DC4
sub_8093DC4: @ 8093DC4
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x7
movs r3, 0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
bl sub_8093DE4
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8093DC4
thumb_func_start sub_8093DE4
@ bool8 sub_8093DE4(struct npc_state *fieldObject, struct obj *object)
sub_8093DE4: @ 8093DE4
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _08093DF6
movs r0, 0
b _08093DFC
_08093DF6:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08093DFC:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8093DE4
thumb_func_start sub_8093E04
sub_8093E04: @ 8093E04
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x8
movs r3, 0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
bl sub_8093E24
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8093E04
thumb_func_start sub_8093E24
sub_8093E24: @ 8093E24
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _08093E36
movs r0, 0
b _08093E3C
_08093E36:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08093E3C:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8093E24
thumb_func_start sub_8093E44
sub_8093E44: @ 8093E44
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x5
movs r3, 0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
bl sub_8093E64
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8093E44
thumb_func_start sub_8093E64
sub_8093E64: @ 8093E64
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _08093E76
movs r0, 0
b _08093E7C
_08093E76:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08093E7C:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8093E64
thumb_func_start sub_8093E84
sub_8093E84: @ 8093E84
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r2, 0x6
movs r3, 0
bl do_go_anim
adds r0, r4, 0
adds r1, r5, 0
bl sub_8093EA4
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8093E84
thumb_func_start sub_8093EA4
sub_8093EA4: @ 8093EA4
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _08093EB6
movs r0, 0
b _08093EBC
_08093EB6:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08093EBC:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8093EA4
thumb_func_start sub_8093EC4
sub_8093EC4: @ 8093EC4
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_8093EE4
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8093EC4
thumb_func_start sub_8093EE4
sub_8093EE4: @ 8093EE4
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _08093EF6
movs r0, 0
b _08093EFC
_08093EF6:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08093EFC:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8093EE4
thumb_func_start sub_8093F04
sub_8093F04: @ 8093F04
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_8093F24
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8093F04
thumb_func_start sub_8093F24
sub_8093F24: @ 8093F24
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _08093F36
movs r0, 0
b _08093F3C
_08093F36:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08093F3C:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8093F24
thumb_func_start sub_8093F44
sub_8093F44: @ 8093F44
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_8093F64
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8093F44
thumb_func_start sub_8093F64
sub_8093F64: @ 8093F64
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _08093F76
movs r0, 0
b _08093F7C
_08093F76:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08093F7C:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8093F64
thumb_func_start sub_8093F84
sub_8093F84: @ 8093F84
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_8093FA4
lsls r0, 24
lsrs r0, 24
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8093F84
thumb_func_start sub_8093FA4
sub_8093FA4: @ 8093FA4
push {r4,lr}
adds r4, r1, 0
bl npc_obj_ministep_stop_on_arrival
lsls r0, 24
cmp r0, 0
bne _08093FB6
movs r0, 0
b _08093FBC
_08093FB6:
movs r0, 0x2
strh r0, [r4, 0x32]
movs r0, 0x1
_08093FBC:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8093FA4
thumb_func_start sub_8093FC4
sub_8093FC4: @ 8093FC4
push {r4-r7,lr}

View file

@ -4246,6 +4246,23 @@ static bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\
return FALSE;\
}
#define npc_obj_ministep_stop_on_arrival_macro(name, dirn, speed) \
static bool8 name##_2(struct MapObject *, struct Sprite *);\
bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\
{\
do_go_anim(mapObject, sprite, dirn, speed);\
return name##_2(mapObject, sprite);\
}\
static bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\
{\
if (npc_obj_ministep_stop_on_arrival(mapObject, sprite))\
{\
sprite->data2 = 2;\
return TRUE;\
}\
return FALSE;\
}
an_walk_any_2_macro(sub_8093BC4, 7)
an_walk_any_2_macro(sub_8093C04, 8)
an_walk_any_2_macro(sub_8093C44, 5)
@ -4254,4 +4271,12 @@ an_walk_any_2_macro(sub_8093CC4, 1)
an_walk_any_2_macro(sub_8093D04, 2)
an_walk_any_2_macro(sub_8093D44, 3)
an_walk_any_2_macro(sub_8093D84, 4)
npc_obj_ministep_stop_on_arrival_macro(sub_8093DC4, 7, 0)
npc_obj_ministep_stop_on_arrival_macro(sub_8093E04, 8, 0)
npc_obj_ministep_stop_on_arrival_macro(sub_8093E44, 5, 0)
npc_obj_ministep_stop_on_arrival_macro(sub_8093E84, 6, 0)
npc_obj_ministep_stop_on_arrival_macro(sub_8093EC4, 1, 0)
npc_obj_ministep_stop_on_arrival_macro(sub_8093F04, 2, 0)
npc_obj_ministep_stop_on_arrival_macro(sub_8093F44, 3, 0)
npc_obj_ministep_stop_on_arrival_macro(sub_8093F84, 4, 0)