[Scummvm-git-logs] scummvm master -> 3c6ebd89c09f4cd7b181ddbdacb38e7dd8290132

sluicebox noreply at scummvm.org
Fri Aug 26 08:02:07 UTC 2022


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

Summary:
3c6ebd89c0 SCI32: Fix kDoSoundPause sample behavior in LSL6HIRES


Commit: 3c6ebd89c09f4cd7b181ddbdacb38e7dd8290132
    https://github.com/scummvm/scummvm/commit/3c6ebd89c09f4cd7b181ddbdacb38e7dd8290132
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2022-08-26T01:01:45-07:00

Commit Message:
SCI32: Fix kDoSoundPause sample behavior in LSL6HIRES

Fixes bug #13555

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


diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index 4640b334ce2..2e7f4f23807 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -396,10 +396,17 @@ reg_t SoundCommandParser::kDoSoundPause(EngineState *s, int argc, reg_t *argv) {
 		// perform this action, but the architecture of the ScummVM
 		// implementation is so different that it doesn't matter here
 		if (_soundVersion >= SCI_VERSION_2_1_EARLY && musicSlot->isSample) {
-			if (shouldPause) {
-				g_sci->_audio32->pause(ResourceId(kResourceTypeAudio, musicSlot->resourceId), musicSlot->soundObj);
-			} else {
-				g_sci->_audio32->resume(ResourceId(kResourceTypeAudio, musicSlot->resourceId), musicSlot->soundObj);
+			// LSL6HIRES didn't support pausing samples with kDoSoundFade. Its interpreter's
+			// pause code didn't call kDoAudio. This feature appeared in PQ4 CD's interpreter
+			// a month later, according to the date strings, even though they have the same
+			// version string. LSL6HIRES door sounds depend on these pause calls not having
+			// any effect. Bug #13555
+			if (g_sci->getGameId() != GID_LSL6HIRES) {
+				if (shouldPause) {
+					g_sci->_audio32->pause(ResourceId(kResourceTypeAudio, musicSlot->resourceId), musicSlot->soundObj);
+				} else {
+					g_sci->_audio32->resume(ResourceId(kResourceTypeAudio, musicSlot->resourceId), musicSlot->soundObj);
+				}
 			}
 		} else
 #endif




More information about the Scummvm-git-logs mailing list