[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