[Scummvm-git-logs] scummvm master -> d9dfca2fcbe89d3d5e783599466a1a5db6f3dc87

m-kiewitz m_kiewitz at users.sourceforge.net
Mon Sep 25 00:44:10 CEST 2017

This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

d9dfca2fcb SCI: SQ4: Now using additional and enhanced Win3.11 samples

Commit: d9dfca2fcbe89d3d5e783599466a1a5db6f3dc87
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2017-09-25T00:44:04+02:00

Commit Message:
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.

Changed paths:

diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index 57e7516..e8fd20d 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;

More information about the Scummvm-git-logs mailing list