diff options
author | Paweł Kołodziejski | 2003-11-18 00:35:04 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2003-11-18 00:35:04 +0000 |
commit | c830c0b21c973c06821f98c052f9133adda648e6 (patch) | |
tree | 4f61045e064188eb64bd4215d3386a3f00f35266 /scumm | |
parent | 3ec24507ca70a925c2063ae87e5e9e41d8648e4f (diff) | |
download | scummvm-rg350-c830c0b21c973c06821f98c052f9133adda648e6.tar.gz scummvm-rg350-c830c0b21c973c06821f98c052f9133adda648e6.tar.bz2 scummvm-rg350-c830c0b21c973c06821f98c052f9133adda648e6.zip |
added music support for dig demo
svn-id: r11331
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/imuse_digi.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/scumm/imuse_digi.cpp b/scumm/imuse_digi.cpp index 3f7c9ff57c..1638e0d09b 100644 --- a/scumm/imuse_digi.cpp +++ b/scumm/imuse_digi.cpp @@ -999,6 +999,10 @@ int32 IMuseDigital::doCommand(int a, int b, int c, int d, int e, int f, int g, i switch (sub_cmd) { case 0x600: // control volume fade debug(5, "ImuseFadeParam - fading volume sample(%d), to volume(%d) with speed(%d)", sample, d, e); + if ((_scumm->_gameId == GID_DIG) && (_scumm->_features & GF_DEMO)) { + stopSound(sample); + return 0; + } for (l = 0; l < MAX_DIGITAL_CHANNELS; l++) { if ((_channel[l]._idSound == sample) && _channel[l]._used) { chan = l; @@ -1028,6 +1032,15 @@ int32 IMuseDigital::doCommand(int a, int b, int c, int d, int e, int f, int g, i } case 0x1000: // ImuseSetState debug(5, "ImuseSetState (%d)", b); + if ((_scumm->_gameId == GID_DIG) && (_scumm->_features & GF_DEMO)) { + if (b == 1) + startSound(1); + else { + if (getSoundStatus(4) == 0) + startSound(4); + } + return 0; + } if (_scumm->_gameId == GID_DIG) { if (b == 1000) { // STATE_NULL _scumm->_sound->stopBundleMusic(); |