X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fgame%2Flevel%2Flevel_editor.h;h=3750e748cbf389a64c2ab02ae1c7086ee0b811dd;hb=85503090d94c1725a8cd27468ac1c901a3e045c8;hp=6a38a543237726bbe392c3d7d5f6c7438195898a;hpb=714487b82b91890e99d0eb5118596fcc1d44e6b5;p=nothing.git diff --git a/src/game/level/level_editor.h b/src/game/level/level_editor.h index 6a38a543..3750e748 100644 --- a/src/game/level/level_editor.h +++ b/src/game/level/level_editor.h @@ -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 LevelMetadata LevelMetadata; 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,24 +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; - LevelMetadata *metadata; - 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]; @@ -50,13 +46,12 @@ struct LevelEditor int click; int save; - ActionPicker test_picker; - - const char *file_name; + char *file_name; }; -LevelEditor *create_level_editor(void); -LevelEditor *create_level_editor_from_file(const char *file_name); +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,