Fix scenario editor build

This commit is contained in:
2015-07-07 19:07:02 -04:00
parent 137a3aa5d4
commit 9ad0681205
3 changed files with 20 additions and 15 deletions

View File

@@ -15,10 +15,10 @@
<button name='pict-edit' type='regular' top='186' left='471'>Choose</button> <button name='pict-edit' type='regular' top='186' left='471'>Choose</button>
<text size='large' top='6' left='50' width='156' height='17'>Editing a townsperson/monster</text> <text size='large' top='6' left='50' width='156' height='17'>Editing a townsperson/monster</text>
<group name='attitude'> <group name='attitude'>
<led name='att1' top='97' left='242' width='100'>Friendly, Docile</led> <led name='docile' top='97' left='242' width='100'>Friendly, Docile</led>
<led name='att2' top='113' left='242' width='100'>Hostile, Type A</led> <led name='hostile-a' top='113' left='242' width='100'>Hostile, Type A</led>
<led name='att3' top='97' left='377' width='100'>Friendly, Will Fight</led> <led name='friendly' top='97' left='377' width='100'>Friendly, Will Fight</led>
<led name='att4' top='113' left='377' width='100'>Hostile, Type B</led> <led name='hostile-b' top='113' left='377' width='100'>Hostile, Type B</led>
</group> </group>
<group name='mobility'> <group name='mobility'>
<led name='mob1' top='133' left='224'>No</led> <led name='mob1' top='133' left='224'>No</led>

View File

@@ -610,16 +610,16 @@ static void put_monst_info_in_dlog(cDialog& me, cMonster& monst, mon_num_t which
cLedGroup& attitude = dynamic_cast<cLedGroup&>(me["attitude"]); cLedGroup& attitude = dynamic_cast<cLedGroup&>(me["attitude"]);
switch(monst.default_attitude) { switch(monst.default_attitude) {
case 0: case eAttitude::DOCILE:
attitude.setSelected("docile"); attitude.setSelected("docile");
break; break;
case 1: case eAttitude::HOSTILE_A:
attitude.setSelected("A"); attitude.setSelected("A");
break; break;
case 2: case eAttitude::FRIENDLY:
attitude.setSelected("friendly"); attitude.setSelected("friendly");
break; break;
case 3: case eAttitude::HOSTILE_B:
attitude.setSelected("B"); attitude.setSelected("B");
break; break;
} }
@@ -727,10 +727,10 @@ static bool save_monst_info(cDialog& me, cMonster& monst) {
monst.default_facial_pic = me["talk"].getTextAsNum(); monst.default_facial_pic = me["talk"].getTextAsNum();
monst.treasure = me["treas"].getTextAsNum(); monst.treasure = me["treas"].getTextAsNum();
std::string def_att = dynamic_cast<cLedGroup&>(me["attitude"]).getSelected(); std::string def_att = dynamic_cast<cLedGroup&>(me["attitude"]).getSelected();
if(def_att == "docile") monst.default_attitude = 0; if(def_att == "docile") monst.default_attitude = eAttitude::DOCILE;
else if(def_att == "friendly") monst.default_attitude = 2; else if(def_att == "friendly") monst.default_attitude = eAttitude::FRIENDLY;
else if(def_att == "A") monst.default_attitude = 1; else if(def_att == "A") monst.default_attitude = eAttitude::HOSTILE_A;
else if(def_att == "B") monst.default_attitude = 3; else if(def_att == "B") monst.default_attitude = eAttitude::HOSTILE_B;
return true; return true;
} }
@@ -2729,7 +2729,12 @@ static bool save_scen_details(cDialog& me, std::string, eKeyMod) {
scenario.difficulty = difficulty.getSelected()[3] - '1'; scenario.difficulty = difficulty.getSelected()[3] - '1';
}{ }{
cLedGroup& rating = dynamic_cast<cLedGroup&>(me["rating"]); cLedGroup& rating = dynamic_cast<cLedGroup&>(me["rating"]);
scenario.rating = rating.getSelected()[4] - '1'; switch(rating.getSelected()[4]) {
case '1': scenario.rating = eContentRating::G; break;
case '2': scenario.rating = eContentRating::PG; break;
case '3': scenario.rating = eContentRating::R; break;
case '4': scenario.rating = eContentRating::NC17; break;
}
} }
scenario.adjust_diff = dynamic_cast<cLed&>(me["adjust"]).getState() != led_red; scenario.adjust_diff = dynamic_cast<cLed&>(me["adjust"]).getState() != led_red;
for(i = 0; i < 3; i++) for(i = 0; i < 3; i++)

View File

@@ -39,7 +39,7 @@ static void put_placed_monst_in_dlog(cDialog& me, cTownperson& monst, const shor
me["num"].setTextToNum(which); me["num"].setTextToNum(which);
me["type"].setText(scenario.scen_monsters[monst.number].m_name); me["type"].setText(scenario.scen_monsters[monst.number].m_name);
// TODO: Make attitude an enum // TODO: Make attitude an enum
dynamic_cast<cLedGroup&>(me["attitude"]).setSelected("att" + std::to_string(monst.start_attitude + 1)); dynamic_cast<cLedGroup&>(me["attitude"]).setSelected(boost::lexical_cast<std::string>(monst.start_attitude));
dynamic_cast<cLedGroup&>(me["mobility"]).setSelected("mob" + std::to_string(monst.mobility + 1)); dynamic_cast<cLedGroup&>(me["mobility"]).setSelected("mob" + std::to_string(monst.mobility + 1));
me["talk"].setTextToNum(monst.personality); me["talk"].setTextToNum(monst.personality);
me["picnum"].setTextToNum(monst.facial_pic); me["picnum"].setTextToNum(monst.facial_pic);
@@ -52,7 +52,7 @@ static void put_placed_monst_in_dlog(cDialog& me, cTownperson& monst, const shor
} }
static void get_placed_monst_in_dlog(cDialog& me, cTownperson& store_placed_monst) { static void get_placed_monst_in_dlog(cDialog& me, cTownperson& store_placed_monst) {
store_placed_monst.start_attitude = dynamic_cast<cLedGroup&>(me["attitude"]).getSelected()[3] - '1'; store_placed_monst.start_attitude = boost::lexical_cast<eAttitude>(dynamic_cast<cLedGroup&>(me["attitude"]).getSelected());
store_placed_monst.mobility = dynamic_cast<cLedGroup&>(me["mobility"]).getSelected()[3] - '1'; store_placed_monst.mobility = dynamic_cast<cLedGroup&>(me["mobility"]).getSelected()[3] - '1';
store_placed_monst.personality = me["talk"].getTextAsNum(); store_placed_monst.personality = me["talk"].getTextAsNum();
store_placed_monst.facial_pic = me["picnum"].getTextAsNum(); store_placed_monst.facial_pic = me["picnum"].getTextAsNum();