WIP editing/creating/deleting types, show the change site
This commit is contained in:
@@ -17,6 +17,7 @@ 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;
|
extern eScenMode overall_mode;
|
||||||
|
extern eDrawMode draw_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;
|
||||||
@@ -97,7 +98,11 @@ aCreateDeleteTown::~aCreateDeleteTown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteTerrain::undo_me() {
|
bool aCreateDeleteTerrain::undo_me() {
|
||||||
// TODO if not in MODE_EDIT_TYPES, show it
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_TERRAIN)){
|
||||||
|
start_type_editing(DRAW_TERRAIN);
|
||||||
|
// TODO Go to scroll maximum
|
||||||
|
}
|
||||||
for(cTerrain ter : terrains){
|
for(cTerrain ter : terrains){
|
||||||
scenario.ter_types.pop_back();
|
scenario.ter_types.pop_back();
|
||||||
}
|
}
|
||||||
@@ -105,7 +110,11 @@ bool aCreateDeleteTerrain::undo_me() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteTerrain::redo_me() {
|
bool aCreateDeleteTerrain::redo_me() {
|
||||||
// TODO if not in MODE_EDIT_TYPES, show it
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_TERRAIN)){
|
||||||
|
start_type_editing(DRAW_TERRAIN);
|
||||||
|
// TODO Go to scroll maximum
|
||||||
|
}
|
||||||
for(cTerrain ter : terrains){
|
for(cTerrain ter : terrains){
|
||||||
scenario.ter_types.push_back(ter);
|
scenario.ter_types.push_back(ter);
|
||||||
}
|
}
|
||||||
@@ -113,43 +122,71 @@ bool aCreateDeleteTerrain::redo_me() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool aEditClearTerrain::undo_me() {
|
bool aEditClearTerrain::undo_me() {
|
||||||
// TODO show the type
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_TERRAIN)){
|
||||||
|
start_type_editing(DRAW_TERRAIN);
|
||||||
|
// TODO scroll to show the type
|
||||||
|
}
|
||||||
scenario.ter_types[which] = before;
|
scenario.ter_types[which] = before;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool aEditClearTerrain::redo_me() {
|
bool aEditClearTerrain::redo_me() {
|
||||||
// TODO show the type
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_TERRAIN)){
|
||||||
|
start_type_editing(DRAW_TERRAIN);
|
||||||
|
// TODO scroll to show the type
|
||||||
|
}
|
||||||
scenario.ter_types[which] = after;
|
scenario.ter_types[which] = after;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool aEditClearMonster::undo_me() {
|
bool aEditClearMonster::undo_me() {
|
||||||
// TODO show the type
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_MONST)){
|
||||||
|
start_type_editing(DRAW_MONST);
|
||||||
|
// TODO scroll to show the type
|
||||||
|
}
|
||||||
scenario.scen_monsters[which] = before;
|
scenario.scen_monsters[which] = before;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool aEditClearMonster::redo_me() {
|
bool aEditClearMonster::redo_me() {
|
||||||
// TODO show the type
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_MONST)){
|
||||||
|
start_type_editing(DRAW_MONST);
|
||||||
|
// TODO scroll to show the type
|
||||||
|
}
|
||||||
scenario.scen_monsters[which] = after;
|
scenario.scen_monsters[which] = after;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool aEditClearItem::undo_me() {
|
bool aEditClearItem::undo_me() {
|
||||||
// TODO show the type
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_ITEM)){
|
||||||
|
start_type_editing(DRAW_ITEM);
|
||||||
|
// TODO scroll to show the type
|
||||||
|
}
|
||||||
scenario.scen_items[which] = before;
|
scenario.scen_items[which] = before;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool aEditClearItem::redo_me() {
|
bool aEditClearItem::redo_me() {
|
||||||
// TODO show the type
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_ITEM)){
|
||||||
|
start_type_editing(DRAW_ITEM);
|
||||||
|
// TODO scroll to show the type
|
||||||
|
}
|
||||||
scenario.scen_items[which] = after;
|
scenario.scen_items[which] = after;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteMonster::undo_me() {
|
bool aCreateDeleteMonster::undo_me() {
|
||||||
// TODO if not in MODE_EDIT_TYPES, show it
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_MONST)){
|
||||||
|
start_type_editing(DRAW_MONST);
|
||||||
|
// TODO Go to scroll maximum
|
||||||
|
}
|
||||||
for(cMonster monst : monsters){
|
for(cMonster monst : monsters){
|
||||||
scenario.scen_monsters.pop_back();
|
scenario.scen_monsters.pop_back();
|
||||||
}
|
}
|
||||||
@@ -157,7 +194,11 @@ bool aCreateDeleteMonster::undo_me() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteMonster::redo_me() {
|
bool aCreateDeleteMonster::redo_me() {
|
||||||
// TODO if not in MODE_EDIT_TYPES, show it
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_MONST)){
|
||||||
|
start_type_editing(DRAW_MONST);
|
||||||
|
// TODO Go to scroll maximum
|
||||||
|
}
|
||||||
for(cMonster monst : monsters){
|
for(cMonster monst : monsters){
|
||||||
scenario.scen_monsters.push_back(monst);
|
scenario.scen_monsters.push_back(monst);
|
||||||
}
|
}
|
||||||
@@ -165,7 +206,11 @@ bool aCreateDeleteMonster::redo_me() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteItem::undo_me() {
|
bool aCreateDeleteItem::undo_me() {
|
||||||
// TODO if not in MODE_EDIT_TYPES, show it
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_ITEM)){
|
||||||
|
start_type_editing(DRAW_ITEM);
|
||||||
|
// TODO Go to scroll max
|
||||||
|
}
|
||||||
for(cItem item : items){
|
for(cItem item : items){
|
||||||
scenario.scen_items.pop_back();
|
scenario.scen_items.pop_back();
|
||||||
}
|
}
|
||||||
@@ -173,7 +218,11 @@ bool aCreateDeleteItem::undo_me() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteItem::redo_me() {
|
bool aCreateDeleteItem::redo_me() {
|
||||||
// TODO if not in MODE_EDIT_TYPES, show it
|
// if not in MODE_EDIT_TYPES, show it
|
||||||
|
if(!(overall_mode == MODE_EDIT_TYPES && draw_mode == DRAW_ITEM)){
|
||||||
|
start_type_editing(DRAW_ITEM);
|
||||||
|
// TODO Go to scroll max
|
||||||
|
}
|
||||||
for(cItem item : items){
|
for(cItem item : items){
|
||||||
scenario.scen_items.push_back(item);
|
scenario.scen_items.push_back(item);
|
||||||
}
|
}
|
||||||
@@ -333,13 +382,21 @@ bool aEditPlacedCreature::redo_me() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool aCreateDeleteSpecialItem::undo_me() {
|
bool aCreateDeleteSpecialItem::undo_me() {
|
||||||
if(overall_mode != MODE_EDIT_SPECIAL_ITEMS) start_special_item_editing();
|
// If not editing special items, show it
|
||||||
|
if(overall_mode != MODE_EDIT_SPECIAL_ITEMS){
|
||||||
|
start_special_item_editing();
|
||||||
|
// TODO Go to scroll maximum
|
||||||
|
}
|
||||||
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();
|
// If not editing special items, show it
|
||||||
|
if(overall_mode != MODE_EDIT_SPECIAL_ITEMS){
|
||||||
|
start_special_item_editing();
|
||||||
|
// TODO Go to scroll maximum
|
||||||
|
}
|
||||||
scenario.special_items.push_back(item);
|
scenario.special_items.push_back(item);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
Reference in New Issue
Block a user