]> git.lizzy.rs Git - nothing.git/blob - src/game/level.h
(#226) introduce debug_tree entity
[nothing.git] / src / game / level.h
1 #ifndef LEVEL_H_
2 #define LEVEL_H_
3
4 #include <SDL2/SDL.h>
5 #include <SDL2/SDL_mixer.h>
6
7 #include "game/camera.h"
8 #include "game/level/platforms.h"
9 #include "game/level/player.h"
10 #include "sound_samples.h"
11
12 typedef struct level_t level_t;
13
14 level_t *create_level_from_file(const char *file_name);
15 void destroy_level(level_t *level);
16
17 int level_render(const level_t *level, camera_t *camera);
18
19 int level_sound(level_t *level, sound_samples_t *sound_samples);
20 int level_update(level_t *level, float delta_time);
21
22 int level_event(level_t *level, const SDL_Event *event);
23 int level_input(level_t *level,
24                 const Uint8 *const keyboard_state,
25                 SDL_Joystick *the_stick_of_joy);
26 int level_enter_camera_event(level_t *level,
27                              const camera_t *camera);
28
29 int level_reload_preserve_player(level_t *level,
30                                  const char *file_name);
31
32 void level_toggle_debug_mode(level_t *level);
33 void level_toggle_pause_mode(level_t *level);
34
35 #endif  // LEVEL_H_