mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2025-02-07 05:31:03 +00:00
- Fixed default.cbd and Makefile.mingw for current code state.
- New: Pausing the game (through any means, not just the pause key) now pauses sound effects as well as music. "PauseMusicInMenus" has been added as a MAPINFO flag to also pause the music when a menu or the console are open. SVN r134 (trunk)
This commit is contained in:
parent
f8bdceab38
commit
62b7dd3efc
19 changed files with 117 additions and 37 deletions
|
@ -28,7 +28,7 @@ ifndef RELEASETARGET
|
||||||
RELEASETARGET = zdoomgcc.exe
|
RELEASETARGET = zdoomgcc.exe
|
||||||
endif
|
endif
|
||||||
ifndef DEBUGTARGET
|
ifndef DEBUGTARGET
|
||||||
DEBUGTARGE = zdoomgccd.exe
|
DEBUGTARGET = zdoomgccd.exe
|
||||||
endif
|
endif
|
||||||
DEBUGOBJDIR = debugobj
|
DEBUGOBJDIR = debugobj
|
||||||
RELEASEOBJDIR = releaseobj
|
RELEASEOBJDIR = releaseobj
|
||||||
|
@ -156,6 +156,7 @@ OBJECTS += \
|
||||||
$(OBJDIR)/p_writemap.o \
|
$(OBJDIR)/p_writemap.o \
|
||||||
$(OBJDIR)/p_xlat.o \
|
$(OBJDIR)/p_xlat.o \
|
||||||
$(OBJDIR)/po_man.o \
|
$(OBJDIR)/po_man.o \
|
||||||
|
$(OBJDIR)/r_anim.o \
|
||||||
$(OBJDIR)/r_bsp.o \
|
$(OBJDIR)/r_bsp.o \
|
||||||
$(OBJDIR)/r_data.o \
|
$(OBJDIR)/r_data.o \
|
||||||
$(OBJDIR)/r_draw.o \
|
$(OBJDIR)/r_draw.o \
|
||||||
|
@ -365,7 +366,6 @@ OBJECTS += \
|
||||||
ifndef NOASM
|
ifndef NOASM
|
||||||
OBJECTS += \
|
OBJECTS += \
|
||||||
$(OBJDIR)/a.o \
|
$(OBJDIR)/a.o \
|
||||||
$(OBJDIR)/blocks.o \
|
|
||||||
$(OBJDIR)/misc.o \
|
$(OBJDIR)/misc.o \
|
||||||
$(OBJDIR)/tmap.o \
|
$(OBJDIR)/tmap.o \
|
||||||
$(OBJDIR)/tmap2.o \
|
$(OBJDIR)/tmap2.o \
|
||||||
|
|
|
@ -138,7 +138,6 @@ done
|
||||||
|
|
||||||
${COMPILER} "autostart.cpp \
|
${COMPILER} "autostart.cpp \
|
||||||
a.nas \
|
a.nas \
|
||||||
blocks.nas \
|
|
||||||
misc.nas \
|
misc.nas \
|
||||||
tmap.nas \
|
tmap.nas \
|
||||||
tmap2.nas \
|
tmap2.nas \
|
||||||
|
@ -235,6 +234,7 @@ ${COMPILER} "autostart.cpp \
|
||||||
p_writemap.cpp \
|
p_writemap.cpp \
|
||||||
p_xlat.cpp \
|
p_xlat.cpp \
|
||||||
po_man.cpp \
|
po_man.cpp \
|
||||||
|
r_anim.cpp \
|
||||||
r_bsp.cpp \
|
r_bsp.cpp \
|
||||||
r_data.cpp \
|
r_data.cpp \
|
||||||
r_draw.cpp \
|
r_draw.cpp \
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
May 20, 2006
|
||||||
|
- Fixed default.cbd and Makefile.mingw for current code state.
|
||||||
|
- New: Pausing the game (through any means, not just the pause key) now pauses
|
||||||
|
sound effects as well as music. "PauseMusicInMenus" has been added as a
|
||||||
|
MAPINFO flag to also pause the music when a menu or the console are open.
|
||||||
|
|
||||||
May 20, 2006 (Changes by Graf Zahl)
|
May 20, 2006 (Changes by Graf Zahl)
|
||||||
- Fixed: The automap code had the check for rotation reversed.
|
- Fixed: The automap code had the check for rotation reversed.
|
||||||
- Changed type PClass::FreeIndices to TArray<unsigned int> because that's
|
- Changed type PClass::FreeIndices to TArray<unsigned int> because that's
|
||||||
|
|
|
@ -2175,7 +2175,7 @@ void Net_DoCommand (int type, byte **stream, int player)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
paused = player + 1;
|
paused = player + 1;
|
||||||
S_PauseSound ();
|
S_PauseSound (false);
|
||||||
}
|
}
|
||||||
BorderNeedRefresh = screen->GetPageCount ();
|
BorderNeedRefresh = screen->GetPageCount ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -246,6 +246,7 @@ static const char *MapInfoMapLevel[] =
|
||||||
"wrapmidtextures",
|
"wrapmidtextures",
|
||||||
"allowcrouch",
|
"allowcrouch",
|
||||||
"nocrouch",
|
"nocrouch",
|
||||||
|
"pausemusicinmenus",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -361,6 +362,7 @@ MapHandlers[] =
|
||||||
{ MITYPE_SETFLAG, LEVEL_WRAPMIDTEX, 0 },
|
{ MITYPE_SETFLAG, LEVEL_WRAPMIDTEX, 0 },
|
||||||
{ MITYPE_SCFLAGS, LEVEL_CROUCH_YES, ~LEVEL_CROUCH_NO },
|
{ MITYPE_SCFLAGS, LEVEL_CROUCH_YES, ~LEVEL_CROUCH_NO },
|
||||||
{ MITYPE_SCFLAGS, LEVEL_CROUCH_NO, ~LEVEL_CROUCH_YES },
|
{ MITYPE_SCFLAGS, LEVEL_CROUCH_NO, ~LEVEL_CROUCH_YES },
|
||||||
|
{ MITYPE_SCFLAGS, LEVEL_PAUSE_MUSIC_IN_MENUS, 0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *MapInfoClusterLevel[] =
|
static const char *MapInfoClusterLevel[] =
|
||||||
|
|
|
@ -106,6 +106,8 @@
|
||||||
#define LEVEL_CROUCH_NO UCONST64(0x80000000000)
|
#define LEVEL_CROUCH_NO UCONST64(0x80000000000)
|
||||||
#define LEVEL_CROUCH_YES UCONST64(0x100000000000)
|
#define LEVEL_CROUCH_YES UCONST64(0x100000000000)
|
||||||
|
|
||||||
|
#define LEVEL_PAUSE_MUSIC_IN_MENUS UCONST64(0x200000000000)
|
||||||
|
|
||||||
struct acsdefered_s;
|
struct acsdefered_s;
|
||||||
|
|
||||||
struct FSpecialAction
|
struct FSpecialAction
|
||||||
|
|
|
@ -63,6 +63,7 @@
|
||||||
#include "templates.h"
|
#include "templates.h"
|
||||||
#include "lists.h"
|
#include "lists.h"
|
||||||
#include "gi.h"
|
#include "gi.h"
|
||||||
|
#include "p_tick.h"
|
||||||
|
|
||||||
// MACROS ------------------------------------------------------------------
|
// MACROS ------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -587,6 +588,9 @@ void M_ActivateMenuInput ()
|
||||||
{
|
{
|
||||||
ResetButtonStates ();
|
ResetButtonStates ();
|
||||||
menuactive = MENU_On;
|
menuactive = MENU_On;
|
||||||
|
// Pause sound effects before we play the menu switch sound.
|
||||||
|
// That way, it won't be paused.
|
||||||
|
P_CheckTickerPaused ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void M_DeactivateMenuInput ()
|
void M_DeactivateMenuInput ()
|
||||||
|
|
|
@ -170,7 +170,6 @@ int FRandom::HitDice (int count)
|
||||||
|
|
||||||
void FRandom::StaticClearRandom ()
|
void FRandom::StaticClearRandom ()
|
||||||
{
|
{
|
||||||
Printf ("init with seed %d\n", rngseed);
|
|
||||||
const DWORD seed = rngseed*2+1; // add 3/26/98: add rngseed
|
const DWORD seed = rngseed*2+1; // add 3/26/98: add rngseed
|
||||||
FRandom *rng = FRandom::RNGList;
|
FRandom *rng = FRandom::RNGList;
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,40 @@
|
||||||
#include "p_acs.h"
|
#include "p_acs.h"
|
||||||
#include "c_console.h"
|
#include "c_console.h"
|
||||||
#include "b_bot.h"
|
#include "b_bot.h"
|
||||||
|
#include "s_sound.h"
|
||||||
#include "doomstat.h"
|
#include "doomstat.h"
|
||||||
#include "sbar.h"
|
#include "sbar.h"
|
||||||
|
|
||||||
extern gamestate_t wipegamestate;
|
extern gamestate_t wipegamestate;
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
// P_CheckTickerPaused
|
||||||
|
//
|
||||||
|
// Returns true if the ticker should be paused. In that cause, it also
|
||||||
|
// pauses sound effects and possibly music. If the ticker should not be
|
||||||
|
// paused, then it returns false but does not unpause anything.
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
|
bool P_CheckTickerPaused ()
|
||||||
|
{
|
||||||
|
// pause if in menu or console and at least one tic has been run
|
||||||
|
if ( !netgame
|
||||||
|
&& gamestate != GS_TITLELEVEL
|
||||||
|
&& ((menuactive != MENU_Off && menuactive != MENU_OnNoPause) ||
|
||||||
|
ConsoleState == c_down || ConsoleState == c_falling)
|
||||||
|
&& !demoplayback
|
||||||
|
&& !demorecording
|
||||||
|
&& players[consoleplayer].viewz != 1
|
||||||
|
&& wipegamestate == gamestate)
|
||||||
|
{
|
||||||
|
S_PauseSound (!(level.flags & LEVEL_PAUSE_MUSIC_IN_MENUS));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// P_Ticker
|
// P_Ticker
|
||||||
//
|
//
|
||||||
|
@ -44,22 +72,10 @@ void P_Ticker (void)
|
||||||
r_NoInterpolate = true;
|
r_NoInterpolate = true;
|
||||||
|
|
||||||
// run the tic
|
// run the tic
|
||||||
if (paused)
|
if (paused || P_CheckTickerPaused())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// pause if in menu or console and at least one tic has been run
|
S_ResumeSound ();
|
||||||
if ( !netgame
|
|
||||||
&& gamestate != GS_TITLELEVEL
|
|
||||||
&& ((menuactive != MENU_Off && menuactive != MENU_OnNoPause) ||
|
|
||||||
ConsoleState == c_down || ConsoleState == c_falling)
|
|
||||||
&& !demoplayback
|
|
||||||
&& !demorecording
|
|
||||||
&& players[consoleplayer].viewz != 1
|
|
||||||
&& wipegamestate == gamestate)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
P_ResetSightCounters (false);
|
P_ResetSightCounters (false);
|
||||||
|
|
||||||
// Since things will be moving, it's okay to interpolate them in the renderer.
|
// Since things will be moving, it's okay to interpolate them in the renderer.
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
// Carries out all thinking of monsters and players.
|
// Carries out all thinking of monsters and players.
|
||||||
void P_Ticker (void);
|
void P_Ticker (void);
|
||||||
|
|
||||||
|
bool P_CheckTickerPaused ();
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -142,7 +142,8 @@ static void CalcPosVel (fixed_t *pt, AActor *mover, int constz, float pos[3],
|
||||||
|
|
||||||
int MAX_SND_DIST;
|
int MAX_SND_DIST;
|
||||||
static channel_t *Channel; // the set of channels available
|
static channel_t *Channel; // the set of channels available
|
||||||
static BOOL mus_paused; // whether songs are paused
|
static bool SoundPaused; // whether sound effects are paused
|
||||||
|
static bool MusicPaused; // whether music is paused
|
||||||
static MusPlayingInfo mus_playing; // music currently being played
|
static MusPlayingInfo mus_playing; // music currently being played
|
||||||
static FString LastSong; // last music that was played
|
static FString LastSong; // last music that was played
|
||||||
static byte *SoundCurve;
|
static byte *SoundCurve;
|
||||||
|
@ -341,7 +342,8 @@ void S_Init ()
|
||||||
}
|
}
|
||||||
|
|
||||||
// no sounds are playing, and they are not paused
|
// no sounds are playing, and they are not paused
|
||||||
mus_paused = 0;
|
MusicPaused = false;
|
||||||
|
SoundPaused = false;
|
||||||
|
|
||||||
// Note that sounds have not been cached (yet).
|
// Note that sounds have not been cached (yet).
|
||||||
// for (i=1; (size_t)i < S_sfx.Size (); i++)
|
// for (i=1; (size_t)i < S_sfx.Size (); i++)
|
||||||
|
@ -442,7 +444,8 @@ void S_Start ()
|
||||||
}
|
}
|
||||||
|
|
||||||
// start new music for the level
|
// start new music for the level
|
||||||
mus_paused = 0;
|
MusicPaused = false;
|
||||||
|
SoundPaused = false;
|
||||||
|
|
||||||
// [RH] This is a lot simpler now.
|
// [RH] This is a lot simpler now.
|
||||||
if (!savegamerestore)
|
if (!savegamerestore)
|
||||||
|
@ -1227,15 +1230,20 @@ bool S_IsActorPlayingSomething (AActor *actor, int channel)
|
||||||
//
|
//
|
||||||
// S_PauseSound
|
// S_PauseSound
|
||||||
//
|
//
|
||||||
// Stop music, during game PAUSE.
|
// Stop music and sound effects, during game PAUSE.
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
void S_PauseSound ()
|
void S_PauseSound (bool notmusic)
|
||||||
{
|
{
|
||||||
if (mus_playing.handle && !mus_paused)
|
if (!notmusic && mus_playing.handle && !MusicPaused)
|
||||||
{
|
{
|
||||||
I_PauseSong (mus_playing.handle);
|
I_PauseSong (mus_playing.handle);
|
||||||
mus_paused = true;
|
MusicPaused = true;
|
||||||
|
}
|
||||||
|
if (GSnd != NULL && !SoundPaused)
|
||||||
|
{
|
||||||
|
GSnd->SetSfxPaused (true);
|
||||||
|
SoundPaused = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1243,15 +1251,20 @@ void S_PauseSound ()
|
||||||
//
|
//
|
||||||
// S_ResumeSound
|
// S_ResumeSound
|
||||||
//
|
//
|
||||||
// Resume music, after game PAUSE.
|
// Resume music and sound effects, after game PAUSE.
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
void S_ResumeSound ()
|
void S_ResumeSound ()
|
||||||
{
|
{
|
||||||
if (mus_playing.handle && mus_paused)
|
if (mus_playing.handle && MusicPaused)
|
||||||
{
|
{
|
||||||
I_ResumeSong (mus_playing.handle);
|
I_ResumeSong (mus_playing.handle);
|
||||||
mus_paused = false;
|
MusicPaused = false;
|
||||||
|
}
|
||||||
|
if (GSnd != NULL && SoundPaused)
|
||||||
|
{
|
||||||
|
GSnd->SetSfxPaused (false);
|
||||||
|
SoundPaused = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1603,7 +1616,7 @@ void S_StopMusic (bool force)
|
||||||
// [RH] Don't stop if a playlist is active.
|
// [RH] Don't stop if a playlist is active.
|
||||||
if ((force || PlayList == NULL) && !mus_playing.name.IsEmpty())
|
if ((force || PlayList == NULL) && !mus_playing.name.IsEmpty())
|
||||||
{
|
{
|
||||||
if (mus_paused)
|
if (MusicPaused)
|
||||||
I_ResumeSong(mus_playing.handle);
|
I_ResumeSong(mus_playing.handle);
|
||||||
|
|
||||||
I_StopSong(mus_playing.handle);
|
I_StopSong(mus_playing.handle);
|
||||||
|
|
|
@ -171,7 +171,7 @@ int S_GetMusic (char **name);
|
||||||
void S_StopMusic (bool force);
|
void S_StopMusic (bool force);
|
||||||
|
|
||||||
// Stop and resume music, during game PAUSE.
|
// Stop and resume music, during game PAUSE.
|
||||||
void S_PauseSound ();
|
void S_PauseSound (bool notmusic);
|
||||||
void S_ResumeSound ();
|
void S_ResumeSound ();
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -268,12 +268,12 @@ void MessagePump (const SDL_Event &sev)
|
||||||
{ // kill focus
|
{ // kill focus
|
||||||
FlushDIKState ();
|
FlushDIKState ();
|
||||||
if (!paused)
|
if (!paused)
|
||||||
S_PauseSound ();
|
S_PauseSound (false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // set focus
|
{ // set focus
|
||||||
if (!paused)
|
if (!paused)
|
||||||
S_ResumeSound ();
|
S_ResumeSound (false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -75,6 +75,7 @@ struct AltSoundRenderer::Channel
|
||||||
SDWORD LeftVolume;
|
SDWORD LeftVolume;
|
||||||
SDWORD RightVolume;
|
SDWORD RightVolume;
|
||||||
bool Looping;
|
bool Looping;
|
||||||
|
bool Paused;
|
||||||
CRITICAL_SECTION CriticalSection;
|
CRITICAL_SECTION CriticalSection;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -521,6 +522,7 @@ long AltSoundRenderer::StartSound (sfxinfo_t *sfx, int vol, int sep, int pitch,
|
||||||
chan->LeftVolume = left;
|
chan->LeftVolume = left;
|
||||||
chan->RightVolume = right;
|
chan->RightVolume = right;
|
||||||
chan->Looping = !!looping;
|
chan->Looping = !!looping;
|
||||||
|
chan->Paused = false;
|
||||||
LeaveCriticalSection (&chan->CriticalSection);
|
LeaveCriticalSection (&chan->CriticalSection);
|
||||||
|
|
||||||
return channel + 1;
|
return channel + 1;
|
||||||
|
@ -541,6 +543,22 @@ void AltSoundRenderer::StopSound (long handle)
|
||||||
chan->Sample = NULL;
|
chan->Sample = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
// AltSoundRenderer :: SetSfxPaused
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
|
void AltSoundRenderer::SetSfxPaused (bool paused)
|
||||||
|
{
|
||||||
|
if (Channels == NULL) return;
|
||||||
|
|
||||||
|
for (int i = 0; i < NumChannels; ++i)
|
||||||
|
{
|
||||||
|
Channels[i].Paused = paused;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// AltSoundRenderer :: IsPlayingSound
|
// AltSoundRenderer :: IsPlayingSound
|
||||||
|
@ -857,7 +875,7 @@ void AltSoundRenderer::UpdateSound ()
|
||||||
for (int i = 0; i < NumChannels; ++i)
|
for (int i = 0; i < NumChannels; ++i)
|
||||||
{
|
{
|
||||||
EnterCriticalSection (&Channels[i].CriticalSection);
|
EnterCriticalSection (&Channels[i].CriticalSection);
|
||||||
if (Channels[i].Sample != NULL)
|
if (Channels[i].Sample != NULL && !Channels[i].Paused)
|
||||||
{
|
{
|
||||||
if (Channels[i].Sample->b16bit)
|
if (Channels[i].Sample->b16bit)
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,6 +30,9 @@ public:
|
||||||
// Stops a sound channel.
|
// Stops a sound channel.
|
||||||
void StopSound (long handle);
|
void StopSound (long handle);
|
||||||
|
|
||||||
|
// Pauses or resumes all sound effect channels.
|
||||||
|
void SetSfxPaused (bool paused);
|
||||||
|
|
||||||
// Returns true if the channel is still playing a sound.
|
// Returns true if the channel is still playing a sound.
|
||||||
bool IsPlayingSound (long handle);
|
bool IsPlayingSound (long handle);
|
||||||
|
|
||||||
|
|
|
@ -739,7 +739,7 @@ long FMODSoundRenderer::StartSound3D (sfxinfo_t *sfx, float vol, int pitch, int
|
||||||
|
|
||||||
void FMODSoundRenderer::StopSound (long handle)
|
void FMODSoundRenderer::StopSound (long handle)
|
||||||
{
|
{
|
||||||
if (!handle ||!ChannelMap)
|
if (!handle || !ChannelMap)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
handle--;
|
handle--;
|
||||||
|
@ -752,6 +752,16 @@ void FMODSoundRenderer::StopSound (long handle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FMODSoundRenderer::SetSfxPaused (bool paused)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < NumChannels; ++i)
|
||||||
|
{
|
||||||
|
if (ChannelMap[i].soundID != -1)
|
||||||
|
{
|
||||||
|
FSOUND_SetPaused (ChannelMap[i].channelID, paused);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool FMODSoundRenderer::IsPlayingSound (long handle)
|
bool FMODSoundRenderer::IsPlayingSound (long handle)
|
||||||
{
|
{
|
||||||
|
|
|
@ -32,6 +32,9 @@ public:
|
||||||
// Stops a sound channel.
|
// Stops a sound channel.
|
||||||
void StopSound (long handle);
|
void StopSound (long handle);
|
||||||
|
|
||||||
|
// Pauses or resumes all sound effect channels.
|
||||||
|
void SetSfxPaused (bool paused);
|
||||||
|
|
||||||
// Returns true if the channel is still playing a sound.
|
// Returns true if the channel is still playing a sound.
|
||||||
bool IsPlayingSound (long handle);
|
bool IsPlayingSound (long handle);
|
||||||
|
|
||||||
|
|
|
@ -99,6 +99,9 @@ public:
|
||||||
// Stops a sound channel.
|
// Stops a sound channel.
|
||||||
virtual void StopSound (long handle) = 0;
|
virtual void StopSound (long handle) = 0;
|
||||||
|
|
||||||
|
// Pauses or resumes all sound effect channels.
|
||||||
|
virtual void SetSfxPaused (bool paused) = 0;
|
||||||
|
|
||||||
// Returns true if the channel is still playing a sound.
|
// Returns true if the channel is still playing a sound.
|
||||||
virtual bool IsPlayingSound (long handle) = 0;
|
virtual bool IsPlayingSound (long handle) = 0;
|
||||||
|
|
||||||
|
|
|
@ -1538,7 +1538,7 @@ static void SetSoundPaused (int state)
|
||||||
{
|
{
|
||||||
if (paused == 0)
|
if (paused == 0)
|
||||||
{
|
{
|
||||||
S_PauseSound ();
|
S_PauseSound (false);
|
||||||
if (!netgame
|
if (!netgame
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
&& !demoplayback
|
&& !demoplayback
|
||||||
|
|
Loading…
Reference in a new issue