- Fixed: SetSoundPaused() still needs to call S_PauseSound() to pause music

that isn't piped through the digital sound system. (Was removed in r1004.)


SVN r1595 (trunk)
This commit is contained in:
Randy Heit 2009-05-20 02:52:07 +00:00
parent b7dab65754
commit 749de6c156
8 changed files with 28 additions and 16 deletions

View File

@ -1,4 +1,8 @@
May 16, 2009
May 19, 2009
- Fixed: SetSoundPaused() still needs to call S_PauseSound() to pause music
that isn't piped through the digital sound system. (Was removed in r1004.)
May 16, 2009
- Added input buffering to the Implode and Shrink routines for a marked
speedup.
- Replaced the Shanno-Fano/Huffman reading routines from FZipExploder with

View File

@ -2181,12 +2181,12 @@ void Net_DoCommand (int type, BYTE **stream, int player)
if (paused)
{
paused = 0;
S_ResumeSound ();
S_ResumeSound (false);
}
else
{
paused = player + 1;
S_PauseSound (false);
S_PauseSound (false, false);
}
BorderNeedRefresh = screen->GetPageCount ();
}

View File

@ -391,7 +391,7 @@ void G_InitNew (const char *mapname, bool bTitleLevel)
if (paused)
{
paused = 0;
S_ResumeSound ();
S_ResumeSound (false);
}
if (StatusBar != NULL)

View File

@ -1366,7 +1366,7 @@ void APowerTimeFreezer::InitEffect( )
return;
// When this powerup is in effect, pause the music.
S_PauseSound( false );
S_PauseSound( false, false );
// Give the player and his teammates the power to move when time is frozen.
Owner->player->cheats |= CF_TIMEFREEZE;
@ -1441,7 +1441,7 @@ void APowerTimeFreezer::EndEffect( )
level.flags2 &= ~LEVEL2_FROZEN;
// Also, turn the music back on.
S_ResumeSound( );
S_ResumeSound( false );
// Nothing more to do if there's no owner.
if (( Owner == NULL ) || ( Owner->player == NULL ))

View File

@ -57,7 +57,7 @@ bool P_CheckTickerPaused ()
&& players[consoleplayer].viewz != 1
&& wipegamestate == gamestate)
{
S_PauseSound (!(level.flags2 & LEVEL2_PAUSE_MUSIC_IN_MENUS));
S_PauseSound (!(level.flags2 & LEVEL2_PAUSE_MUSIC_IN_MENUS), false);
return true;
}
return false;
@ -104,7 +104,7 @@ void P_Ticker (void)
}
if ( i == MAXPLAYERS )
S_ResumeSound ();
S_ResumeSound (false);
P_ResetSightCounters (false);

View File

@ -1634,15 +1634,18 @@ bool S_IsActorPlayingSomething (AActor *actor, int channel, int sound_id)
// Stop music and sound effects, during game PAUSE.
//==========================================================================
void S_PauseSound (bool notmusic)
void S_PauseSound (bool notmusic, bool notsfx)
{
if (!notmusic && mus_playing.handle && !MusicPaused)
{
I_PauseSong (mus_playing.handle);
MusicPaused = true;
}
SoundPaused = true;
GSnd->SetSfxPaused (true, 0);
if (!notsfx)
{
SoundPaused = true;
GSnd->SetSfxPaused (true, 0);
}
}
//==========================================================================
@ -1652,15 +1655,18 @@ void S_PauseSound (bool notmusic)
// Resume music and sound effects, after game PAUSE.
//==========================================================================
void S_ResumeSound ()
void S_ResumeSound (bool notsfx)
{
if (mus_playing.handle && MusicPaused)
{
I_ResumeSong (mus_playing.handle);
MusicPaused = false;
}
SoundPaused = false;
GSnd->SetSfxPaused (false, 0);
if (!notsfx)
{
SoundPaused = false;
GSnd->SetSfxPaused (false, 0);
}
}
//==========================================================================

View File

@ -316,8 +316,8 @@ int S_GetMusic (char **name);
void S_StopMusic (bool force);
// Stop and resume music, during game PAUSE.
void S_PauseSound (bool notmusic);
void S_ResumeSound ();
void S_PauseSound (bool notmusic, bool notsfx);
void S_ResumeSound (bool notsfx);
//
// Updates music & sounds

View File

@ -1562,6 +1562,7 @@ static void SetSoundPaused (int state)
{
if (paused <= 0)
{
S_ResumeSound(true);
if (GSnd != NULL)
{
GSnd->SetInactive(false);
@ -1580,6 +1581,7 @@ static void SetSoundPaused (int state)
{
if (paused == 0)
{
S_PauseSound(false, true);
if (GSnd != NULL)
{
GSnd->SetInactive(true);