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

sluicebox 22204938+sluicebox at users.noreply.github.com
Wed May 19 04:40:30 UTC 2021


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

Summary:
5d419e320b SCI: Remove extra semicolon
604ab98b5e SCI: Removed completed TODO
b0ce6a2d79 SCI: Improve SQ4CD selection of digital samples


Commit: 5d419e320b55d77b08772c9f26039087e7679ea8
    https://github.com/scummvm/scummvm/commit/5d419e320b55d77b08772c9f26039087e7679ea8
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-05-18T17:46:41-06:00

Commit Message:
SCI: Remove extra semicolon

Changed paths:
    engines/sci/graphics/portrait.cpp


diff --git a/engines/sci/graphics/portrait.cpp b/engines/sci/graphics/portrait.cpp
index b191cb1ab1..7224eec0dc 100644
--- a/engines/sci/graphics/portrait.cpp
+++ b/engines/sci/graphics/portrait.cpp
@@ -86,7 +86,7 @@ void Portrait::init() {
 	//   9E9E9E9E for vizier
 	Common::String fileName = "actors/" + _resourceName + ".bin";
 	Common::SeekableReadStream *file = SearchMan.createReadStreamForMember(fileName);
-		;
+
 	if (!file) {
 		fileName = _resourceName + ".bin";
 		file = SearchMan.createReadStreamForMember(fileName);


Commit: 604ab98b5e7b1a688e2b090b40ee7285c2720bcc
    https://github.com/scummvm/scummvm/commit/604ab98b5e7b1a688e2b090b40ee7285c2720bcc
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-05-18T18:32:44-06:00

Commit Message:
SCI: Removed completed TODO

Changed paths:
    engines/sci/sci.cpp


diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index e0cf4d1ad8..36765097b3 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -291,7 +291,6 @@ Common::Error SciEngine::run() {
 	//  - King's Quest 6 CD demo
 	//  - Gabriel Knight 1 CD
 	//  - Police Quest 4 CD
-	// TODO: Check, if Gabriel Knight 1 floppy supports high resolution
 	//
 	// Gabriel Knight 1 on Mac is hi-res only, so it should NOT get this option.
 	// Confirmed by [md5] and originally by clone2727.


Commit: b0ce6a2d79c63277ed7765cab61773d73665d656
    https://github.com/scummvm/scummvm/commit/b0ce6a2d79c63277ed7765cab61773d73665d656
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-05-18T18:33:55-06:00

Commit Message:
SCI: Improve SQ4CD selection of digital samples

- Windows-only samples now respect "Prefer digital sound effects" config
- Windows-only samples now only applied when a regular digital sample
  doesn't exist. This is SSCI behavior and mildly affects two sound
  effects in the monolith burger mini-game. Confirmed in disassembly.
- Windows-only samples now play in Windows mode and DOS samples and
  MIDIs play in DOS mode.
- Default audio experience now matches the selected platform.

Changed paths:
    engines/sci/sound/soundcmd.cpp


diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index 237ee826dc..94e08e803c 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -67,24 +67,28 @@ reg_t SoundCommandParser::kDoSoundInit(EngineState *s, int argc, reg_t *argv) {
 int SoundCommandParser::getSoundResourceId(reg_t obj) {
 	int resourceId = obj.getSegment() ? (int)readSelectorValue(_segMan, obj, SELECTOR(number)) : -1;
 	// Modify the resourceId for the Windows versions that have an alternate MIDI soundtrack, like SSCI did.
-	if (g_sci && g_sci->_features->useAltWinGMSound()) {
+	if (g_sci->_features->useAltWinGMSound()) {
 		// Check if the alternate MIDI song actually exists...
 		// There are cases where it just doesn't exist (e.g. SQ4, room 530 -
 		// bug #5829). In these cases, use the DOS tracks instead.
 		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)))
+	if (g_sci->getGameId() == GID_SQ4 &&
+		g_sci->getPlatform() == Common::kPlatformWindows &&
+		_useDigitalSFX &&
+		resourceId < 1000) {
+		// SQ4 CD Windows played Windows-exclusive digital samples instead of MIDI sounds
+		// when available. It did this when the "sound1000" was set to true in sierra.ini,
+		// which was always the case. If there was no audio resource with the given id,
+		// it would add 1000 and use that if it existed. Otherwise, it would fall back on
+		// the MIDI sound resource. Although this behavior existed in other Windows
+		// SCI 1.1 interpreters, SQ4 CD is the only game known to enable sound1000 in
+		// sierra.ini and include Windows-exclusive audio resources.
+		if (!_resMan->testResource(ResourceId(kResourceTypeAudio, resourceId)) &&
+			_resMan->testResource(ResourceId(kResourceTypeAudio, resourceId + 1000))) {
 			resourceId += 1000;
+		}
 	}
 
 	return resourceId;




More information about the Scummvm-git-logs mailing list