]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level/level_editor.h
Remove Lt from LevelEditor
[nothing.git] / src / game / level / level_editor.h
index ac55e05288d5d6ea1ddf2ec806b5194cf3af32c0..3750e748cbf389a64c2ab02ae1c7086ee0b811dd 100644 (file)
@@ -4,15 +4,13 @@
 #include "game/level/level_editor/layer.h"
 #include "game/level/level_editor/layer_picker.h"
 #include "game/level/level_editor/undo_history.h"
-#include "game/level/level_editor/action_picker.h"
+#include "game/level/level_editor/rect_layer.h"
+#include "game/level/level_editor/point_layer.h"
+#include "game/level/level_editor/label_layer.h"
 #include "ui/wiggly_text.h"
 #include "ui/cursor.h"
 
 typedef struct LevelEditor LevelEditor;
-typedef struct RectLayer RectLayer;
-typedef struct PointLayer PointLayer;
-typedef struct LabelLayer LabelLayer;
-typedef struct Edit_field Edit_field;
 typedef struct Sound_samples Sound_samples;
 
 typedef enum {
@@ -22,23 +20,22 @@ typedef enum {
 
 struct LevelEditor
 {
-    Lt *lt;
     LevelEditorState state;
     Vec2f camera_position;
     float camera_scale;
-    Edit_field *edit_field_filename;
+    Edit_field edit_field_filename;
     LayerPicker layer_picker;
     FadingWigglyText notice;
 
-    RectLayer *boxes_layer;
-    RectLayer *platforms_layer;
-    RectLayer *back_platforms_layer;
-    PointLayer *goals_layer;
+    RectLayer boxes_layer;
+    RectLayer platforms_layer;
+    RectLayer back_platforms_layer;
+    PointLayer goals_layer;
     PlayerLayer player_layer;
-    RectLayer *lava_layer;
-    RectLayer *regions_layer;
+    RectLayer lava_layer;
+    RectLayer regions_layer;
     BackgroundLayer background_layer;
-    LabelLayer *label_layer;
+    LabelLayer label_layer;
 
     LayerPtr layers[LAYER_PICKER_N];
 
@@ -49,11 +46,12 @@ struct LevelEditor
     int click;
     int save;
 
-    const char *file_name;
+    char *file_name;
 };
 
-LevelEditor *create_level_editor(Cursor *cursor);
-LevelEditor *create_level_editor_from_file(const char *file_name, Cursor *cursor);
+void create_level_editor(LevelEditor *level_editor, Cursor *cursor);
+void level_editor_load_from_file(LevelEditor *level_editor, Memory *tmpmem, const char *file_name);
+void level_editor_clean(LevelEditor *level_editor);
 void destroy_level_editor(LevelEditor *level_editor);
 
 int level_editor_render(const LevelEditor *level_editor,