mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-20 19:02:34 +00:00
P_LinedefExecute: Use global taglists to find trigger linedefs
This commit is contained in:
parent
03c1c592ab
commit
a61343bc8b
1 changed files with 4 additions and 7 deletions
11
src/p_spec.c
11
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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue