aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2017-09-25 00:44:04 +0200
committerMartin Kiewitz2017-09-25 00:44:04 +0200
commitd9dfca2fcbe89d3d5e783599466a1a5db6f3dc87 (patch)
tree0eb215deb1751f13282016bca9424b4e0740d8b7 /engines
parent53dd55ebf215e269142c875b10d9ce854287f5d8 (diff)
downloadscummvm-rg350-d9dfca2fcbe89d3d5e783599466a1a5db6f3dc87.tar.gz
scummvm-rg350-d9dfca2fcbe89d3d5e783599466a1a5db6f3dc87.tar.bz2
scummvm-rg350-d9dfca2fcbe89d3d5e783599466a1a5db6f3dc87.zip
SCI: SQ4: Now using additional and enhanced Win3.11 samples
Which were originally only played, when using the Windows interpreter. Afaik the DOS interpreter was incapable of playing more than 1 sample at a time, which was probably the reason why Sierra only added these for the Windows interpreter. For example a sample is now played, when points are awarded. Those samples are currently used all the time and will also enhance the game, when platform DOS is chosen. In case someone wishes to opt-out of this, we could add a game specific option. We do something like this for Space Quest 3 already, that's why I don't see a reason to add a game option right now.
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/sound/soundcmd.cpp12
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;
}