Encapsulate the second behavior branch into an else.
When a tag is provided, the tagged sector-related branch is run exclusively now. This prevents playing the same sound again from the caller object's origin and other unwanted behaviors. Signed-off-by: Nev3r <apophycens@gmail.com>
This commit is contained in:
parent
ff8c43664a
commit
c935797a34
|
@ -2718,6 +2718,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
||||||
CONS_Debug(DBG_GAMELOGIC, "Line type 414 Executor: sfx number %d is invalid!\n", sfxnum);
|
CONS_Debug(DBG_GAMELOGIC, "Line type 414 Executor: sfx number %d is invalid!\n", sfxnum);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (line->tag != 0) // Do special stuff only if a non-zero linedef tag is set
|
if (line->tag != 0) // Do special stuff only if a non-zero linedef tag is set
|
||||||
{
|
{
|
||||||
if (line->flags & ML_EFFECT5) // Repeat Midtexture
|
if (line->flags & ML_EFFECT5) // Repeat Midtexture
|
||||||
|
@ -2758,7 +2759,8 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if (line->flags & ML_NOCLIMB)
|
if (line->flags & ML_NOCLIMB)
|
||||||
{
|
{
|
||||||
// play the sound from nowhere, but only if display player triggered it
|
// play the sound from nowhere, but only if display player triggered it
|
||||||
|
@ -2784,6 +2786,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
||||||
S_StartSound(mo, sfxnum);
|
S_StartSound(mo, sfxnum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 415: // Run a script
|
case 415: // Run a script
|
||||||
|
|
Loading…
Reference in a new issue