#ifndef POKEPLATINUM_CONSTANTS_PLAYER_AVATAR_H
#define POKEPLATINUM_CONSTANTS_PLAYER_AVATAR_H

// Player State
#define PLAYER_STATE_WALKING 0
#define PLAYER_STATE_CYCLING 1
#define PLAYER_STATE_SURFING 2

#define PLAYER_EVENT_NONE             0
#define PLAYER_EVENT_USED_STRENGTH    (1 << 0)
#define PLAYER_EVENT_USED_WATERFALL   (1 << 1)
#define PLAYER_EVENT_DISTORTION_WORLD (1 << 2)

enum PlayerTransitionState {
    PLAYER_TRANSITION_WALKING = 1 << 0,
    PLAYER_TRANSITION_CYCLING = 1 << 1,
    PLAYER_TRANSITION_SURFING = 1 << 2,
    PLAYER_TRANSITION_x0008 = 1 << 3,
    PLAYER_TRANSITION_WATER_BERRIES = 1 << 4,
    PLAYER_TRANSITION_FISHING = 1 << 5,
    PLAYER_TRANSITION_POKETCH = 1 << 6,
    PLAYER_TRANSITION_SAVE = 1 << 7,
    PLAYER_TRANSITION_HEAL = 1 << 8,
    PLAYER_TRANSITION_x0200 = 1 << 9
};

enum PlayerMoveState {
    PLAYER_MOVE_STATE_NONE = 0,
    PLAYER_MOVE_STATE_START,
    PLAYER_MOVE_STATE_MOVING,
    PLAYER_MOVE_STATE_END,
};

enum AvatarMoveState {
    AVATAR_MOVE_STATE_NONE = 0,
    AVATAR_MOVE_STATE_MOVING,
    AVATAR_MOVE_STATE_TURNING,
};

enum AvatarDistortionState {
    AVATAR_DISTORTION_STATE_NONE = 0,
    AVATAR_DISTORTION_STATE_ACTIVE,
    AVATAR_DISTORTION_STATE_FLOOR,
    AVATAR_DISTORTION_STATE_WEST_WALL,
    AVATAR_DISTORTION_STATE_EAST_WALL,
    AVATAR_DISTORTION_STATE_CEILING,
    AVATAR_DISTORTION_STATE_MAX,
};

#endif // POKEPLATINUM_CONSTANTS_PLAYER_AVATAR_H
