preview town node generic dialogs
This commit is contained in:
@@ -3812,12 +3812,6 @@ void ifthen_spec(const runtime_state& ctx) {
|
||||
}
|
||||
|
||||
void townmode_spec(const runtime_state& ctx) {
|
||||
static const char*const stairDlogs[8] = {
|
||||
"basic-stair-up", "basic-stair-down",
|
||||
"basic-slope-up", "basic-slope-down",
|
||||
"slimy-stair-up", "slimy-stair-down",
|
||||
"dark-slope-up", "dark-slope-down"
|
||||
};
|
||||
bool check_mess = true;
|
||||
std::array<std::string, 6> strs;
|
||||
short r1;
|
||||
|
||||
@@ -67,26 +67,18 @@ namespace {
|
||||
node_properties_t S_NUKE = node_builder_t(eSpecType::TOWN_NUKE_MONSTS)
|
||||
.msg()
|
||||
.ex1a(STRT_MONST);
|
||||
// TODO Implement preview
|
||||
node_properties_t S_LEVER_G = node_builder_t(eSpecType::TOWN_GENERIC_LEVER)
|
||||
.ex1b(eSpecPicker::NODE)
|
||||
.no_preview();
|
||||
// TODO Implement preview
|
||||
.ex1b(eSpecPicker::NODE);
|
||||
node_properties_t S_PORTAL_G = node_builder_t(eSpecType::TOWN_GENERIC_PORTAL)
|
||||
.loc(eSpecField::EX1A, eSpecField::EX1B, eLocType::ACTIVE_TOWN)
|
||||
.no_preview();
|
||||
// TODO Implement preview
|
||||
.loc(eSpecField::EX1A, eSpecField::EX1B, eLocType::ACTIVE_TOWN);
|
||||
node_properties_t S_BUTTON_G = node_builder_t(eSpecType::TOWN_GENERIC_BUTTON)
|
||||
.ex1b(eSpecPicker::NODE)
|
||||
.no_preview();
|
||||
// TODO implement preview
|
||||
.ex1b(eSpecPicker::NODE);
|
||||
node_properties_t S_STAIR_G = node_builder_t(eSpecType::TOWN_GENERIC_STAIR)
|
||||
.loc(eSpecField::EX1A, eSpecField::EX1B, eLocType::SPECIFIED_TOWN, eSpecField::EX2A)
|
||||
.ex2a(STRT_TOWN)
|
||||
.ex2b(STRT_STAIR)
|
||||
.ex2c(STRT_STAIR_MODE)
|
||||
.jump(eSpecPicker::NONE)
|
||||
.no_preview();
|
||||
.jump(eSpecPicker::NONE);
|
||||
// TODO implement preview
|
||||
node_properties_t S_LEVER = node_builder_t(eSpecType::TOWN_LEVER)
|
||||
.msg1(eSpecPicker::MSG_SEQUENCE)
|
||||
|
||||
@@ -172,6 +172,13 @@ enum eStrType {
|
||||
STRT_LABEL_ALIGN, STRT_HORSE, STRT_BOAT,
|
||||
};
|
||||
|
||||
const char*const stairDlogs[8] = {
|
||||
"basic-stair-up", "basic-stair-down",
|
||||
"basic-slope-up", "basic-slope-down",
|
||||
"slimy-stair-up", "slimy-stair-down",
|
||||
"dark-slope-up", "dark-slope-down"
|
||||
};
|
||||
|
||||
enum class eSpecPicker {
|
||||
NONE,
|
||||
MSG_SINGLE, MSG_PAIR, MSG_SEQUENCE, MSG_SEQUENCE_VAR,
|
||||
|
||||
@@ -880,6 +880,19 @@ static bool preview_spec_enc_dlog(cDialog& me, std::string, cSpecial& special, s
|
||||
cDialog::defaultBackground = cDialog::BG_DARK;
|
||||
|
||||
switch(special.type){
|
||||
case eSpecType::TOWN_GENERIC_STAIR:
|
||||
if(special.ex2b < 8)
|
||||
cChoiceDlog(stairDlogs[max(0,special.ex2b)],{"climb","leave"}).show();
|
||||
break;
|
||||
case eSpecType::TOWN_GENERIC_BUTTON:
|
||||
cChoiceDlog("basic-button",{"yes","no"}).show();
|
||||
break;
|
||||
case eSpecType::TOWN_GENERIC_PORTAL:
|
||||
cChoiceDlog("basic-portal",{"yes","no"}).show();
|
||||
break;
|
||||
case eSpecType::TOWN_GENERIC_LEVER:
|
||||
cChoiceDlog("basic-lever",{"pull", "leave"}).show();
|
||||
break;
|
||||
case eSpecType::IF_NUM_RESPONSE:{
|
||||
int min = special.m2;
|
||||
int max = special.m3;
|
||||
|
||||
Reference in New Issue
Block a user