aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/drascula/sound.cpp')
-rw-r--r--engines/drascula/sound.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/drascula/sound.cpp b/engines/drascula/sound.cpp
index 6a3d83cae6..5b223056f3 100644
--- a/engines/drascula/sound.cpp
+++ b/engines/drascula/sound.cpp
@@ -26,6 +26,7 @@
#include "sound/mixer.h"
#include "sound/voc.h"
#include "sound/audiocd.h"
+#include "common/config-manager.h"
#include "drascula/drascula.h"
@@ -52,7 +53,7 @@ void DrasculaEngine::volumeControls() {
for (;;) {
int masterVolume = CLIP((_mixer->getVolumeForSoundType(Audio::Mixer::kPlainSoundType) / 16), 0, 15);
- int voiceVolume = CLIP((_mixer->getVolumeForSoundType(Audio::Mixer::kSFXSoundType) / 16), 0, 15);
+ int voiceVolume = CLIP((_mixer->getVolumeForSoundType(Audio::Mixer::kSpeechSoundType) / 16), 0, 15);
int musicVolume = CLIP((_mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType) / 16), 0, 15);
int masterVolumeY = 72 + 61 - masterVolume * 4;
@@ -82,7 +83,7 @@ void DrasculaEngine::volumeControls() {
}
if (mouseX > 136 && mouseX < 178) {
- updateVolume(Audio::Mixer::kSFXSoundType, voiceVolumeY);
+ updateVolume(Audio::Mixer::kSpeechSoundType, voiceVolumeY);
}
if (mouseX > 192 && mouseX < 233) {
@@ -173,7 +174,10 @@ void DrasculaEngine::playFile(const char *fname) {
_arj.read(soundData, soundSize);
_arj.close();
- _mixer->playRaw(Audio::Mixer::kSFXSoundType, &_soundHandle, soundData, soundSize - 64,
+ if (ConfMan.getBool("speech_mute"))
+ memset(soundData, 0, soundSize); // Mute speech but keep the pause
+
+ _mixer->playRaw(Audio::Mixer::kSpeechSoundType, &_soundHandle, soundData, soundSize - 64,
11025, Audio::Mixer::FLAG_AUTOFREE | Audio::Mixer::FLAG_UNSIGNED);
} else
warning("playFile: Could not open %s", fname);