diff options
| author | oy <Tom_Adams@web.de> | 2011-06-27 22:57:06 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2011-06-27 22:57:06 +0200 |
| commit | 47cdd2524b4d5bff7f171686af8260aa8a083c50 (patch) | |
| tree | 53c8ee7eb8dfcfd98b22ed93dbadf3dd86bc2977 | |
| parent | e8938e3d8044d5f4a71c578c69019052f6a07bf1 (diff) | |
| download | zcatch-47cdd2524b4d5bff7f171686af8260aa8a083c50.tar.gz zcatch-47cdd2524b4d5bff7f171686af8260aa8a083c50.zip | |
do not try to play sound when it isn't enabled
| -rw-r--r-- | src/engine/client/sound.cpp | 2 | ||||
| -rw-r--r-- | src/engine/client/sound.h | 4 | ||||
| -rw-r--r-- | src/engine/sound.h | 2 | ||||
| -rw-r--r-- | src/game/client/components/sounds.cpp | 2 |
4 files changed, 8 insertions, 2 deletions
diff --git a/src/engine/client/sound.cpp b/src/engine/client/sound.cpp index 4678bb8a..52f51bcb 100644 --- a/src/engine/client/sound.cpp +++ b/src/engine/client/sound.cpp @@ -54,7 +54,6 @@ static CVoice m_aVoices[NUM_VOICES] = { {0} }; static CChannel m_aChannels[NUM_CHANNELS] = { {255, 0} }; static LOCK m_SoundLock = 0; -static int m_SoundEnabled = 0; static int m_CenterX = 0; static int m_CenterY = 0; @@ -198,6 +197,7 @@ static void SdlCallback(void *pUnused, Uint8 *pStream, int Len) int CSound::Init() { + m_SoundEnabled = 0; m_pGraphics = Kernel()->RequestInterface<IEngineGraphics>(); m_pStorage = Kernel()->RequestInterface<IStorage>(); diff --git a/src/engine/client/sound.h b/src/engine/client/sound.h index 3cc84d4d..8112427c 100644 --- a/src/engine/client/sound.h +++ b/src/engine/client/sound.h @@ -7,6 +7,8 @@ class CSound : public IEngineSound { + int m_SoundEnabled; + public: IEngineGraphics *m_pGraphics; IStorage *m_pStorage; @@ -23,6 +25,8 @@ public: static IOHANDLE ms_File; static int ReadData(void *pBuffer, int Size); + virtual bool IsSoundEnabled() { return m_SoundEnabled != 0; } + virtual int LoadWV(const char *pFilename); virtual void SetListenerPos(float x, float y); diff --git a/src/engine/sound.h b/src/engine/sound.h index ac4aeaf5..f55a978d 100644 --- a/src/engine/sound.h +++ b/src/engine/sound.h @@ -16,6 +16,8 @@ public: FLAG_ALL=3 }; + virtual bool IsSoundEnabled() = 0; + virtual int LoadWV(const char *pFilename) = 0; virtual void SetChannel(int ChannelID, float Volume, float Panning) = 0; diff --git a/src/game/client/components/sounds.cpp b/src/game/client/components/sounds.cpp index e9902108..4e9ef5b5 100644 --- a/src/game/client/components/sounds.cpp +++ b/src/game/client/components/sounds.cpp @@ -128,7 +128,7 @@ void CSounds::PlayAndRecord(int Chn, int SetId, float Vol, vec2 Pos) void CSounds::Play(int Chn, int SetId, float Vol, vec2 Pos) { - if(!g_Config.m_SndEnable || (Chn == CHN_MUSIC && !g_Config.m_SndMusic) || m_WaitForSoundJob || SetId < 0 || SetId >= g_pData->m_NumSounds) + if(!g_Config.m_SndEnable || !Sound()->IsSoundEnabled() || (Chn == CHN_MUSIC && !g_Config.m_SndMusic) || m_WaitForSoundJob || SetId < 0 || SetId >= g_pData->m_NumSounds) return; CDataSoundset *pSet = &g_pData->m_aSounds[SetId]; |