aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2007-02-20 19:23:07 +0000
committerMax Horn2007-02-20 19:23:07 +0000
commitcc210d75129619afe9c2dad6470bfdebb0d494a3 (patch)
treecd7c380a3af3a0b22ff37f1360f6a8b85df61b7f
parent227a080e5b25762dc7a5a942dcfbfdbfcd76c372 (diff)
downloadscummvm-rg350-cc210d75129619afe9c2dad6470bfdebb0d494a3.tar.gz
scummvm-rg350-cc210d75129619afe9c2dad6470bfdebb0d494a3.tar.bz2
scummvm-rg350-cc210d75129619afe9c2dad6470bfdebb0d494a3.zip
cleanup
svn-id: r25753
-rw-r--r--engines/queen/queen.cpp2
-rw-r--r--engines/queen/resource.cpp2
-rw-r--r--engines/queen/resource.h2
-rw-r--r--engines/queen/sound.cpp74
-rw-r--r--engines/queen/sound.h48
5 files changed, 60 insertions, 68 deletions
diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp
index 273436837f..168f80f364 100644
--- a/engines/queen/queen.cpp
+++ b/engines/queen/queen.cpp
@@ -398,7 +398,7 @@ int QueenEngine::init() {
_music = new Music(driver, this);
_music->hasNativeMT32(native_mt32);
- _sound = Sound::giveSound(_mixer, this, _resource->getCompression());
+ _sound = Sound::makeSoundInstance(_mixer, this, _resource->getCompression());
_walk = new Walk(this);
//_talkspeedScale = (MAX_TEXT_SPEED - MIN_TEXT_SPEED) / 255.0;
diff --git a/engines/queen/resource.cpp b/engines/queen/resource.cpp
index 753ca1ff4e..6945635818 100644
--- a/engines/queen/resource.cpp
+++ b/engines/queen/resource.cpp
@@ -251,7 +251,7 @@ const RetailGameVersion *Resource::detectGameVersionFromSize(uint32 size) {
return NULL;
}
-Common::File *Resource::giveSound(const char *filename, uint32 *size) {
+Common::File *Resource::findSound(const char *filename, uint32 *size) {
assert(strstr(filename, ".SB"));
Common::File *f = NULL;
ResourceEntry *re = resourceEntry(filename);
diff --git a/engines/queen/resource.h b/engines/queen/resource.h
index 98b4ef46fb..2e669198fb 100644
--- a/engines/queen/resource.h
+++ b/engines/queen/resource.h
@@ -71,7 +71,7 @@ public:
bool fileExists(const char *filename) const { return resourceEntry(filename) != NULL; }
//! returns a reference to a sound file
- Common::File *giveSound(const char *filename, uint32 *size);
+ Common::File *findSound(const char *filename, uint32 *size);
bool isDemo() const { return (_version.features & GF_DEMO) != 0; }
bool isInterview() const { return (_version.features & GF_INTERVIEW) != 0; }
diff --git a/engines/queen/sound.cpp b/engines/queen/sound.cpp
index b2f9bb04f5..917351f3da 100644
--- a/engines/queen/sound.cpp
+++ b/engines/queen/sound.cpp
@@ -40,6 +40,55 @@
namespace Queen {
+class SilentSound : public Sound {
+public:
+ SilentSound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {}
+protected:
+ void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
+ // Do nothing
+ }
+};
+
+class SBSound : public Sound {
+public:
+ SBSound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {}
+protected:
+ void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle);
+};
+
+#ifdef USE_MAD
+class MP3Sound : public Sound {
+public:
+ MP3Sound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {}
+protected:
+ void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
+ _mixer->playInputStream(Audio::Mixer::kSFXSoundType, soundHandle, Audio::makeMP3Stream(f, size));
+ }
+};
+#endif
+
+#ifdef USE_VORBIS
+class OGGSound : public Sound {
+public:
+ OGGSound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {}
+protected:
+ void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
+ _mixer->playInputStream(Audio::Mixer::kSFXSoundType, soundHandle, Audio::makeVorbisStream(f, size));
+ }
+};
+#endif
+
+#ifdef USE_FLAC
+class FLACSound : public Sound {
+public:
+ FLACSound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {};
+protected:
+ void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
+ _mixer->playInputStream(Audio::Mixer::kSFXSoundType, soundHandle, Audio::makeFlacStream(f, size));
+ }
+};
+#endif // #ifdef USE_FLAC
+
Sound::Sound(Audio::Mixer *mixer, QueenEngine *vm) :
_mixer(mixer), _vm(vm), _sfxToggle(true), _speechToggle(true), _musicToggle(true), _lastOverride(0) {
#ifdef ENABLE_AMIGA_MUSIC
@@ -47,7 +96,7 @@ Sound::Sound(Audio::Mixer *mixer, QueenEngine *vm) :
#endif
}
-Sound *Sound::giveSound(Audio::Mixer *mixer, QueenEngine *vm, uint8 compression) {
+Sound *Sound::makeSoundInstance(Audio::Mixer *mixer, QueenEngine *vm, uint8 compression) {
if (!mixer->isReady())
return new SilentSound(mixer, vm);
@@ -113,7 +162,7 @@ void Sound::playSound(const char *base, bool isSpeech) {
strcat(name, ".SB");
waitFinished(isSpeech);
uint32 size;
- Common::File *f = _vm->resource()->giveSound(name, &size);
+ Common::File *f = _vm->resource()->findSound(name, &size);
if (f) {
playSoundData(f, size, isSpeech ? &_speechHandle : &_sfxHandle);
_speechSfxExists = isSpeech;
@@ -253,9 +302,6 @@ void Sound::loadState(uint32 ver, byte *&ptr) {
_lastOverride = (int16)READ_BE_INT16(ptr); ptr += 2;
}
-void SilentSound::playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
-}
-
void SBSound::playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
int headerSize;
f->seek(2, SEEK_CUR);
@@ -282,22 +328,4 @@ void SBSound::playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *so
}
}
-#ifdef USE_MAD
-void MP3Sound::playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
- _mixer->playInputStream(Audio::Mixer::kSFXSoundType, soundHandle, Audio::makeMP3Stream(f, size));
-}
-#endif
-
-#ifdef USE_VORBIS
-void OGGSound::playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
- _mixer->playInputStream(Audio::Mixer::kSFXSoundType, soundHandle, Audio::makeVorbisStream(f, size));
-}
-#endif
-
-#ifdef USE_FLAC
-void FLACSound::playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
- _mixer->playInputStream(Audio::Mixer::kSFXSoundType, soundHandle, Audio::makeFlacStream(f, size));
-}
-#endif
-
} //End of namespace Queen
diff --git a/engines/queen/sound.h b/engines/queen/sound.h
index 5c19410036..38dadd7ece 100644
--- a/engines/queen/sound.h
+++ b/engines/queen/sound.h
@@ -62,7 +62,12 @@ class Sound {
public:
Sound(Audio::Mixer *mixer, QueenEngine *vm);
virtual ~Sound() {}
- static Sound *giveSound(Audio::Mixer *mixer, QueenEngine *vm, uint8 compression);
+
+ /**
+ * Factory method for subclasses of class Sound.
+ */
+ static Sound *makeSoundInstance(Audio::Mixer *mixer, QueenEngine *vm, uint8 compression);
+
void playSfx(uint16 sfx);
void playSpeech(const char *base);
void playSong(int16 songNum);
@@ -130,47 +135,6 @@ protected:
#endif
};
-class SilentSound : public Sound {
-public:
- SilentSound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {};
-protected:
- void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle);
-};
-
-class SBSound : public Sound {
-public:
- SBSound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {};
-protected:
- void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle);
-};
-
-#ifdef USE_MAD
-class MP3Sound : public Sound {
-public:
- MP3Sound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {};
-protected:
- void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle);
-};
-#endif
-
-#ifdef USE_VORBIS
-class OGGSound : public Sound {
-public:
- OGGSound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {};
-protected:
- void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle);
-};
-#endif
-
-#ifdef USE_FLAC
-class FLACSound : public Sound {
-public:
- FLACSound(Audio::Mixer *mixer, QueenEngine *vm) : Sound(mixer, vm) {};
-protected:
- void playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle);
-};
-#endif // #ifdef USE_FLAC
-
} // End of namespace Queen
#endif