undo/redo for deleting strings tied to location/rectangle

This commit is contained in:
2025-06-20 12:18:26 -05:00
parent cc5549d76a
commit fa91a6086b
3 changed files with 55 additions and 5 deletions

View File

@@ -1034,4 +1034,26 @@ bool aEditTalkNode::undo_me() {
bool aEditTalkNode::redo_me() {
scenario.towns[town_num]->talking.talk_nodes[which] = new_node;
return true;
}
bool aDeleteLocString::undo_me() {
if(is_sign){
area->sign_locs.push_back(sign);
start_string_editing(is_town ? STRS_TOWN_SIGN : STRS_OUT_SIGN);
}else{
area->area_desc.push_back(desc);
start_string_editing(is_town ? STRS_TOWN_RECT : STRS_OUT_RECT);
}
return true;
}
bool aDeleteLocString::redo_me() {
if(is_sign){
area->sign_locs.pop_back();
start_string_editing(is_town ? STRS_TOWN_SIGN : STRS_OUT_SIGN);
}else{
area->area_desc.pop_back();
start_string_editing(is_town ? STRS_TOWN_RECT : STRS_OUT_RECT);
}
return true;
}