[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