[Scummvm-git-logs] scummvm branch-2-9 -> c35d72a2d4c7ad234b49ef5f00ed2e9789af54df

athrxx noreply at scummvm.org
Fri Mar 28 11:00:40 UTC 2025


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:
c35d72a2d4 SCUMM: (MI2) - fix bug no. 15802


Commit: c35d72a2d4c7ad234b49ef5f00ed2e9789af54df
    https://github.com/scummvm/scummvm/commit/c35d72a2d4c7ad234b49ef5f00ed2e9789af54df
Author: athrxx (athrxx at scummvm.org)
Date: 2025-03-28T12:00:14+01:00

Commit Message:
SCUMM: (MI2) - fix bug no. 15802

("SCUMM: MI2: iMUSE bug on Booty Island")

Changed paths:
    engines/scumm/imuse/imuse.cpp
    engines/scumm/imuse/imuse_part.cpp


diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp
index b2e068c1d3a..f96c4bf74cd 100644
--- a/engines/scumm/imuse/imuse.cpp
+++ b/engines/scumm/imuse/imuse.cpp
@@ -1645,6 +1645,8 @@ void IMuseInternal::suspendPart(Part *part) {
 		_waitingPartsQueue.insert(it, part);
 		return;
 	}
+
+	_waitingPartsQueue.push_back(part);
 }
 
 void IMuseInternal::removeSuspendedPart(Part *part) {
diff --git a/engines/scumm/imuse/imuse_part.cpp b/engines/scumm/imuse/imuse_part.cpp
index 7440752c61c..27c72498175 100644
--- a/engines/scumm/imuse/imuse_part.cpp
+++ b/engines/scumm/imuse/imuse_part.cpp
@@ -216,8 +216,16 @@ void Part::pitchBendFactor(byte value) {
 void Part::set_onoff(bool on) {
 	if (_on != on) {
 		_on = on;
-		if (!on)
-			off();
+		if (!on) {
+			if (!_se->_dynamicChanAllocation) {
+				if (_mc) {
+					_mc->sustain(false);
+					_mc->allNotesOff();
+				}
+			} else {
+				off();
+			}
+		}
 		if (!_percussion)
 			_player->_se->reallocateMidiChannels(_player->getMidiDriver());
 	}




More information about the Scummvm-git-logs mailing list