aboutsummaryrefslogtreecommitdiff
path: root/engines/sky/music
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sky/music')
-rw-r--r--engines/sky/music/adlibchannel.cpp6
1 files changed, 4 insertions, 2 deletions
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