aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-11-18 00:35:04 +0000
committerPaweł Kołodziejski2003-11-18 00:35:04 +0000
commitc830c0b21c973c06821f98c052f9133adda648e6 (patch)
tree4f61045e064188eb64bd4215d3386a3f00f35266 /scumm
parent3ec24507ca70a925c2063ae87e5e9e41d8648e4f (diff)
downloadscummvm-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.cpp13
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();