diff options
-rw-r--r-- | engines/sci/sound/soundcmd.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 57e7516b49..e8fd20d2e5 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -74,6 +74,18 @@ int SoundCommandParser::getSoundResourceId(reg_t obj) { if (resourceId && _resMan->testResource(ResourceId(kResourceTypeSound, resourceId + 1000))) resourceId += 1000; } + if (g_sci->isCD() && g_sci->getGameId() == GID_SQ4 && resourceId < 1000) { + // For Space Quest 4 a few additional samples and also higher quality samples were played. + // We must not connect this to General MIDI support, because that will get disabled + // in case the user hasn't also chosen a General MIDI output device. + // We use those samples for DOS platform as well. We do basically the same for Space Quest 3, + // which also contains a few samples that were not played under the original interpreter. + // Maybe some fan wishes to opt-out of this. In this case a game specific option should be added. + // For more information see enhancement/bug #10228 + // TODO: Check, if there are also enhanced samples for any of the other General MIDI games. + if (_resMan->testResource(ResourceId(kResourceTypeAudio, resourceId + 1000))) + resourceId += 1000; + } return resourceId; } |