Strictify special node type enum
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
#include "special.h"
|
||||
|
||||
namespace ph = boost::phoenix;
|
||||
qi::symbols<char, eSpecNodeType> opcode;
|
||||
qi::symbols<char, eSpecType> opcode;
|
||||
|
||||
#define _(fcn) SpecialParser::fcn
|
||||
|
||||
@@ -66,113 +66,113 @@ SpecialParser::SpecialParser() {
|
||||
struct initer {
|
||||
initer() {
|
||||
opcode.add
|
||||
("null", SPEC_NULL)
|
||||
("set-sdf", SPEC_SET_SDF)
|
||||
("inc-sdf", SPEC_INC_SDF)
|
||||
("disp-msg", SPEC_DISPLAY_MSG)
|
||||
("secret-pass", SPEC_SECRET_PASSAGE)
|
||||
("disp-sm-msg", SPEC_DISPLAY_SM_MSG)
|
||||
("flip-sdf", SPEC_FLIP_SDF)
|
||||
("filter-context", SPEC_OUT_BLOCK)
|
||||
("block-move", SPEC_CANT_ENTER)
|
||||
("change-time", SPEC_CHANGE_TIME)
|
||||
("start-timer-scen", SPEC_SCEN_TIMER_START)
|
||||
("play-sound", SPEC_PLAY_SOUND)
|
||||
("change-horse", SPEC_CHANGE_HORSE_OWNER)
|
||||
("change-boat", SPEC_CHANGE_BOAT_OWNER)
|
||||
("town-visible", SPEC_SET_TOWN_VISIBILITY)
|
||||
("set-event", SPEC_MAJOR_EVENT_OCCURRED)
|
||||
("force-give", SPEC_FORCED_GIVE)
|
||||
("buy-item-class", SPEC_BUY_ITEMS_OF_TYPE)
|
||||
("call-global", SPEC_CALL_GLOBAL)
|
||||
("set-sdf-row", SPEC_SET_SDF_ROW)
|
||||
("copy-sdf", SPEC_COPY_SDF)
|
||||
("rest", SPEC_REST)
|
||||
("set-wander-fight", SPEC_WANDERING_WILL_FIGHT)
|
||||
("end-scen", SPEC_END_SCENARIO)
|
||||
("once-give-item", SPEC_ONCE_GIVE_ITEM)
|
||||
("once-give-spec-item", SPEC_ONCE_GIVE_SPEC_ITEM)
|
||||
("once", SPEC_ONCE_NULL)
|
||||
("once-set-sdf", SPEC_ONCE_SET_SDF)
|
||||
("once-disp-msg", SPEC_ONCE_DISPLAY_MSG)
|
||||
("once-dlog", SPEC_ONCE_DIALOG)
|
||||
("once-give-dlog", SPEC_ONCE_GIVE_ITEM_DIALOG)
|
||||
("once-encounter", SPEC_ONCE_OUT_ENCOUNTER)
|
||||
("once-trap", SPEC_ONCE_TRAP)
|
||||
("select-pc", SPEC_SELECT_PC)
|
||||
("damage", SPEC_DAMAGE)
|
||||
("hp", SPEC_AFFECT_HP)
|
||||
("sp", SPEC_AFFECT_SP)
|
||||
("xp", SPEC_AFFECT_XP)
|
||||
("skill-pts", SPEC_AFFECT_SKILL_PTS)
|
||||
("death", SPEC_AFFECT_DEADNESS)
|
||||
("status", SPEC_AFFECT_POISON)
|
||||
("statistic", SPEC_AFFECT_STAT)
|
||||
("spell", SPEC_AFFECT_MAGE_SPELL)
|
||||
("gold", SPEC_AFFECT_GOLD)
|
||||
("food", SPEC_AFFECT_FOOD)
|
||||
("alchemy", SPEC_AFFECT_ALCHEMY)
|
||||
("stealth", SPEC_AFFECT_STEALTH)
|
||||
("firewalk", SPEC_AFFECT_FIREWALK)
|
||||
("flight", SPEC_AFFECT_FLIGHT)
|
||||
("if-sdf", SPEC_IF_SDF)
|
||||
("if-town", SPEC_IF_TOWN_NUM)
|
||||
("if-spec-item", SPEC_IF_HAVE_SPECIAL_ITEM)
|
||||
("if-sdf-compare", SPEC_IF_SDF_COMPARE)
|
||||
("if-ter", SPEC_IF_TOWN_TER_TYPE)
|
||||
("if-gold", SPEC_IF_HAS_GOLD_AND_TAKE)
|
||||
("if-food", SPEC_IF_HAS_FOOD_AND_TAKE)
|
||||
("if-item-class-on-space", SPEC_IF_ITEM_CLASS_ON_SPACE_AND_TAKE)
|
||||
("if-item-class", SPEC_IF_HAVE_ITEM_CLASS_AND_TAKE)
|
||||
("if-item-class-equip", SPEC_IF_EQUIP_ITEM_CLASS_AND_TAKE)
|
||||
("if-day", SPEC_IF_DAY_REACHED)
|
||||
("if-field", SPEC_IF_BARRELS)
|
||||
("if-object", SPEC_IF_CRATES)
|
||||
("if-event", SPEC_IF_EVENT_OCCURRED)
|
||||
("if-cave-lore", SPEC_IF_HAS_CAVE_LORE)
|
||||
("if-woodsman", SPEC_IF_HAS_WOODSMAN)
|
||||
("if-mage-lore", SPEC_IF_ENOUGH_MAGE_LORE)
|
||||
("if-response", SPEC_IF_TEXT_RESPONSE)
|
||||
("if-sdf-eq", SPEC_IF_SDF_EQ)
|
||||
("town-attitude", SPEC_MAKE_TOWN_HOSTILE)
|
||||
("change-ter", SPEC_TOWN_CHANGE_TER)
|
||||
("swap-ter", SPEC_TOWN_SWAP_TER)
|
||||
("trans-ter", SPEC_TOWN_TRANS_TER)
|
||||
("move-party", SPEC_TOWN_MOVE_PARTY)
|
||||
("hit-space", SPEC_TOWN_HIT_SPACE)
|
||||
("explode-space", SPEC_TOWN_EXPLODE_SPACE)
|
||||
("lock-space", SPEC_TOWN_LOCK_SPACE)
|
||||
("unlock-space", SPEC_TOWN_UNLOCK_SPACE)
|
||||
("anim-explode", SPEC_TOWN_SFX_BURST)
|
||||
("make-wandering", SPEC_TOWN_CREATE_WANDERING)
|
||||
("place-monst", SPEC_TOWN_PLACE_MONST)
|
||||
("destroy-most", SPEC_TOWN_DESTROY_MONST)
|
||||
("nuke-monsts", SPEC_TOWN_NUKE_MONSTS)
|
||||
("lever-generic", SPEC_TOWN_GENERIC_LEVER)
|
||||
("portal-generic", SPEC_TOWN_GENERIC_PORTAL)
|
||||
("stair-generic", SPEC_TOWN_GENERIC_STAIR)
|
||||
("button-generic", SPEC_TOWN_GENERIC_BUTTON)
|
||||
("lever", SPEC_TOWN_LEVER)
|
||||
("portal", SPEC_TOWN_PORTAL)
|
||||
("stair", SPEC_TOWN_STAIR)
|
||||
("set-sector", SPEC_TOWN_RELOCATE)
|
||||
("place-item", SPEC_TOWN_PLACE_ITEM)
|
||||
("split-party", SPEC_TOWN_SPLIT_PARTY)
|
||||
("unite-party", SPEC_TOWN_REUNITE_PARTY)
|
||||
("start-timer-town", SPEC_TOWN_TIMER_START)
|
||||
("rect-place-field", SPEC_RECT_PLACE_BLADE)
|
||||
("rect-cleanse", SPEC_RECT_CLEANSE)
|
||||
("rect-place-sfx", SPEC_RECT_PLACE_SFX)
|
||||
("rect-place-object", SPEC_RECT_PLACE_OBJECT)
|
||||
("rect-move-items", SPEC_RECT_MOVE_ITEMS)
|
||||
("rect-destroy-items", SPEC_RECT_DESTROY_ITEMS)
|
||||
("rect-change-ter", SPEC_RECT_CHANGE_TER)
|
||||
("rect-swap-ter", SPEC_RECT_SWAP_TER)
|
||||
("rect-trans-ter", SPEC_RECT_TRANS_TER)
|
||||
("rect-lock", SPEC_RECT_LOCK)
|
||||
("rect-unlock", SPEC_RECT_UNLOCK)
|
||||
("make-out-monst", SPEC_OUT_PLACE_ENCOUNTER)
|
||||
("start-shop", SPEC_OUT_STORE)
|
||||
("null", eSpecType::NONE)
|
||||
("set-sdf", eSpecType::SET_SDF)
|
||||
("inc-sdf", eSpecType::INC_SDF)
|
||||
("disp-msg", eSpecType::DISPLAY_MSG)
|
||||
("secret-pass", eSpecType::SECRET_PASSAGE)
|
||||
("disp-sm-msg", eSpecType::DISPLAY_SM_MSG)
|
||||
("flip-sdf", eSpecType::FLIP_SDF)
|
||||
("filter-context", eSpecType::OUT_BLOCK)
|
||||
("block-move", eSpecType::CANT_ENTER)
|
||||
("change-time", eSpecType::CHANGE_TIME)
|
||||
("start-timer-scen", eSpecType::SCEN_TIMER_START)
|
||||
("play-sound", eSpecType::PLAY_SOUND)
|
||||
("change-horse", eSpecType::CHANGE_HORSE_OWNER)
|
||||
("change-boat", eSpecType::CHANGE_BOAT_OWNER)
|
||||
("town-visible", eSpecType::SET_TOWN_VISIBILITY)
|
||||
("set-event", eSpecType::MAJOR_EVENT_OCCURRED)
|
||||
("force-give", eSpecType::FORCED_GIVE)
|
||||
("buy-item-class", eSpecType::BUY_ITEMS_OF_TYPE)
|
||||
("call-global", eSpecType::CALL_GLOBAL)
|
||||
("set-sdf-row", eSpecType::SET_SDF_ROW)
|
||||
("copy-sdf", eSpecType::COPY_SDF)
|
||||
("rest", eSpecType::REST)
|
||||
("set-wander-fight", eSpecType::WANDERING_WILL_FIGHT)
|
||||
("end-scen", eSpecType::END_SCENARIO)
|
||||
("once-give-item", eSpecType::ONCE_GIVE_ITEM)
|
||||
("once-give-spec-item", eSpecType::ONCE_GIVE_SPEC_ITEM)
|
||||
("once", eSpecType::ONCE_NULL)
|
||||
("once-set-sdf", eSpecType::ONCE_SET_SDF)
|
||||
("once-disp-msg", eSpecType::ONCE_DISPLAY_MSG)
|
||||
("once-dlog", eSpecType::ONCE_DIALOG)
|
||||
("once-give-dlog", eSpecType::ONCE_GIVE_ITEM_DIALOG)
|
||||
("once-encounter", eSpecType::ONCE_OUT_ENCOUNTER)
|
||||
("once-trap", eSpecType::ONCE_TRAP)
|
||||
("select-pc", eSpecType::SELECT_PC)
|
||||
("damage", eSpecType::DAMAGE)
|
||||
("hp", eSpecType::AFFECT_HP)
|
||||
("sp", eSpecType::AFFECT_SP)
|
||||
("xp", eSpecType::AFFECT_XP)
|
||||
("skill-pts", eSpecType::AFFECT_SKILL_PTS)
|
||||
("death", eSpecType::AFFECT_DEADNESS)
|
||||
("status", eSpecType::AFFECT_POISON)
|
||||
("statistic", eSpecType::AFFECT_STAT)
|
||||
("spell", eSpecType::AFFECT_MAGE_SPELL)
|
||||
("gold", eSpecType::AFFECT_GOLD)
|
||||
("food", eSpecType::AFFECT_FOOD)
|
||||
("alchemy", eSpecType::AFFECT_ALCHEMY)
|
||||
("stealth", eSpecType::AFFECT_STEALTH)
|
||||
("firewalk", eSpecType::AFFECT_FIREWALK)
|
||||
("flight", eSpecType::AFFECT_FLIGHT)
|
||||
("if-sdf", eSpecType::IF_SDF)
|
||||
("if-town", eSpecType::IF_TOWN_NUM)
|
||||
("if-spec-item", eSpecType::IF_HAVE_SPECIAL_ITEM)
|
||||
("if-sdf-compare", eSpecType::IF_SDF_COMPARE)
|
||||
("if-ter", eSpecType::IF_TOWN_TER_TYPE)
|
||||
("if-gold", eSpecType::IF_HAS_GOLD_AND_TAKE)
|
||||
("if-food", eSpecType::IF_HAS_FOOD_AND_TAKE)
|
||||
("if-item-class-on-space", eSpecType::IF_ITEM_CLASS_ON_SPACE_AND_TAKE)
|
||||
("if-item-class", eSpecType::IF_HAVE_ITEM_CLASS_AND_TAKE)
|
||||
("if-item-class-equip", eSpecType::IF_EQUIP_ITEM_CLASS_AND_TAKE)
|
||||
("if-day", eSpecType::IF_DAY_REACHED)
|
||||
("if-field", eSpecType::IF_BARRELS)
|
||||
("if-object", eSpecType::IF_CRATES)
|
||||
("if-event", eSpecType::IF_EVENT_OCCURRED)
|
||||
("if-cave-lore", eSpecType::IF_HAS_CAVE_LORE)
|
||||
("if-woodsman", eSpecType::IF_HAS_WOODSMAN)
|
||||
("if-mage-lore", eSpecType::IF_ENOUGH_MAGE_LORE)
|
||||
("if-response", eSpecType::IF_TEXT_RESPONSE)
|
||||
("if-sdf-eq", eSpecType::IF_SDF_EQ)
|
||||
("town-attitude", eSpecType::MAKE_TOWN_HOSTILE)
|
||||
("change-ter", eSpecType::TOWN_CHANGE_TER)
|
||||
("swap-ter", eSpecType::TOWN_SWAP_TER)
|
||||
("trans-ter", eSpecType::TOWN_TRANS_TER)
|
||||
("move-party", eSpecType::TOWN_MOVE_PARTY)
|
||||
("hit-space", eSpecType::TOWN_HIT_SPACE)
|
||||
("explode-space", eSpecType::TOWN_EXPLODE_SPACE)
|
||||
("lock-space", eSpecType::TOWN_LOCK_SPACE)
|
||||
("unlock-space", eSpecType::TOWN_UNLOCK_SPACE)
|
||||
("anim-explode", eSpecType::TOWN_SFX_BURST)
|
||||
("make-wandering", eSpecType::TOWN_CREATE_WANDERING)
|
||||
("place-monst", eSpecType::TOWN_PLACE_MONST)
|
||||
("destroy-most", eSpecType::TOWN_DESTROY_MONST)
|
||||
("nuke-monsts", eSpecType::TOWN_NUKE_MONSTS)
|
||||
("lever-generic", eSpecType::TOWN_GENERIC_LEVER)
|
||||
("portal-generic", eSpecType::TOWN_GENERIC_PORTAL)
|
||||
("stair-generic", eSpecType::TOWN_GENERIC_STAIR)
|
||||
("button-generic", eSpecType::TOWN_GENERIC_BUTTON)
|
||||
("lever", eSpecType::TOWN_LEVER)
|
||||
("portal", eSpecType::TOWN_PORTAL)
|
||||
("stair", eSpecType::TOWN_STAIR)
|
||||
("set-sector", eSpecType::TOWN_RELOCATE)
|
||||
("place-item", eSpecType::TOWN_PLACE_ITEM)
|
||||
("split-party", eSpecType::TOWN_SPLIT_PARTY)
|
||||
("unite-party", eSpecType::TOWN_REUNITE_PARTY)
|
||||
("start-timer-town", eSpecType::TOWN_TIMER_START)
|
||||
("rect-place-field", eSpecType::RECT_PLACE_BLADE)
|
||||
("rect-cleanse", eSpecType::RECT_CLEANSE)
|
||||
("rect-place-sfx", eSpecType::RECT_PLACE_SFX)
|
||||
("rect-place-object", eSpecType::RECT_PLACE_OBJECT)
|
||||
("rect-move-items", eSpecType::RECT_MOVE_ITEMS)
|
||||
("rect-destroy-items", eSpecType::RECT_DESTROY_ITEMS)
|
||||
("rect-change-ter", eSpecType::RECT_CHANGE_TER)
|
||||
("rect-swap-ter", eSpecType::RECT_SWAP_TER)
|
||||
("rect-trans-ter", eSpecType::RECT_TRANS_TER)
|
||||
("rect-lock", eSpecType::RECT_LOCK)
|
||||
("rect-unlock", eSpecType::RECT_UNLOCK)
|
||||
("make-out-monst", eSpecType::OUT_PLACE_ENCOUNTER)
|
||||
("start-shop", eSpecType::OUT_STORE)
|
||||
;
|
||||
}
|
||||
};
|
||||
@@ -187,7 +187,7 @@ void SpecialParser::init_file() {
|
||||
void SpecialParser::init_block() {
|
||||
cur_node++;
|
||||
temp_symbol.clear();
|
||||
curSpec.type = SPEC_NULL;
|
||||
curSpec.type = eSpecType::NONE;
|
||||
curSpec.sd1 = -1;
|
||||
curSpec.sd2 = -1;
|
||||
curSpec.m1 = -1;
|
||||
@@ -217,7 +217,7 @@ void SpecialParser::add_command() {
|
||||
specials[cur_node] = curSpec;
|
||||
}
|
||||
|
||||
void SpecialParser::set_type(eSpecNodeType type) {
|
||||
void SpecialParser::set_type(eSpecType type) {
|
||||
curSpec.type = type;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user