when undo/redo create/delete special item, show special item list
This commit is contained in:
@@ -3133,7 +3133,7 @@ void handle_close_terrain_view(eScenMode new_mode) {
|
|||||||
scenario.editor_state.overall_mode = new_mode;
|
scenario.editor_state.overall_mode = new_mode;
|
||||||
|
|
||||||
// set up the main screen if needed
|
// 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();
|
set_up_main_screen();
|
||||||
|
|
||||||
overall_mode = new_mode;
|
overall_mode = new_mode;
|
||||||
|
@@ -16,6 +16,7 @@ extern void start_town_edit();
|
|||||||
extern void start_out_edit();
|
extern void start_out_edit();
|
||||||
extern void redraw_screen();
|
extern void redraw_screen();
|
||||||
extern void set_current_town(int,bool first_restore = false);
|
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) {
|
cTerrainAction::cTerrainAction(std::string name, short town_num, location where, bool reversed) : cAction(name, reversed) {
|
||||||
area.is_town = true;
|
area.is_town = true;
|
||||||
@@ -332,12 +333,13 @@ bool aEditPlacedCreature::redo_me() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteSpecialItem::undo_me() {
|
bool aCreateDeleteSpecialItem::undo_me() {
|
||||||
|
if(overall_mode != MODE_EDIT_SPECIAL_ITEMS) start_special_item_editing();
|
||||||
scenario.special_items.pop_back();
|
scenario.special_items.pop_back();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteSpecialItem::redo_me() {
|
bool aCreateDeleteSpecialItem::redo_me() {
|
||||||
|
if(overall_mode != MODE_EDIT_SPECIAL_ITEMS) start_special_item_editing();
|
||||||
scenario.special_items.push_back(item);
|
scenario.special_items.push_back(item);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
Reference in New Issue
Block a user