diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sky/music/adlibchannel.cpp | 6 |
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 |