diff options
-rw-r--r-- | scumm/imuse_digi/dimuse_sndmgr.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/scumm/imuse_digi/dimuse_sndmgr.cpp b/scumm/imuse_digi/dimuse_sndmgr.cpp index bd5c297eae..b6fd9dcd9a 100644 --- a/scumm/imuse_digi/dimuse_sndmgr.cpp +++ b/scumm/imuse_digi/dimuse_sndmgr.cpp @@ -219,7 +219,7 @@ ImuseDigiSndMgr::soundStruct *ImuseDigiSndMgr::openSound(int32 soundId, const ch _sounds[slot].resPtr = ptr; result = true; } else if (soundType == IMUSE_BUNDLE) { - bool header_outside = _vm->_gameId != GID_DIG; + bool header_outside = ((_vm->_gameId == GID_CMI) && !(_vm->_features & GF_DEMO)); if (soundGroup == IMUSE_VOICE) result = openVoiceBundle(slot); else if (soundGroup == IMUSE_MUSIC) @@ -234,7 +234,7 @@ ImuseDigiSndMgr::soundStruct *ImuseDigiSndMgr::openSound(int32 soundId, const ch } } else if (soundName != NULL) { if (soundType == IMUSE_BUNDLE) { - bool header_outside = _vm->_gameId != GID_DIG; + bool header_outside = ((_vm->_gameId == GID_CMI) && !(_vm->_features & GF_DEMO)); if (soundGroup == IMUSE_VOICE) result = openVoiceBundle(slot); else if (soundGroup == IMUSE_MUSIC) @@ -396,7 +396,7 @@ int32 ImuseDigiSndMgr::getDataFromRegion(soundStruct *soundHandle, int region, b } int header_size = soundHandle->offsetData; - bool header_outside = _vm->_gameId != GID_DIG; + bool header_outside = ((_vm->_gameId == GID_CMI) && !(_vm->_features & GF_DEMO)); if (soundHandle->_bundle) { size = soundHandle->_bundle->decompressSampleByCurIndex(start + offset, size, buf, header_size, header_outside); } else if (soundHandle->resPtr) { |