summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-05-22 21:55:50 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-05-22 21:55:50 -0400
commite616c995756179014da2784b1d4505d0a6ca5573 (patch)
treebd9bc645876d0f1b98b054d610d6a511890448f9 /src
parent3872e196ffde5bf6732e3052fa0f39c02814b616 (diff)
A handful more functions in the midst of field map object callbacks
Diffstat (limited to 'src')
-rwxr-xr-xsrc/field_map_obj.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index d186eea66..845f84a34 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -2829,6 +2829,44 @@ u8 sub_805E4EC(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
+u8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *directionSequence)
+{
+ u8 v0;
+ u8 goSpeed0AnimId;
+ if (mapObject->mapobj_unk_21 == 3 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y)
+ {
+ mapObject->mapobj_unk_21 = 0;
+ }
+ FieldObjectSetDirection(mapObject, directionSequence[mapObject->mapobj_unk_21]);
+ goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->placeholder18);
+ v0 = sub_805FF20(mapObject, mapObject->placeholder18);
+ if (v0 == 1)
+ {
+ mapObject->mapobj_unk_21 ++;
+ FieldObjectSetDirection(mapObject, directionSequence[mapObject->mapobj_unk_21]);
+ goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->placeholder18);
+ v0 = sub_805FF20(mapObject, mapObject->placeholder18);
+ }
+ if (v0 != 0)
+ {
+ goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18);
+ }
+ FieldObjectSetRegularAnim(mapObject, sprite, goSpeed0AnimId);
+ mapObject->mapobj_bit_1 = 1;
+ sprite->data1 = 2;
+ return 1;
+}
+
+u8 sub_805E5B4(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ if (FieldObjectExecRegularAnim(mapObject, sprite))
+ {
+ mapObject->mapobj_bit_1 = 0;
+ sprite->data1 = 1;
+ }
+ return 0;
+}
+
void sub_805E5DC(struct Sprite *sprite);
void sub_805E668(struct Sprite *sprite);
void sub_805E6F4(struct Sprite *sprite);