From c6f5e91f4a469e65ad6d668350b2a58ba5d56db4 Mon Sep 17 00:00:00 2001 From: Chris Taylor Date: Sun, 13 Nov 2016 17:21:45 +0800 Subject: [PATCH] Saved games from editor generated levels now work Editor generated levels use the dummy mission created by create_new_mission. --- similar/main/mission.cpp | 2 +- similar/main/state.cpp | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/similar/main/mission.cpp b/similar/main/mission.cpp index a506e2445..40627259f 100644 --- a/similar/main/mission.cpp +++ b/similar/main/mission.cpp @@ -1092,7 +1092,7 @@ void create_new_mission(void) { Current_mission = make_unique(); *Current_mission = {}; - Current_mission->path = "new_mission"; + Current_mission->path = "new_miss"; // limited to eight characters because of savegame format Current_mission->filename = begin(Current_mission->path); Current_mission->builtin_hogsize = 0; diff --git a/similar/main/state.cpp b/similar/main/state.cpp index da516c738..6d0bbc778 100644 --- a/similar/main/state.cpp +++ b/similar/main/state.cpp @@ -1431,10 +1431,19 @@ int state_restore_all_sub(const char *filename, const secret_restore secret) // Read the mission info... PHYSFS_read(fp, mission, sizeof(char) * 9, 1); - if (!load_mission_by_name( mission )) { + if (!load_mission_by_name( mission ) +#if DXX_USE_EDITOR + && strcmp(mission, "new_miss") +#endif + ) + { nm_messagebox( NULL, 1, "Ok", "Error!\nUnable to load mission\n'%s'\n", mission ); return 0; } +#if DXX_USE_EDITOR + else if (!strcmp(mission, "new_miss")) + create_new_mission(); // use simple dummy mission +#endif //Read level info current_level = PHYSFSX_readSXE32(fp, swap);