[Scummvm-git-logs] scummvm master -> acb9591cff2172dded00bddbb54e6131497c55ca
bluegr
noreply at scummvm.org
Mon Mar 2 13:03:26 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
acb9591cff NANCY: Fix TurningPuzzle solve animation timing
Commit: acb9591cff2172dded00bddbb54e6131497c55ca
https://github.com/scummvm/scummvm/commit/acb9591cff2172dded00bddbb54e6131497c55ca
Author: flipkick (167208+flipkick at users.noreply.github.com)
Date: 2026-03-02T15:03:21+02:00
Commit Message:
NANCY: Fix TurningPuzzle solve animation timing
Remove the division by _currentOrder.size() for the frame delay
calculation. It depends only on _solveDelayBetweenTurns and
_numFramesPerTurn.
Remove the initial _nextTurnTime calculation so the animation always
starts without delay.
Both behaviors follow the original game.
Changed paths:
engines/nancy/action/puzzle/turningpuzzle.cpp
diff --git a/engines/nancy/action/puzzle/turningpuzzle.cpp b/engines/nancy/action/puzzle/turningpuzzle.cpp
index 726a97c76c5..3c6476337b7 100644
--- a/engines/nancy/action/puzzle/turningpuzzle.cpp
+++ b/engines/nancy/action/puzzle/turningpuzzle.cpp
@@ -52,7 +52,7 @@ void TurningPuzzle::updateGraphics() {
if (_solveState == kWaitForAnimation) {
if (g_nancy->getTotalPlayTime() > _nextTurnTime) {
- _nextTurnTime = g_nancy->getTotalPlayTime() + (_solveDelayBetweenTurns * 1000 / _currentOrder.size() / _numFramesPerTurn);
+ _nextTurnTime = g_nancy->getTotalPlayTime() + (_solveDelayBetweenTurns * 1000 / _numFramesPerTurn);
if ( (_turnFrameID == 0 && _solveAnimFace == 0) ||
(_turnFrameID == 1 && _solveAnimFace > 0 && (int)_solveAnimFace < _numFaces - 1)) {
@@ -92,7 +92,7 @@ void TurningPuzzle::updateGraphics() {
if (_objectCurrentlyTurning != -1) {
if (g_nancy->getTotalPlayTime() > _nextTurnTime) {
- _nextTurnTime = g_nancy->getTotalPlayTime() + (_solveDelayBetweenTurns * 1000 / _currentOrder.size() / _numFramesPerTurn);
+ _nextTurnTime = g_nancy->getTotalPlayTime() + (_solveDelayBetweenTurns * 1000 / _numFramesPerTurn);
++_turnFrameID;
uint faceID = _currentOrder[_objectCurrentlyTurning];
@@ -219,7 +219,6 @@ void TurningPuzzle::execute() {
}
_objectCurrentlyTurning = -1;
_turnFrameID = 0;
- _nextTurnTime = g_nancy->getTotalPlayTime() + (_solveDelayBetweenTurns * 1000 / _currentOrder.size());
}
break;
More information about the Scummvm-git-logs
mailing list