- Because setting a DSP unit inactive completely ceases all processing on it, including timing,

sounds queued up while the Channel Group Target Unit is inactive will all play at the same time
  once the unit is made active. To avoid this, it is now only deactivated when the gamestate is
  GS_LEVEL. Otherwise, it just gets muted. Fixes http://forum.zdoom.org/viewtopic.php?f=2&t=33592 "Strife voices overlap"

SVN r3818 (trunk)
This commit is contained in:
Randy Heit 2012-08-10 03:49:50 +00:00
commit 3ddac32b4f
5 changed files with 48 additions and 7 deletions

View file

@ -1764,7 +1764,7 @@ void S_SetSoundPaused (int state)
S_ResumeSound(true);
if (GSnd != NULL)
{
GSnd->SetInactive(false);
GSnd->SetInactive(SoundRenderer::INACTIVE_Active);
}
if (!netgame
#ifdef _DEBUG
@ -1783,7 +1783,9 @@ void S_SetSoundPaused (int state)
S_PauseSound(false, true);
if (GSnd != NULL)
{
GSnd->SetInactive(true);
GSnd->SetInactive(gamestate == GS_LEVEL ?
SoundRenderer::INACTIVE_Complete :
SoundRenderer::INACTIVE_Mute);
}
if (!netgame
#ifdef _DEBUG