X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=2ff37bc51a81ab51708c025a1dfd4c23eaa412b7;hb=d8e3568accbc475855027f7199e55543dc4d1ddf;hp=abcf15d20761100b5e14479b9a3acc7985349a7f;hpb=c42862bb754d7a8b1ff476887669650845f7570e;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index abcf15d2..2ff37bc5 100644 --- a/src/files.c +++ b/src/files.c @@ -2501,10 +2501,17 @@ void LoadLevelFromFileInfo(struct LevelInfo *level, break; } + /* if level file is invalid, restore level structure to default values */ + if (level->no_valid_file) + setLevelInfoToDefaults(level); + if (level->game_engine_type == GAME_ENGINE_TYPE_UNKNOWN) level->game_engine_type = GAME_ENGINE_TYPE_RND; - CopyNativeLevel_Native_to_RND(level); + if (level_file_info->type == LEVEL_FILE_TYPE_RND) + CopyNativeLevel_RND_to_Native(level); + else + CopyNativeLevel_Native_to_RND(level); } void LoadLevelFromFilename(struct LevelInfo *level, char *filename)