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:
parent
b814434181
commit
738e4a740e
|
@ -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
|
||||
|
|
|
@ -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()))
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue