Remove TRIGGER_FLAG::ON; it is write-only

The game clears it in various cases, but never tests for it.  Remove it.
This commit is contained in:
Kp 2020-07-07 04:09:44 +00:00
parent b814434181
commit 738e4a740e
3 changed files with 5 additions and 12 deletions

View file

@ -139,7 +139,6 @@ enum TRIGGER_FLAG : uint16_t
SHIELD_DAMAGE = 2, // Shield Damage Trigger
ENERGY_DRAIN = 4, // Energy Drain Trigger
EXIT = 8, // End of level Trigger
ON = 16, // Whether Trigger is active
ONE_SHOT = 32, // If Trigger can only be triggered once
MATCEN = 64, // Trigger for materialization centers
ILLUSION_OFF = 128, // Switch Illusion OFF trigger
@ -157,7 +156,6 @@ enum TRIGGER_FLAG : uint16_t
#define TRIGGER_SHIELD_DAMAGE TRIGGER_FLAG::SHIELD_DAMAGE
#define TRIGGER_ENERGY_DRAIN TRIGGER_FLAG::ENERGY_DRAIN
#define TRIGGER_EXIT TRIGGER_FLAG::EXIT
#define TRIGGER_ON TRIGGER_FLAG::ON
#define TRIGGER_ONE_SHOT TRIGGER_FLAG::ONE_SHOT
#define TRIGGER_MATCEN TRIGGER_FLAG::MATCEN
#define TRIGGER_ILLUSION_OFF TRIGGER_FLAG::ILLUSION_OFF

View file

@ -349,7 +349,7 @@ static window_event_result trigger_dialog_created(UI_DIALOG *const w, trigger_di
t->triggerFlag[4] = ui_add_gadget_checkbox(w, 22, i, 16, 16, 0, "One-shot"); i+=22;
t->triggerFlag[5] = ui_add_gadget_checkbox(w, 22, i, 16, 16, 0, "Illusion ON"); i+=22;
t->triggerFlag[6] = ui_add_gadget_checkbox(w, 22, i, 16, 16, 0, "Illusion OFF"); i+=22;
t->triggerFlag[7] = ui_add_gadget_checkbox(w, 22, i, 16, 16, 0, "Trigger ON"); i+=22;
t->triggerFlag[7] = ui_add_gadget_checkbox(w, 22, i, 16, 16, 0, "Unused"); i+=22;
t->triggerFlag[8] = ui_add_gadget_checkbox(w, 22, i, 16, 16, 0, "Matcen Trigger"); i+=22;
t->triggerFlag[9] = ui_add_gadget_checkbox(w, 22, i, 16, 16, 0, "Secret Exit"); i+=22;
#endif
@ -434,7 +434,7 @@ window_event_result trigger_dialog_handler(UI_DIALOG *dlg,const d_event &event,
ui_checkbox_check(t->triggerFlag[4].get(), trig->flags & TRIGGER_ONE_SHOT);
ui_checkbox_check(t->triggerFlag[5].get(), trig->flags & TRIGGER_ILLUSION_ON);
ui_checkbox_check(t->triggerFlag[6].get(), trig->flags & TRIGGER_ILLUSION_OFF);
ui_checkbox_check(t->triggerFlag[7].get(), trig->flags & TRIGGER_ON);
ui_checkbox_check(t->triggerFlag[7].get(), 0);
ui_checkbox_check(t->triggerFlag[8].get(), trig->flags & TRIGGER_MATCEN);
ui_checkbox_check(t->triggerFlag[9].get(), trig->flags & TRIGGER_SECRET_EXIT);
#endif
@ -464,7 +464,8 @@ window_event_result trigger_dialog_handler(UI_DIALOG *dlg,const d_event &event,
else if (GADGET_PRESSED(t->triggerFlag[6].get()))
trigger_flag_Markedside(TRIGGER_ILLUSION_OFF, t->triggerFlag[6]->flag);
else if (GADGET_PRESSED(t->triggerFlag[7].get()))
trigger_flag_Markedside(TRIGGER_ON, t->triggerFlag[7]->flag);
{
}
else if (GADGET_PRESSED(t->triggerFlag[8].get()))
trigger_flag_Markedside(TRIGGER_MATCEN, t->triggerFlag[8]->flag);
else if (GADGET_PRESSED(t->triggerFlag[9].get()))

View file

@ -568,8 +568,6 @@ window_event_result check_trigger(const vcsegptridx_t seg, const unsigned side,
auto &t = *vmtrgptr(trigger_num);
if (t.flags & TRIGGER_ONE_SHOT)
{
t.flags &= ~TRIGGER_ON;
const shared_segment &csegp = *vcsegptr(seg->children[side]);
auto cside = find_connect_side(seg, csegp);
Assert(cside != side_none);
@ -577,10 +575,6 @@ window_event_result check_trigger(const vcsegptridx_t seg, const unsigned side,
const auto cwall_num = csegp.sides[cside].wall_num;
if (cwall_num == wall_none)
return window_event_result::ignored;
const auto ctrigger_num = vcwallptr(cwall_num)->trigger;
auto &ct = *vmtrgptr(ctrigger_num);
ct.flags &= ~TRIGGER_ON;
}
#endif
if (Game_mode & GM_MULTI)
@ -716,7 +710,7 @@ static trigger_action trigger_type_from_flags(short flags)
static void v30_trigger_to_v31_trigger(trigger &t, const v30_trigger &trig)
{
t.type = trigger_type_from_flags(trig.flags & ~TRIGGER_ON);
t.type = trigger_type_from_flags(trig.flags);
t.flags = (trig.flags & TRIGGER_ONE_SHOT) ? trigger_behavior_flags::one_shot : trigger_behavior_flags{0};
t.num_links = trig.num_links;
t.num_links = trig.num_links;