[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