/* This file was generated by scramble.py. */
#line 1 "src/player.py"
#ifndef _PLAYER_
#define _PLAYER_
typedef enum KidState KidState;
typedef struct Player Player;
#line 1
#include "main.h"
#include "map.h"
#include "game.h"
#include "tile.h"
#include "particle.h"
#include "music.h"
#line 8
enum KidState {
    Wandering,
    Following,
    Stopping,
    Studying,
    Crazy,
    Sitting,
    Crying,
    Monster,
    Dancing
};
struct Player {
    int tid;
    float x, y;
    float dx, dy;
    int jump;
    int frame;
    bool climbing : 1;
    bool falling : 1;
    bool flying : 1;
    KidState state;
    int attention_span;
    char * name;
    int wx, wy;
    int kid;
    int ladders;
    int homex, homey;
    int dig;
#line 37
    bool seen;
    float seen_x, seen_y;
};
#line 41
extern int gravity;
#line 43
Player * player_create(int tid);
#line 48
void kid_command(Player * self, KidState state, bool named);
#line 63
float distance(Player * self, float * rx, float * ry, float tx, float ty);
#line 76
float kid_distance(Player * self, float * rx, float * ry);
#line 79
Tile * player_get_under(Player * self);
#line 98
void player_place_at_start(Player * self, int x, int y, Map * map);
#line 106
bool player_collision(Player * self);
#line 112
void player_ladder(Player * self);
#line 140
void player_dig(Player * self, int kx);
#line 155
bool player_ground(Player * self);
#line 161
bool player_move_(Player * self, float dx, float dy, bool fall);
#line 180
void player_transport(Player * self, float x, float y);
#line 187
void player_teleport(Player * self);
#line 206
bool player_move(Player * self, float dx, float dy);
#line 209
bool player_fall(Player * self, float dx, float dy);
#line 334
void player_collide(Player * self, int kx, int ky, int who);
#line 341
void player_input(Player * self, int kx, int ky, int who);
#endif
/* This file was generated by scramble.py. */
