[Scummvm-git-logs] scummvm master -> 40beeba18f60280e5bd5c665424db4789afa8d73

athrxx noreply at scummvm.org
Fri Mar 28 00:42:09 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:
40beeba18f SCUMM: (MI2) - fix bug no. 15802


Commit: 40beeba18f60280e5bd5c665424db4789afa8d73
    https://github.com/scummvm/scummvm/commit/40beeba18f60280e5bd5c665424db4789afa8d73
Author: athrxx (athrxx at scummvm.org)
Date: 2025-03-28T01:41:21+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 835b2e83d6a..bf07236333d 100644
--- a/engines/scumm/imuse/imuse.cpp
+++ b/engines/scumm/imuse/imuse.cpp
@@ -1676,6 +1676,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 d6caf785fa9..6401dc1fbde 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