From 62de779017018a6e8f89fed9e0c930fc4904f5d2 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Thu, 14 Apr 2005 02:47:42 +0000 Subject: Fixed pixel alignment error in playerset that was just introduced, and fixed initialization and cleanup in sound engine (solved crash at least in case of no sound). --- src/sound.cpp | 15 +++++++++++++-- src/sound.h | 14 ++++++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/sound.cpp b/src/sound.cpp index 98fef632..f76b6910 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -25,6 +25,18 @@ #include "log.h" #include "main.h" +Sound::Sound(): + installed(false), + items(-1) +{ +} + +Sound::~Sound() +{ + stopMusic(); + close(); +} + void Sound::init() { // Don't initialize sound engine twice @@ -52,7 +64,6 @@ void Sound::init() info(); music = NULL; - items = -1; installed = true; } @@ -219,7 +230,7 @@ void Sound::playSfx(const char *path) void Sound::clearCache() { - for (SOUND_ID i = 0; i == items; i++) { + for (SOUND_ID i = 0; i <= items; i++) { soundPool[i]->unload(); delete soundPool[i]; soundPool[i] = NULL; diff --git a/src/sound.h b/src/sound.h index c0f2f3ba..96cb8baf 100644 --- a/src/sound.h +++ b/src/sound.h @@ -39,6 +39,16 @@ typedef short SOUND_ID; */ class Sound { public: + /** + * Constructor. + */ + Sound(); + + /** + * Destructor. + */ + ~Sound(); + /** * Installs the sound engine. */ @@ -123,10 +133,6 @@ class Sound { */ void clearCache(); - Sound() { installed = false; } - - ~Sound() { stopMusic(); close(); } - private: bool installed; -- cgit v1.2.3-70-g09d2