[Scummvm-cvs-logs] SF.net SVN: scummvm:[50141] scummvm/trunk/engines/sci/engine/ksound.cpp

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Tue Jun 22 17:01:46 CEST 2010


Revision: 50141
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50141&view=rev
Author:   thebluegr
Date:     2010-06-22 15:01:45 +0000 (Tue, 22 Jun 2010)

Log Message:
-----------
The volume subop of kDoAudio returns the previous volume in SCI2.1, but not in earlier versions

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/ksound.cpp

Modified: scummvm/trunk/engines/sci/engine/ksound.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/ksound.cpp	2010-06-22 14:39:51 UTC (rev 50140)
+++ scummvm/trunk/engines/sci/engine/ksound.cpp	2010-06-22 15:01:45 UTC (rev 50141)
@@ -152,8 +152,15 @@
 		int16 volume = argv[1].toUint16();
 		volume = CLIP<int16>(volume, 0, AUDIO_VOLUME_MAX);
 		debugC(2, kDebugLevelSound, "kDoAudio: set volume to %d", volume);
+#ifdef ENABLE_SCI32
+		if (getSciVersion() >= SCI_VERSION_2_1) {
+			int16 volumePrev = mixer->getVolumeForSoundType(Audio::Mixer::kSpeechSoundType) / 2;
+			volumePrev = CLIP<int16>(volumePrev, 0, AUDIO_VOLUME_MAX);
+			mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, volume * 2);
+			return make_reg(0, volumePrev);
+		} else
+#endif
 		mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, volume * 2);
-		return make_reg(0, volume);
 	}
 	case kSciAudioLanguage:
 		// In SCI1.1: tests for digital audio support


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