Merge branch 'soundex_tweak' into 'master'

Tweak Line Special 414's behavior

See merge request STJr/SRB2Internal!382
This commit is contained in:
Nev3r 2019-10-22 05:31:22 -04:00
commit dbd8e563b4
1 changed files with 24 additions and 21 deletions

View File

@ -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,30 +2759,32 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
return; return;
} }
} }
else
if (line->flags & ML_NOCLIMB)
{ {
// play the sound from nowhere, but only if display player triggered it if (line->flags & ML_NOCLIMB)
if (mo && mo->player && (mo->player == &players[displayplayer] || mo->player == &players[secondarydisplayplayer])) {
// play the sound from nowhere, but only if display player triggered it
if (mo && mo->player && (mo->player == &players[displayplayer] || mo->player == &players[secondarydisplayplayer]))
S_StartSound(NULL, sfxnum);
}
else if (line->flags & ML_EFFECT4)
{
// play the sound from nowhere
S_StartSound(NULL, sfxnum); S_StartSound(NULL, sfxnum);
} }
else if (line->flags & ML_EFFECT4) else if (line->flags & ML_BLOCKMONSTERS)
{ {
// play the sound from nowhere // play the sound from calling sector's soundorg
S_StartSound(NULL, sfxnum); if (callsec)
} S_StartSound(&callsec->soundorg, sfxnum);
else if (line->flags & ML_BLOCKMONSTERS) else if (mo)
{ S_StartSound(&mo->subsector->sector->soundorg, sfxnum);
// play the sound from calling sector's soundorg }
if (callsec)
S_StartSound(&callsec->soundorg, sfxnum);
else if (mo) else if (mo)
S_StartSound(&mo->subsector->sector->soundorg, sfxnum); {
} // play the sound from mobj that triggered it
else if (mo) S_StartSound(mo, sfxnum);
{ }
// play the sound from mobj that triggered it
S_StartSound(mo, sfxnum);
} }
} }
break; break;