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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri Dec 25 16:24:36 CET 2009


Revision: 46555
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46555&view=rev
Author:   thebluegr
Date:     2009-12-25 15:24:35 +0000 (Fri, 25 Dec 2009)

Log Message:
-----------
Adjusted volume clipping

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 14:02:28 UTC (rev 46554)
+++ scummvm/trunk/engines/sci/sfx/music.cpp	2009-12-25 15:24:35 UTC (rev 46555)
@@ -472,8 +472,7 @@
 //---------------------------------------------
 void SciMusic::soundSetMasterVolume(uint16 vol) {
 	vol = vol & 0xF; // 0..15
-	vol = (vol * Audio::Mixer::kMaxMixerVolume / 0xF) & 0xFF;	// 0...255
-	// TODO:balance volume to prevent music to be too loud
+	vol = vol * Audio::Mixer::kMaxMixerVolume / 0xF;
 	_pMixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, vol);
 	_pMixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, vol);
 	_pMixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, vol);

Modified: scummvm/trunk/engines/sci/sfx/soundcmd.cpp
===================================================================
--- scummvm/trunk/engines/sci/sfx/soundcmd.cpp	2009-12-25 14:02:28 UTC (rev 46554)
+++ scummvm/trunk/engines/sci/sfx/soundcmd.cpp	2009-12-25 15:24:35 UTC (rev 46555)
@@ -287,7 +287,7 @@
 	newSound->soundObj = obj;
 	newSound->loop = GET_SEL32V(_segMan, obj, loop) == 0xFFFF ? 1 : 0;
 	newSound->prio = GET_SEL32V(_segMan, obj, pri) & 0xFF;
-	newSound->volume = GET_SEL32V(_segMan, obj, vol) & 0xFF;
+	newSound->volume = CLIP<int>(GET_SEL32V(_segMan, obj, vol), 0, Audio::Mixer::kMaxChannelVolume);
 	newSound->dataInc = 0;
 	newSound->pStreamAud = 0;
 	newSound->pMidiParser = 0;
@@ -659,7 +659,7 @@
 	}
 
 	_music->_playList[slot]->loop = (GET_SEL32V(_segMan, obj, loop) == 0xFFFF ? 1 : 0);
-	uint32 objVol = GET_SEL32V(_segMan, obj, vol) & 0xFF;
+	uint32 objVol = CLIP<int>(GET_SEL32V(_segMan, obj, vol), 0, 255);
 	if (objVol != _music->_playList[slot]->volume)
 		_music->soundSetVolume(_music->_playList[slot], objVol);
 	uint32 objPrio = GET_SEL32V(_segMan, obj, vol);
@@ -821,7 +821,7 @@
 		return;
 	}
 
-	value = value & 0xFF;	// 0...255
+	value = CLIP<int>(value, 0, Audio::Mixer::kMaxChannelVolume);
 
 	if (_music->_playList[slot]->volume != value) {
 		_music->_playList[slot]->volume = 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