[Scummvm-cvs-logs] SF.net SVN: scummvm:[46554] scummvm/trunk/engines/sci/sfx

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri Dec 25 15:02:28 CET 2009


Revision: 46554
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46554&view=rev
Author:   thebluegr
Date:     2009-12-25 14:02:28 +0000 (Fri, 25 Dec 2009)

Log Message:
-----------
Limit volume range to 0 - 255

Modified Paths:
--------------
    scummvm/trunk/engines/sci/sfx/music.cpp
    scummvm/trunk/engines/sci/sfx/soundcmd.cpp

Modified: scummvm/trunk/engines/sci/sfx/music.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/music.cpp	2009-12-25 13:52:40 UTC (rev 46553)
+++ scummvm/trunk/engines/sci/sfx/music.cpp	2009-12-25 14:02:28 UTC (rev 46554)
@@ -472,7 +472,7 @@
 //---------------------------------------------
 void SciMusic::soundSetMasterVolume(uint16 vol) {
 	vol = vol & 0xF; // 0..15
-	vol = vol * Audio::Mixer::kMaxMixerVolume / 0xF;
+	vol = (vol * Audio::Mixer::kMaxMixerVolume / 0xF) & 0xFF;	// 0...255
 	// TODO:balance volume to prevent music to be too loud
 	_pMixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, vol);
 	_pMixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, vol);

Modified: scummvm/trunk/engines/sci/sfx/soundcmd.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/soundcmd.cpp	2009-12-25 13:52:40 UTC (rev 46553)
+++ scummvm/trunk/engines/sci/sfx/soundcmd.cpp	2009-12-25 14:02:28 UTC (rev 46554)
@@ -659,7 +659,7 @@
 	}
 
 	_music->_playList[slot]->loop = (GET_SEL32V(_segMan, obj, loop) == 0xFFFF ? 1 : 0);
-	uint32 objVol = GET_SEL32V(_segMan, obj, vol);
+	uint32 objVol = GET_SEL32V(_segMan, obj, vol) & 0xFF;
 	if (objVol != _music->_playList[slot]->volume)
 		_music->soundSetVolume(_music->_playList[slot], objVol);
 	uint32 objPrio = GET_SEL32V(_segMan, obj, vol);
@@ -821,6 +821,8 @@
 		return;
 	}
 
+	value = value & 0xFF;	// 0...255
+
 	if (_music->_playList[slot]->volume != value) {
 		_music->_playList[slot]->volume = value;
 		_music->soundSetVolume(_music->_playList[slot], value);


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