diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-22 21:55:50 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-05-24 16:15:11 -0400 |
commit | eae1c5be1196c5e7e57bafcea8a3d204f049abb6 (patch) | |
tree | 1888c7f48d8eafef00cc4b55c2aeb9d0f8b0eedf /src | |
parent | cf9607b0a809258170df8e8c970442a09ff21380 (diff) |
A handful more functions in the midst of field map object callbacks
Diffstat (limited to 'src')
-rwxr-xr-x | src/field_map_obj.c | 38 |
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); |