From a61343bc8b9a39c45a7f3313e1115c1ffbe8e9ab Mon Sep 17 00:00:00 2001 From: MascaraSnake <jonassauer27@gmail.com> Date: Wed, 22 Sep 2021 10:38:08 +0200 Subject: [PATCH] P_LinedefExecute: Use global taglists to find trigger linedefs --- src/p_spec.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/p_spec.c b/src/p_spec.c index ef0703c50f..35e6f4b4c9 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1873,15 +1873,16 @@ boolean P_RunTriggerLinedef(line_t *triggerline, mobj_t *actor, sector_t *caller */ void P_LinedefExecute(INT16 tag, mobj_t *actor, sector_t *caller) { - size_t masterline; + INT32 masterline; CONS_Debug(DBG_GAMELOGIC, "P_LinedefExecute: Executing trigger linedefs of tag %d\n", tag); I_Assert(!actor || !P_MobjWasRemoved(actor)); // If actor is there, it must be valid. - for (masterline = 0; masterline < numlines; masterline++) + TAG_ITER_LINES(tag, masterline) { - if (Tag_FGet(&lines[masterline].tags) != tag) + if (lines[masterline].special < 300 + || lines[masterline].special > 399) continue; // "No More Enemies" and "Level Load" take care of themselves. @@ -1897,10 +1898,6 @@ void P_LinedefExecute(INT16 tag, mobj_t *actor, sector_t *caller) || lines[masterline].special == 335)// Dye - Each time continue; - if (lines[masterline].special < 300 - || lines[masterline].special > 399) - continue; - if (!P_RunTriggerLinedef(&lines[masterline], actor, caller)) return; // cancel P_LinedefExecute if function returns false } -- GitLab