summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/sound.cpp
Side-by-side diff
Diffstat (limited to 'noncore/games/sfcave-sdl/sound.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/sfcave-sdl/sound.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/noncore/games/sfcave-sdl/sound.cpp b/noncore/games/sfcave-sdl/sound.cpp
index 5fda859..855f2e6 100644
--- a/noncore/games/sfcave-sdl/sound.cpp
+++ b/noncore/games/sfcave-sdl/sound.cpp
@@ -31,6 +31,7 @@ bool SoundHandler :: init( )
music = 0;
soundOn = true;
+ musicOn = true;
return true;
}
@@ -38,7 +39,9 @@ bool SoundHandler :: init( )
void SoundHandler :: cleanUp()
{
// Free audio sounds
+ if ( sounds[SND_EXPLOSION] )
Mix_FreeChunk( sounds[SND_EXPLOSION] );
+ if ( sounds[SND_THRUST] )
Mix_FreeChunk( sounds[SND_THRUST] );
if ( music )
@@ -52,7 +55,7 @@ int SoundHandler :: playSound( int soundNr, int channel, int nrLoops, int playBe
if ( !soundOn )
return -1;
- if ( soundNr >= NR_SOUNDS )
+ if ( soundNr >= NR_SOUNDS || !sounds[soundNr] )
return -1;
Mix_Chunk *chunk = sounds[soundNr];
@@ -101,7 +104,7 @@ void SoundHandler :: playMusic( string musicFile )
void SoundHandler :: playMusic( bool fade )
{
- if ( !soundOn )
+ if ( !musicOn )
return;
if ( music )