aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoost Peters2006-10-08 12:31:05 +0000
committerJoost Peters2006-10-08 12:31:05 +0000
commitbf6ba21d83853a5fb2f951a94e0629ffb861577c (patch)
treec49b1108e0fd8af8c9390214093d5e8b39343414
parent25486c789e1fdfb46e8aeff31252f6590a8d3066 (diff)
downloadscummvm-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--NEWS1
-rw-r--r--engines/sky/music/adlibchannel.cpp6
2 files changed, 5 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 31f431135c..cd2e040241 100644
--- a/NEWS
+++ b/NEWS
@@ -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