[Scummvm-git-logs] scummvm master -> 7dd3f6b7b169308e2610861484f5a39837026174

mduggan noreply at scummvm.org
Sun Mar 1 10:08:16 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:
7dd3f6b7b1 DGDS: Update frame timer after fadein/fadeout


Commit: 7dd3f6b7b169308e2610861484f5a39837026174
    https://github.com/scummvm/scummvm/commit/7dd3f6b7b169308e2610861484f5a39837026174
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2026-03-01T21:05:29+11:00

Commit Message:
DGDS: Update frame timer after fadein/fadeout

Dialog hide times are decided at the end of the frame where they are engaged.
If the frame also had a fade-in or fade-out, the "frame time" is now way off
when the frame actually started, so we need to update it as a small hack to get
the right timing for other events.

This fixes #16519.

Changed paths:
    engines/dgds/ttm.cpp


diff --git a/engines/dgds/ttm.cpp b/engines/dgds/ttm.cpp
index 450a7f694fc..36ed1bc4fce 100644
--- a/engines/dgds/ttm.cpp
+++ b/engines/dgds/ttm.cpp
@@ -627,6 +627,11 @@ void TTMInterpreter::doFadeOutOp(int16 colorno, int16 ncolors, int16 targetcol,
 			g_system->updateScreen();
 			g_system->delayMillis(5);
 		}
+
+		// Slight hack - the above loop took some time, so update frame millis
+		// to make sure times calculated for dialogs are still right, as they
+		// happen after this
+		_vm->updateThisFrameMillis();
 	}
 
 	// Logic here is different in Dragon + HOC.  They clear all buffers after fade
@@ -644,6 +649,7 @@ void TTMInterpreter::doFadeOutOp(int16 colorno, int16 ncolors, int16 targetcol,
 
 	// Reset to previous palette.
 	_vm->getGamePals()->setPalette();
+
 }
 
 void TTMInterpreter::doFadeInOp(int16 colorno, int16 ncolors, int16 targetcol, int16 speed) {
@@ -660,6 +666,11 @@ void TTMInterpreter::doFadeInOp(int16 colorno, int16 ncolors, int16 targetcol, i
 			g_system->updateScreen();
 			g_system->delayMillis(5);
 		}
+
+		// Slight hack - the above loop took some time, so update frame millis
+		// to make sure times calculated for dialogs are still right, as they
+		// happen after this
+		_vm->updateThisFrameMillis();
 	}
 }
 




More information about the Scummvm-git-logs mailing list