diff options
author | Joost Peters | 2006-10-08 12:31:05 +0000 |
---|---|---|
committer | Joost Peters | 2006-10-08 12:31:05 +0000 |
commit | bf6ba21d83853a5fb2f951a94e0629ffb861577c (patch) | |
tree | c49b1108e0fd8af8c9390214093d5e8b39343414 | |
parent | 25486c789e1fdfb46e8aeff31252f6590a8d3066 (diff) | |
download | scummvm-rg350-bf6ba21d83853a5fb2f951a94e0629ffb861577c.tar.gz scummvm-rg350-bf6ba21d83853a5fb2f951a94e0629ffb861577c.tar.bz2 scummvm-rg350-bf6ba21d83853a5fb2f951a94e0629ffb861577c.zip |
commit "fixed regression in BASS adlib music." from 0-9-0 branch to trunk
svn-id: r24204
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | engines/sky/music/adlibchannel.cpp | 6 |
2 files changed, 5 insertions, 2 deletions
@@ -44,6 +44,7 @@ For a more comprehensive changelog for the latest experimental SVN code, see: BASS: - Fixed character spacing in LINC terminals in floppy version v0.0303 + - Fixed a regression which caused incorrect adlib music emulation Broken Sword 1: - Fixed speech-related crashes. diff --git a/engines/sky/music/adlibchannel.cpp b/engines/sky/music/adlibchannel.cpp index 1ea9a4a8c5..181c96dae6 100644 --- a/engines/sky/music/adlibchannel.cpp +++ b/engines/sky/music/adlibchannel.cpp @@ -85,8 +85,10 @@ bool AdlibChannel::isActive(void) { } void AdlibChannel::updateVolume(uint16 pVolume) { - - _musicVolume = pVolume * 3; + pVolume = (pVolume * 3) >> 1; + if (pVolume > 0x7F) + pVolume = 0x7F; + _musicVolume = pVolume | 128; } /* This class uses the same area for the register mirror as the original |