]> git.lizzy.rs Git - nothing.git/blob - src/game/level/player.h
Remove TODO(#964)
[nothing.git] / src / game / level / player.h
1 #ifndef PLAYER_H_
2 #define PLAYER_H_
3
4 #include <SDL.h>
5
6 #include "game/camera.h"
7 #include "game/sound_samples.h"
8 #include "lava.h"
9 #include "platforms.h"
10 #include "boxes.h"
11 #include "game/level/level_editor/player_layer.h"
12
13 typedef struct Player Player;
14 typedef struct Goals Goals;
15 typedef struct LineStream LineStream;
16 typedef struct Script Script;
17 typedef struct Broadcast Broadcast;
18 typedef struct RigidBodies RigidBodies;
19
20 Player *create_player_from_player_layer(const PlayerLayer *player_layer,
21                                         RigidBodies *rigid_bodies,
22                                         Broadcast *broadcast);
23 void destroy_player(Player * player);
24
25 int player_render(const Player * player,
26                   Camera *camera);
27 void player_update(Player * player,
28                    float delta_time);
29 void player_touches_rect_sides(Player *player,
30                                Rect object,
31                                int sides[RECT_SIDE_N]);
32
33 int player_sound(Player *player,
34                  Sound_samples *sound_samples);
35 void player_checkpoint(Player *player,
36                        Vec checkpoint);
37
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, Script *supa_script);
42 void player_die(Player *player);
43
44 void player_focus_camera(Player *player,
45                          Camera *camera);
46 void player_hide_goals(const Player *player,
47                        Goals *goal);
48 void player_die_from_lava(Player *player,
49                           const Lava *lava);
50
51 bool player_overlaps_rect(const Player *player,
52                           Rect rect);
53
54 Rect player_hitbox(const Player *player);
55
56 #endif  // PLAYER_H_