aboutsummaryrefslogtreecommitdiff
path: root/engines/voyeur/sound.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2013-12-02 08:29:51 -0500
committerPaul Gilbert2013-12-02 08:29:51 -0500
commit1fb422cde207b8b24ab9e8a545abb4c9204773c3 (patch)
tree2e7abe551c2d95314575d9f28cb810365f3f9f93 /engines/voyeur/sound.cpp
parent626c988841649f75c9c3dda46330f4b6805292a6 (diff)
downloadscummvm-rg350-1fb422cde207b8b24ab9e8a545abb4c9204773c3.tar.gz
scummvm-rg350-1fb422cde207b8b24ab9e8a545abb4c9204773c3.tar.bz2
scummvm-rg350-1fb422cde207b8b24ab9e8a545abb4c9204773c3.zip
VOYEUR: Implemented sound effects for the lock screen
Diffstat (limited to 'engines/voyeur/sound.cpp')
-rw-r--r--engines/voyeur/sound.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp
index 628e6e27a9..baba45fb45 100644
--- a/engines/voyeur/sound.cpp
+++ b/engines/voyeur/sound.cpp
@@ -20,15 +20,22 @@
*
*/
+#include "audio/audiostream.h"
+#include "audio/decoders/raw.h"
+#include "common/memstream.h"
#include "voyeur/sound.h"
namespace Voyeur {
-SoundManager::SoundManager() {
+SoundManager::SoundManager(Audio::Mixer *mixer) {
+ _mixer = mixer;
}
void SoundManager::playVOCMap(byte *voc, int vocSize) {
- // TODO
+ Common::MemoryReadStream *dataStream = new Common::MemoryReadStream(voc, vocSize, DisposeAfterUse::NO);
+ Audio::AudioStream *audioStream = Audio::makeVOCStream(dataStream, Audio::FLAG_UNSIGNED, DisposeAfterUse::YES);
+
+ _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, audioStream);
}
bool SoundManager::vocMapStatus() {
@@ -37,11 +44,11 @@ bool SoundManager::vocMapStatus() {
}
void SoundManager::continueVocMap() {
- // TODO
+ // No implementation needed in ScummVM
}
void SoundManager::abortVOCMap() {
- // TODO
+ _mixer->stopHandle(_soundHandle);
}
} // End of namespace Voyeur