aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2011-06-15 00:25:41 +1000
committerPaul Gilbert2011-06-15 00:25:41 +1000
commit2fe865c89142d3ef528a6ab3d43180cc95dd99bb (patch)
tree8835c18bc6237db63b0d296a247cfc370db65219 /engines
parentc18172565b2d3589d37784b34350c05ebcbe836b (diff)
downloadscummvm-rg350-2fe865c89142d3ef528a6ab3d43180cc95dd99bb.tar.gz
scummvm-rg350-2fe865c89142d3ef528a6ab3d43180cc95dd99bb.tar.bz2
scummvm-rg350-2fe865c89142d3ef528a6ab3d43180cc95dd99bb.zip
TSAGE: Bugfix to load correct patch bank for Adlib
Diffstat (limited to 'engines')
-rw-r--r--engines/tsage/sound.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/tsage/sound.cpp b/engines/tsage/sound.cpp
index b067898a64..bc1e87d30a 100644
--- a/engines/tsage/sound.cpp
+++ b/engines/tsage/sound.cpp
@@ -193,7 +193,7 @@ void SoundManager::installDriver(int driverNum) {
case ROLAND_DRIVER_NUM:
case ADLIB_DRIVER_NUM: {
// Handle loading bank infomation
- byte *bankData = _resourceManager->getResource(RES_BANK, ROLAND_DRIVER_NUM, 0, true);
+ byte *bankData = _resourceManager->getResource(RES_BANK, driverNum, 0, true);
if (bankData) {
// Install the patch bank data
_sfInstallPatchBank(driver, bankData);
@@ -2463,6 +2463,8 @@ void AdlibSoundDriver::proc32(int channel, int program, int v0, int v1) {
if (dataP[offset + 2] != 0xff)
v0 = dataP[offset + 2];
+ _v4409E[channel] = dataP + offset - _patchData;
+
// Set sustain/release
int portNum = v440C2[v440B0[channel]] + 0x80;
write(portNum, (_portContents[portNum] & 0xF0) | 0xF);