#ifndef GUARD_FIELD_PLAYER_AVATAR_H #define GUARD_FIELD_PLAYER_AVATAR_H #include "task.h" enum { PLAYER_AVATAR_STATE_NORMAL, PLAYER_AVATAR_STATE_MACH_BIKE, PLAYER_AVATAR_STATE_ACRO_BIKE, PLAYER_AVATAR_STATE_SURFING, PLAYER_AVATAR_STATE_UNDERWATER, PLAYER_AVATAR_STATE_FIELD_MOVE, PLAYER_AVATAR_STATE_FISHING, PLAYER_AVATAR_STATE_WATERING, }; // MovementType_None2 void player_step(u8 a, u16 b, u16 c); u8 ForcedMovement_None(void); u8 ForcedMovement_Slip(void); u8 ForcedMovement_WalkSouth(void); u8 ForcedMovement_WalkNorth(void); u8 ForcedMovement_WalkWest(void); u8 ForcedMovement_WalkEast(void); u8 ForcedMovement_RideCurrentSouth(void); u8 ForcedMovement_RideCurrentNorth(void); u8 ForcedMovement_RideCurrentWest(void); u8 ForcedMovement_RideCurrentEast(void); u8 ForcedMovement_SlideSouth(void); u8 ForcedMovement_SlideNorth(void); u8 ForcedMovement_SlideWest(void); u8 ForcedMovement_SlideEast(void); u8 ForcedMovement_SecretBaseJumpMat(void); u8 ForcedMovement_SecretBaseSpinMat(void); u8 ForcedMovement_MuddySlope(void); void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys); void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys); void sub_8058D0C(u8 direction, u16 heldKeys); u8 CheckForEventObjectCollision(struct EventObject *a, s16 b, s16 c, u8 d, u8 e); void SetPlayerAvatarTransitionFlags(u16 a); void nullsub_49(struct EventObject *a); void PlayerAvatarTransition_Normal(struct EventObject *a); void PlayerAvatarTransition_MachBike(struct EventObject *a); void PlayerAvatarTransition_AcroBike(struct EventObject *a); void PlayerAvatarTransition_Surfing(struct EventObject *a); void PlayerAvatarTransition_Underwater(struct EventObject *a); void sub_80591F4(struct EventObject *a); void sub_8059204(void); u8 PlayerGetCopyableMovement(void); void PlayerSetAnimId(u8 a, u8 b); void PlayerGoSpeed1(u8 a); void PlayerGoSpeed2(u8 a); void PlayerRideWaterCurrent(u8 a); void PlayerGoSpeed4(u8 a); void sub_805940C(u8 a); void PlayerOnBikeCollide(u8); void PlayerFaceDirection(u8 a); void PlayerTurnInPlace(u8 a); void PlayerJumpLedge(u8 a); void sub_80594C0(void); void PlayerIdleWheelie(u8 a); void PlayerStartWheelie(u8 a); void PlayerEndWheelie(u8 a); void PlayerStandingHoppingWheelie(u8 a); void PlayerMovingHoppingWheelie(u8 a); void PlayerLedgeHoppingWheelie(u8 a); void PlayerAcroTurnJump(u8 a); void sub_80595DC(u8 a); void sub_8059600(u8 a); void sub_8059618(u8 a); void sub_8059630(u8 a); void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y); void PlayerGetDestCoords(s16 *, s16 *); u8 GetPlayerFacingDirection(void); u8 GetPlayerMovementDirection(void); u8 PlayerGetZCoord(void); u8 TestPlayerAvatarFlags(u8); u8 sub_80597D0(void); u8 GetPlayerAvatarObjectId(void); void sub_80597E8(void); void sub_80597F4(void); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 a, u8 b); u8 GetPlayerAvatarGraphicsIdByStateId(u8); u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerSurfingNorth(void); bool8 IsPlayerFacingSurfableFishableWater(void); void ClearPlayerAvatarInfo(void); void SetPlayerAvatarStateMask(u8 a); u8 GetPlayerAvatarGraphicsIdByCurrentState(void); void SetPlayerAvatarExtraStateTransition(u8 a, u8 b); void InitPlayerAvatar(s16 a, s16 b, u8 c, u8 d); void sub_8059B88(u8); void sub_8059BF4(void); // sub_8059C3C void sub_8059C94(u8); void sub_8059D08(u8); u8 sub_8059E84(struct Task *task, struct EventObject *b, struct EventObject *c); u8 sub_8059EA4(struct Task *task, struct EventObject *b, struct EventObject *c); u8 sub_8059F40(struct Task *task, struct EventObject *b, struct EventObject *c); u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct EventObject *eventObject); u8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct EventObject *eventObject); u8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct EventObject *eventObject); u8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct EventObject *eventObject); u8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct EventObject *eventObject); void sub_805A20C(u8 a); void StartFishing(u8 a); u8 Fishing1(struct Task *task); u8 Fishing2(struct Task *task); u8 Fishing3(struct Task *task); u8 Fishing4(struct Task *task); u8 Fishing5(struct Task *task); u8 Fishing6(struct Task *task); u8 Fishing7(struct Task *task); u8 Fishing8(struct Task *task); u8 Fishing9(struct Task *task); u8 Fishing10(struct Task *task); u8 Fishing11(struct Task *task); u8 Fishing12(struct Task *task); u8 Fishing13(struct Task *task); u8 Fishing14(struct Task *task); u8 Fishing15(struct Task *task); u8 Fishing16(struct Task *task); #endif