diff --git a/source/fx/fxgeyser.cpp b/source/fx/fxgeyser.cpp index 85808ee8c..9aa87fc0b 100644 --- a/source/fx/fxgeyser.cpp +++ b/source/fx/fxgeyser.cpp @@ -93,7 +93,7 @@ int W; { Flags |= FX_FLAG_INJURE_PLAYER; - if ( SoundId == NOT_PLAYING ) + if ( SoundId == NOT_PLAYING && !GameScene.getIsPaused() ) { SoundId = (int) CSoundMediator::playSfx(CSoundMediator::SFX_OIL_GEYSER,true); } diff --git a/source/game/game.cpp b/source/game/game.cpp index 5f9884763..3fe97bd4d 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -227,6 +227,8 @@ void CGameScene::init() s_showBossTextOnRespawn=false; m_playingBossMusic=false; + + m_isPaused=false; } /*****************************************************************************/ // This is a seperate funtion ( and virtual ) so that we can overload it for @@ -651,6 +653,9 @@ void CGameScene::think_playing(int _frames) } } + // paused for pause menu or conversation? + m_isPaused = m_pauseMenu->isActive() || CConversation::isActive(); + // Conversation think ( with pad debounce stuff.. ) if(CConversation::isActive())m_player->ignoreNewlyPressedButtonsOnPadThisThink(); if(!m_pauseMenu->isActive()) diff --git a/source/game/game.h b/source/game/game.h index 2886b50b9..5adc9cd70 100644 --- a/source/game/game.h +++ b/source/game/game.h @@ -148,6 +148,10 @@ static int s_showBossTextOnRespawn; int m_musicStarted; +public: + int getIsPaused() {return(m_isPaused);} +protected: + int m_isPaused; };