[Scummvm-cvs-logs] SF.net SVN: scummvm:[34674] scummvm/trunk/engines/drascula

sev at users.sourceforge.net sev at users.sourceforge.net
Sun Sep 28 23:53:15 CEST 2008


Revision: 34674
          http://scummvm.svn.sourceforge.net/scummvm/?rev=34674&view=rev
Author:   sev
Date:     2008-09-28 21:53:14 +0000 (Sun, 28 Sep 2008)

Log Message:
-----------
Fix bug #2043489: DRASCULA: Cannot disable speech

Modified Paths:
--------------
    scummvm/trunk/engines/drascula/drascula.cpp
    scummvm/trunk/engines/drascula/sound.cpp

Modified: scummvm/trunk/engines/drascula/drascula.cpp
===================================================================
--- scummvm/trunk/engines/drascula/drascula.cpp	2008-09-28 21:08:47 UTC (rev 34673)
+++ scummvm/trunk/engines/drascula/drascula.cpp	2008-09-28 21:53:14 UTC (rev 34674)
@@ -55,7 +55,7 @@
 DrasculaEngine::DrasculaEngine(OSystem *syst, const DrasculaGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc) {
 
 	// Setup mixer
-	_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume"));
+	_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, ConfMan.getInt("speech_volume"));
 	_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume"));
 
 	_rnd = new Common::RandomSource();

Modified: scummvm/trunk/engines/drascula/sound.cpp
===================================================================
--- scummvm/trunk/engines/drascula/sound.cpp	2008-09-28 21:08:47 UTC (rev 34673)
+++ scummvm/trunk/engines/drascula/sound.cpp	2008-09-28 21:53:14 UTC (rev 34674)
@@ -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 @@
 
 	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 @@
 			}
 
 			if (mouseX > 136 && mouseX < 178) {
-				updateVolume(Audio::Mixer::kSFXSoundType, voiceVolumeY);
+				updateVolume(Audio::Mixer::kSpeechSoundType, voiceVolumeY);
 			}
 
 			if (mouseX > 192 && mouseX < 233) {
@@ -173,7 +174,10 @@
 		_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);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list