pokeemerald-expansion/include/field_player_avatar.h
2026-01-22 17:40:09 +01:00

77 lines
3.6 KiB
C

#ifndef GUARD_FIELD_PLAYER_AVATAR_H
#define GUARD_FIELD_PLAYER_AVATAR_H
void PlayerStep(enum Direction direction, u16 newKeys, u16 heldKeys);
bool8 TryDoMetatileBehaviorForcedMovement();
void ClearPlayerAvatarInfo(void);
void SetPlayerAvatarExtraStateTransition(u16 graphicsId, u8 transitionFlag);
enum Gender GetPlayerAvatarGenderByGraphicsId(u16 gfxId);
u8 TestPlayerAvatarFlags(u8 flag);
u8 GetPlayerAvatarSpriteId(void);
void PlayerGetDestCoords(s16 *x, s16 *y);
enum Direction GetPlayerFacingDirection(void);
enum Direction GetPlayerMovementDirection(void);
u8 PlayerGetCopyableMovement(void);
void PlayerWalkNormal(enum Direction direction);
void PlayerWalkFast(enum Direction direction);
void PlayerRideWaterCurrent(enum Direction direction);
void PlayerWalkFaster(enum Direction direction);
void PlayerOnBikeCollide(enum Direction direction);
void PlayerFaceDirection(enum Direction direction);
void PlayerTurnInPlace(enum Direction direction);
void PlayerJumpLedge(enum Direction direction);
void PlayerIdleWheelie(enum Direction direction);
void PlayerStartWheelie(enum Direction direction);
void PlayerEndWheelie(enum Direction direction);
void PlayerStandingHoppingWheelie(enum Direction direction);
void PlayerMovingHoppingWheelie(enum Direction direction);
void PlayerLedgeHoppingWheelie(enum Direction direction);
void PlayerAcroTurnJump(enum Direction direction);
void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement);
bool8 IsPlayerCollidingWithFarawayIslandMew(enum Direction direction);
void PlayerOnBikeCollideWithFarawayIslandMew(enum Direction direction);
enum Collision CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, enum Direction direction, u8 metatileBehavior);
u8 PlayerGetElevation(void);
void SetPlayerAvatarTransitionFlags(u16 transitionFlags);
void CancelPlayerForcedMovement(void);
void InitPlayerAvatar(s16 x, s16 y, enum Direction direction, enum Gender gender);
void PlayerFreeze(void);
void StopPlayerAvatar(void);
void SetSpinStartFacingDir(enum Direction direction);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
u16 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, enum Gender gender);
void SetPlayerAvatarFieldMove(void);
u16 GetPlayerAvatarGraphicsIdByCurrentState(void);
void SetPlayerAvatarStateMask(u8 flags);
u16 GetPlayerAvatarGraphicsIdByStateId(u8 state);
u8 GetJumpSpecialMovementAction(u32);
bool8 PartyHasMonWithSurf(void);
bool8 IsPlayerFacingSurfableFishableWater(void);
bool8 IsPlayerSurfingNorth(void);
void SetPlayerAvatarWatering(enum Direction direction);
u8 GetPlayerAvatarFlags(void);
void UpdatePlayerAvatarTransitionState(void);
u16 GetFRLGAvatarGraphicsIdByGender(enum Gender gender);
u16 GetRSAvatarGraphicsIdByGender(enum Gender gender);
void PlayerWheelieInPlace(enum Direction direction);
void PlayerWheelieMove(enum Direction direction);
void PlayerPopWheelieWhileMoving(enum Direction direction);
void PlayerUseAcroBikeOnBumpySlope(enum Direction direction);
void PlayerEndWheelieWhileMoving(enum Direction direction);
void DoPlayerSpinEntrance(void);
void DoPlayerSpinExit(void);
bool32 IsPlayerSpinEntranceActive(void);
bool32 IsPlayerSpinExitActive(void);
void SetPlayerInvisibility(bool8 invisible);
u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y);
void SetPlayerAvatarFishing(enum Direction direction);
bool8 ObjectMovingOnRockStairs(struct ObjectEvent *objectEvent, enum Direction direction);
//sideways stairs
enum Direction GetRightSideStairsDirection(enum Direction direction);
enum Direction GetLeftSideStairsDirection(enum Direction direction);
void UpdateSpinData(void);
void ResetSpinTimer(void);
bool32 CanTriggerSpinEvolution();
#endif // GUARD_FIELD_PLAYER_AVATAR_H