From f30a6400e79d7ea13ae6444f92db62894e76209a Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 28 Aug 2025 12:50:30 -0500 Subject: [PATCH] fix loading last scenario for unpacked scenarios --- src/scenedit/scen.actions.cpp | 7 ++++++- src/scenedit/scen.fileio.cpp | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/scenedit/scen.actions.cpp b/src/scenedit/scen.actions.cpp index aa5df3a1b..0b37b4d98 100644 --- a/src/scenedit/scen.actions.cpp +++ b/src/scenedit/scen.actions.cpp @@ -3035,7 +3035,12 @@ void set_up_start_screen() { set_lb(4,LB_TEXT,LB_LOAD_SCEN,"Load Scenario"); fs::path last_scenario = get_string_pref("LastScenario"); if(!last_scenario.empty() && fs::exists(last_scenario)){ - set_lb(5,LB_TEXT,LB_LOAD_LAST,"Load Last: " + last_scenario.filename().string()); + // Probably unpacked, unless a legacy scenario called header.exs exists: + if(last_scenario.filename().string() == "header.exs"){ + set_lb(5,LB_TEXT,LB_LOAD_LAST,"Load Last: " + last_scenario.parent_path().filename().string()); + }else{ + set_lb(5,LB_TEXT,LB_LOAD_LAST,"Load Last: " + last_scenario.filename().string()); + } } set_lb(4,LB_TEXT,LB_LOAD_SCEN,"Load Scenario"); set_lb(7,LB_TEXT,LB_NO_ACTION,"To find out how to use the"); diff --git a/src/scenedit/scen.fileio.cpp b/src/scenedit/scen.fileio.cpp index 7e22d9262..50fad12b4 100644 --- a/src/scenedit/scen.fileio.cpp +++ b/src/scenedit/scen.fileio.cpp @@ -1113,7 +1113,12 @@ void save_scenario(bool rename) { if(toFile.empty()) return; } - set_pref("LastScenario", toFile.string()); + if(fs::is_directory(toFile)) { + // Unpacked scenario + set_pref("LastScenario", (toFile / "header.exs").string()); + }else{ + set_pref("LastScenario", toFile.string()); + } save_prefs(); extern cUndoList undo_list;