]> git.lizzy.rs Git - nothing.git/blobdiff - src/game.h
Fix PlayerLayer click-through problem
[nothing.git] / src / game.h
index 9826eac91971a3d397ecfd06e23393d029e3aad5..803a83edfadffe958ef29d7583a08c31be897738 100644 (file)
@@ -1,25 +1,31 @@
 #ifndef GAME_H_
 #define GAME_H_
 
-#include <SDL2/SDL.h>
+#include <SDL.h>
 
-#include "./game/sound_medium.h"
+#include "game/sound_samples.h"
+#include "ebisp/expr.h"
 
-typedef struct game_t game_t;
+typedef struct Game Game;
 
-game_t *create_game(const char *platforms_file_path,
-                    sound_medium_t *sound_medium);
-void destroy_game(game_t *game);
+Game *create_game(const char *platforms_file_path,
+                    const char *sound_sample_files[],
+                    size_t sound_sample_files_count,
+                    SDL_Renderer *renderer);
+void destroy_game(Game *game);
 
-int game_render(const game_t *game, SDL_Renderer *renderer);
-int game_sound(game_t *game);
-int game_update(game_t *game, float delta_time);
+int game_render(const Game *game);
+int game_sound(Game *game);
+int game_update(Game *game, float delta_time);
 
-int game_event(game_t *game, const SDL_Event *event);
-int game_input(game_t *game,
+int game_event(Game *game, const SDL_Event *event);
+int game_input(Game *game,
                const Uint8 *const keyboard_state,
                SDL_Joystick *the_stick_of_joy);
 
-int game_over_check(const game_t *game);
+int game_over_check(const Game *game);
+
+struct EvalResult
+game_send(Game *game, Gc *gc, struct Scope *scope, struct Expr path);
 
 #endif  // GAME_H_