6 #include "game/camera.h"
7 #include "game/sound_samples.h"
12 typedef struct Player Player;
13 typedef struct Goals Goals;
14 typedef struct Rigid_rect Rigid_rect;
15 typedef struct LineStream LineStream;
16 typedef struct Script Script;
17 typedef struct Broadcast Broadcast;
19 Player *create_player_from_line_stream(LineStream *line_stream, Broadcast *broadcast);
20 void destroy_player(Player * player);
22 Solid_ref player_as_solid(Player *player);
24 int player_render(const Player * player,
26 void player_update(Player * player,
28 void player_collide_with_solid(Player *player, Solid_ref solid);
29 void player_touches_rect_sides(Player *player,
31 int sides[RECT_SIDE_N]);
33 int player_sound(Player *player,
34 Sound_samples *sound_samples);
35 void player_checkpoint(Player *player,
38 void player_move_left(Player *player);
39 void player_move_right(Player *player);
40 void player_stop(Player *player);
41 void player_jump(Player *player);
42 void player_die(Player *player);
44 void player_focus_camera(Player *player,
46 void player_hide_goals(const Player *player,
48 void player_die_from_lava(Player *player,
51 bool player_overlaps_rect(const Player *player,
54 /** \brief Implements solid_apply_force
56 void player_apply_force(Player *player, Vec force);
58 Rigid_rect *player_rigid_rect(Player *player, const char *id);