diff options
Diffstat (limited to 'include/event_object_movement.h')
-rw-r--r-- | include/event_object_movement.h | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/include/event_object_movement.h b/include/event_object_movement.h index ddccfe39b..cc45f1531 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -19,7 +19,8 @@ enum SpinnerRunnerFollowPatterns RUNFOLLOW_SOUTH_EAST_WEST }; -struct UnkStruct_085094AC { +struct UnkStruct_085094AC +{ const union AnimCmd *const *anims; u8 animPos[4]; }; @@ -45,28 +46,6 @@ struct UnkStruct_085094AC { #define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18) #define GROUND_EFFECT_FLAG_SEAWEED (1 << 19) -#define movement_type_def(setup, table) \ -static u8 setup##_callback(struct EventObject *, struct Sprite *);\ -void setup(struct Sprite *sprite)\ -{\ - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\ -}\ -static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - return table[sprite->data[1]](eventObject, sprite);\ -} - -#define movement_type_empty_callback(setup) \ -static u8 setup##_callback(struct EventObject *, struct Sprite *);\ -void setup(struct Sprite *sprite)\ -{\ - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\ -}\ -static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - return 0;\ -} - struct PairedPalettes { u16 tag; @@ -75,14 +54,14 @@ struct PairedPalettes struct LockedAnimEventObjects { - u8 eventObjectIds[NUM_EVENT_OBJECTS]; + u8 eventObjectIds[EVENT_OBJECTS_COUNT]; u8 count; }; extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[]; extern const u8 gReflectionEffectPaletteMap[]; -void sub_808D438(void); +void ResetEventObjects(void); u8 GetMoveDirectionAnimNum(u8); u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8); bool8 TryGetEventObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); @@ -143,9 +122,27 @@ u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 d u8 GetFaceDirectionMovementAction(u32); u8 GetWalkNormalMovementAction(u32); u8 GetWalkFastMovementAction(u32); +u8 GetRideWaterCurrentMovementAction(u32); u8 GetWalkFastestMovementAction(u32); +u8 GetPlayerRunMovementAction(u32); u8 GetJumpInPlaceMovementAction(u32); +u8 GetAcroWheelieFaceDirectionMovementAction(u32); +u8 GetAcroPopWheelieFaceDirectionMovementAction(u32); +u8 GetAcroEndWheelieFaceDirectionMovementAction(u32); +u8 GetAcroWheelieHopFaceDirectionMovementAction(u32); +u8 GetAcroWheelieHopDirectionMovementAction(u32); +u8 GetAcroWheelieJumpDirectionMovementAction(u32); +u8 GetJumpInPlaceTurnAroundMovementAction(u32); +u8 GetAcroWheelieInPlaceDirectionMovementAction(u32); +u8 GetAcroPopWheelieMoveDirectionMovementAction(u32); +u8 GetAcroWheelieMoveDirectionMovementAction(u32); +u8 GetAcroEndWheelieMoveDirectionMovementAction(u32); +u8 GetFishingDirectionAnimNum(u8 direction); +u8 GetAcroWheelieDirectionAnimNum(u8 direction); +u8 GetFishingBiteDirectionAnimNum(u8 direction); +u8 GetFishingNoCatchDirectionAnimNum(u8 direction); bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 specialAnimId); +void EventObjectForceSetHeldMovement(struct EventObject *eventObject, u8 movementActionId); bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject); u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject); u8 EventObjectGetHeldMovementActionId(struct EventObject *eventObject); @@ -162,9 +159,7 @@ u8 ZCoordToPriority(u8); void EventObjectUpdateZCoord(struct EventObject *pObject); void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); bool8 IsZCoordMismatchAt(u8, s16, s16); -void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *); void UnfreezeEventObject(struct EventObject *); -void oamt_npc_ministep_reset(struct Sprite *, u8, u8); u8 FindLockedEventObjectIndex(struct EventObject *); bool8 obj_npc_ministep(struct Sprite *sprite); bool8 sub_80976EC(struct Sprite *sprite); @@ -194,6 +189,7 @@ u16 GetObjectPaletteTag(u8 palSlot); void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible); s16 sub_809773C(s16 a1); s16 sub_8097728(s16 a1); +void CameraObjectReset2(void); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); |