[Scummvm-git-logs] scummvm master -> 6bd713813204c879097e3d8754c727b4b7505494

mgerhardy noreply at scummvm.org
Sat Oct 12 18:30:28 UTC 2024


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:
6bd7138132 TWINE: fixed a few freezeTime related issues as given in #15400


Commit: 6bd713813204c879097e3d8754c727b4b7505494
    https://github.com/scummvm/scummvm/commit/6bd713813204c879097e3d8754c727b4b7505494
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2024-10-12T20:30:09+02:00

Commit Message:
TWINE: fixed a few freezeTime related issues as given in #15400

https://bugs.scummvm.org/ticket/15400

redrawEngineActions does its own timer freeze again and we might lose them by
using ScopedEngineFreeze

Changed paths:
    engines/twine/twine.cpp


diff --git a/engines/twine/twine.cpp b/engines/twine/twine.cpp
index 465e365e309..b808c77ea09 100644
--- a/engines/twine/twine.cpp
+++ b/engines/twine/twine.cpp
@@ -769,7 +769,7 @@ void TwinEEngine::processBonusList() {
 }
 
 void TwinEEngine::processInventoryAction() {
-	ScopedEngineFreeze scoped(this);
+	freezeTime(false);
 	testRestoreModeSVGA(true) ;
 	_menu->inventory();
 
@@ -843,7 +843,9 @@ void TwinEEngine::processInventoryAction() {
 		break;
 	}
 	case kiBonusList: {
+		unfreezeTime();
 		_redraw->redrawEngineActions(true);
+		freezeTime(false);
 		processBonusList();
 		break;
 	}
@@ -859,6 +861,7 @@ void TwinEEngine::processInventoryAction() {
 		break;
 	}
 
+	unfreezeTime();
 	_redraw->redrawEngineActions(true);
 }
 
@@ -974,9 +977,10 @@ bool TwinEEngine::runGameEngine() { // mainLoopInteration
 			} else if (_input->isActionActive(TwinEActionType::QuickBehaviourDiscreet, false)) {
 				_actor->_heroBehaviour = HeroBehaviourType::kDiscrete;
 			}
-			ScopedEngineFreeze scopedFreeze(this);
+			freezeTime(false);
 			testRestoreModeSVGA(true);
 			_menu->processBehaviourMenu(behaviourMenu);
+			unfreezeTime();
 			_redraw->redrawEngineActions(true);
 		}
 
@@ -1015,7 +1019,7 @@ bool TwinEEngine::runGameEngine() { // mainLoopInteration
 
 		// Process Pause
 		if (_input->toggleActionIfActive(TwinEActionType::Pause)) {
-			ScopedEngineFreeze scopedFreeze(this, true);
+			freezeTime(true);
 			const char *PauseString = "Pause";
 			_text->setFontColor(COLOR_WHITE);
 			if (_redraw->_flagMCGA) {
@@ -1033,6 +1037,7 @@ bool TwinEEngine::runGameEngine() { // mainLoopInteration
 					break;
 				}
 			} while (!_input->toggleActionIfActive(TwinEActionType::Pause));
+			unfreezeTime();
 			_redraw->redrawEngineActions(true);
 		}
 




More information about the Scummvm-git-logs mailing list