Minor fixes to special node edit dialog.
This commit is contained in:
@@ -833,7 +833,6 @@ static bool edit_spec_enc_value(cDialog& me, std::string item_hit, node_stack_t&
|
|||||||
eStrType strt;
|
eStrType strt;
|
||||||
short str_adj = 0;
|
short str_adj = 0;
|
||||||
const char* title = "";
|
const char* title = "";
|
||||||
cSpecial* node_to_change_to = nullptr;
|
|
||||||
switch(btn) {
|
switch(btn) {
|
||||||
case 'm':
|
case 'm':
|
||||||
choose_string = false;
|
choose_string = false;
|
||||||
@@ -852,23 +851,27 @@ static bool edit_spec_enc_value(cDialog& me, std::string item_hit, node_stack_t&
|
|||||||
store = val;
|
store = val;
|
||||||
edit_dialog_text(eStrMode(mode), &store, &me);
|
edit_dialog_text(eStrMode(mode), &store, &me);
|
||||||
break;
|
break;
|
||||||
case 's': case 'S':
|
case 's': case 'S': {
|
||||||
choose_string = false;
|
choose_string = false;
|
||||||
store = val < 0 ? get_fresh_spec(mode) : val;
|
store = val < 0 ? get_fresh_spec(mode) : val;
|
||||||
me[field].setTextToNum(store);
|
me[field].setTextToNum(store);
|
||||||
save_spec_enc(me, edit_stack);
|
save_spec_enc(me, edit_stack);
|
||||||
|
cSpecial* node_to_change_to = nullptr;
|
||||||
if(mode == 0)
|
if(mode == 0)
|
||||||
node_to_change_to = &scenario.scen_specials[store];
|
node_to_change_to = &scenario.scen_specials[store];
|
||||||
else if(mode == 1)
|
else if(mode == 1)
|
||||||
node_to_change_to = ¤t_terrain->specials[store];
|
node_to_change_to = ¤t_terrain->specials[store];
|
||||||
else if(mode == 2)
|
else if(mode == 2)
|
||||||
node_to_change_to = &town->specials[store];
|
node_to_change_to = &town->specials[store];
|
||||||
if(node_to_change_to->pic < 0)
|
if (node_to_change_to) {
|
||||||
node_to_change_to->pic = 0;
|
if(node_to_change_to->pic < 0)
|
||||||
edit_stack.push({store,mode,*node_to_change_to});
|
node_to_change_to->pic = 0;
|
||||||
|
edit_stack.push({store,mode,*node_to_change_to});
|
||||||
|
}
|
||||||
put_spec_enc_in_dlog(me, edit_stack);
|
put_spec_enc_in_dlog(me, edit_stack);
|
||||||
me["back"].show();
|
me["back"].show();
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
case 'p':
|
case 'p':
|
||||||
choose_string = false;
|
choose_string = false;
|
||||||
if(pictype < 0) me["pictype"].setTextToNum(PIC_DLOG);
|
if(pictype < 0) me["pictype"].setTextToNum(PIC_DLOG);
|
||||||
|
Reference in New Issue
Block a user