]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level.h
(#824) Introduce UndoHistory
[nothing.git] / src / game / level.h
index e44a991088b1ac6321e3d3f95309826b58aa9d5e..cfa41a7857e768c4a466627a1315579bc176c3e8 100644 (file)
@@ -1,17 +1,20 @@
 #ifndef LEVEL_H_
 #define LEVEL_H_
 
-#include <SDL2/SDL.h>
-#include <SDL2/SDL_mixer.h>
+#include <SDL.h>
 
 #include "game/camera.h"
 #include "game/level/platforms.h"
 #include "game/level/player.h"
 #include "sound_samples.h"
+#include "ebisp/expr.h"
 
+typedef struct Broadcast Broadcast;
 typedef struct Level Level;
+typedef struct LevelEditor LevelEditor;
 
-Level *create_level_from_file(const char *file_name);
+Level *create_level_from_level_editor(const LevelEditor *level_editor,
+                                      Broadcast *broadcast);
 void destroy_level(Level *level);
 
 int level_render(const Level *level, Camera *camera);
@@ -23,19 +26,11 @@ int level_event(Level *level, const SDL_Event *event);
 int level_input(Level *level,
                 const Uint8 *const keyboard_state,
                 SDL_Joystick *the_stick_of_joy);
-int level_enter_camera_event(Level *level,
-                             const Camera *camera);
-
-int level_reload_preserve_player(Level *level,
-                                 const char *file_name);
-
-Rigid_rect *level_rigid_rect(Level *level,
-                             const char *rigid_rect_id);
+int level_enter_camera_event(Level *level, Camera *camera);
 
 void level_toggle_debug_mode(Level *level);
 void level_toggle_pause_mode(Level *level);
 
-void level_hide_goal(Level *level, const char *goal_id);
-void level_show_goal(Level *level, const char *goal_id);
+struct EvalResult level_send(Level *level, Gc *gc, struct Scope *scope, struct Expr path);
 
 #endif  // LEVEL_H_