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

AndywinXp noreply at scummvm.org
Sat May 28 20:10:47 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:
de93de1c67 SCUMM: Fix o6_freezeUnfreeze() for v7-8 (fix bug #13511)


Commit: de93de1c67c5c3104b920476a4f041871d23e736
    https://github.com/scummvm/scummvm/commit/de93de1c67c5c3104b920476a4f041871d23e736
Author: AndywinXp (andywinxp at gmail.com)
Date: 2022-05-28T22:10:41+02:00

Commit Message:
SCUMM: Fix o6_freezeUnfreeze() for v7-8 (fix bug #13511)
FT, DIG and COMI interpreters explicitly ask for flag == 2 instead of flag >= 0x80.
This fixes a class of bugs in which some scripts which should have been paused
still manage to execute.

Changed paths:
    engines/scumm/script.cpp


diff --git a/engines/scumm/script.cpp b/engines/scumm/script.cpp
index 5c2d1f12343..dcf3af99c90 100644
--- a/engines/scumm/script.cpp
+++ b/engines/scumm/script.cpp
@@ -883,8 +883,9 @@ void ScummEngine::freezeScripts(int flag) {
 		return;
 	}
 
+	bool flagCondition = _game.version >= 7 ? flag == 2 : flag >= 0x80;
 	for (i = 0; i < NUM_SCRIPT_SLOT; i++) {
-		if (_currentScript != i && vm.slot[i].status != ssDead && (!vm.slot[i].freezeResistant || flag >= 0x80)) {
+		if (_currentScript != i && vm.slot[i].status != ssDead && (!vm.slot[i].freezeResistant || flagCondition)) {
 			vm.slot[i].status |= 0x80;
 			vm.slot[i].freezeCount++;
 		}




More information about the Scummvm-git-logs mailing list