[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