From 7083b415cd4efc4b7e6a8a967367bc04309f2c09 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 12 Jun 2025 12:46:02 -0500 Subject: [PATCH] when undo/redo create/delete special item, show special item list --- src/scenedit/scen.actions.cpp | 2 +- src/scenedit/scen.undo.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/scenedit/scen.actions.cpp b/src/scenedit/scen.actions.cpp index afdefbee..d61b34a6 100644 --- a/src/scenedit/scen.actions.cpp +++ b/src/scenedit/scen.actions.cpp @@ -3133,7 +3133,7 @@ void handle_close_terrain_view(eScenMode new_mode) { scenario.editor_state.overall_mode = new_mode; // set up the main screen if needed - if(new_mode == MODE_MAIN_SCREEN && overall_mode <= MODE_MAIN_SCREEN) + if(new_mode >= MODE_MAIN_SCREEN && overall_mode <= MODE_MAIN_SCREEN) set_up_main_screen(); overall_mode = new_mode; diff --git a/src/scenedit/scen.undo.cpp b/src/scenedit/scen.undo.cpp index 204919fe..e05f0714 100644 --- a/src/scenedit/scen.undo.cpp +++ b/src/scenedit/scen.undo.cpp @@ -16,6 +16,7 @@ extern void start_town_edit(); extern void start_out_edit(); extern void redraw_screen(); extern void set_current_town(int,bool first_restore = false); +extern eScenMode overall_mode; cTerrainAction::cTerrainAction(std::string name, short town_num, location where, bool reversed) : cAction(name, reversed) { area.is_town = true; @@ -332,12 +333,13 @@ bool aEditPlacedCreature::redo_me() { } bool aCreateDeleteSpecialItem::undo_me() { + if(overall_mode != MODE_EDIT_SPECIAL_ITEMS) start_special_item_editing(); scenario.special_items.pop_back(); - return true; } bool aCreateDeleteSpecialItem::redo_me() { + if(overall_mode != MODE_EDIT_SPECIAL_ITEMS) start_special_item_editing(); scenario.special_items.push_back(item); return true; } \ No newline at end of file