X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fgame%2Flevel%2Flevel_editor.c;h=b20b2503d04b971a50fedb69e2c8458f4a61f8ea;hb=60bfa4ee6b2f86d7166b101c0c4075df2e661417;hp=796f4a14770e0e08437d62342b2e26e031ad9bff;hpb=e807dc97a8b09bc4daa737b47e58ab43d8f76e65;p=nothing.git diff --git a/src/game/level/level_editor.c b/src/game/level/level_editor.c index 796f4a14..b20b2503 100644 --- a/src/game/level/level_editor.c +++ b/src/game/level/level_editor.c @@ -2,7 +2,6 @@ #include "game/camera.h" #include "game/sound_samples.h" -#include "game/level_metadata.h" #include "game/level/boxes.h" #include "game/level/level_editor/action_picker.h" #include "game/level/level_editor/color_picker.h" @@ -19,6 +18,7 @@ #include "system/log.h" #include "system/str.h" #include "config.h" +#include "math/extrema.h" #include "level_editor.h" @@ -57,14 +57,6 @@ LevelEditor *create_level_editor(Cursor *cursor) RETURN_LT(lt, NULL); } - level_editor->metadata = PUSH_LT( - lt, - create_level_metadata(VERSION, "New Level"), - destroy_level_metadata); - if (level_editor->metadata == NULL) { - RETURN_LT(lt, NULL); - } - level_editor->background_layer = create_background_layer(hexstr("fffda5")); level_editor->player_layer = @@ -191,11 +183,21 @@ LevelEditor *create_level_editor_from_file(const char *file_name, Cursor *cursor RETURN_LT(lt, NULL); } - level_editor->metadata = PUSH_LT( - lt, - create_level_metadata_from_line_stream(level_stream), - destroy_level_metadata); - if (level_editor->metadata == NULL) { + const char *line = line_stream_next(level_stream); + if (line == NULL) { + RETURN_LT(lt, NULL); + } + + char version[METADATA_VERSION_MAX_SIZE] = {0}; + memcpy(version, line, + MIN(size_t, + strlen(line), + METADATA_VERSION_MAX_SIZE - 1)); + trim_endline(version); + + if (strcmp(version, VERSION) != 0) { + log_fail("Version `%s` is not supported. Expected version `%s`.\n", + version, VERSION); RETURN_LT(lt, NULL); } @@ -564,11 +566,7 @@ static int level_editor_dump(LevelEditor *level_editor) fopen(level_editor->file_name, "w"), fclose_lt); - if (fprintf(filedump, "%s\n", level_metadata_version(level_editor->metadata)) < 0) { - return -1; - } - - if (fprintf(filedump, "%s\n", level_metadata_title(level_editor->metadata)) < 0) { + if (fprintf(filedump, "%s", VERSION) < 0) { return -1; }