[Scummvm-git-logs] scummvm master -> 68081925607df57d05c71e0b8f9e5df02e4395bc
mduggan
noreply at scummvm.org
Mon Apr 21 09:32:17 UTC 2025
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:
6808192560 DGDS: Also draw dialog backgroiund on scene transition
Commit: 68081925607df57d05c71e0b8f9e5df02e4395bc
https://github.com/scummvm/scummvm/commit/68081925607df57d05c71e0b8f9e5df02e4395bc
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2025-04-21T19:12:23+10:00
Commit Message:
DGDS: Also draw dialog backgroiund on scene transition
For some reason I missed drawing the background in this code path.
This fixes, eg, the missing dialog backgrounf on fade to game over after
visiting Lomax 3 times in Heart of China.
Changed paths:
engines/dgds/scene.cpp
engines/dgds/ttm.cpp
diff --git a/engines/dgds/scene.cpp b/engines/dgds/scene.cpp
index 0b1ca895739..a83096e7da9 100644
--- a/engines/dgds/scene.cpp
+++ b/engines/dgds/scene.cpp
@@ -1071,11 +1071,12 @@ bool SDSScene::checkDialogActive() {
dlgCopy._state->_selectedAction = nullptr;
debug(1, "Dialog %d closing: run action (%d ops)", dlg._num, action->sceneOpList.size());
if (!runOps(action->sceneOpList)) {
- // HACK: the scene changed, but we haven't yet drawn the foreground for the
- // dialog, this is our last chance so do it now. The game does it in a
+ // HACK: the scene changed, but we may not have drawn the dialog -
+ // this is our last chance so do it now. The game does it in a
// different way that relies on delayed disposal of the dialog data.
if (dlgCopy.hasFlag(kDlgFlagVisible) && !dlgCopy.hasFlag(kDlgFlagOpening)) {
DgdsEngine *engine = DgdsEngine::getInstance();
+ dlgCopy.draw(&engine->_compositionBuffer, kDlgDrawStageBackground);
dlgCopy.draw(&engine->_compositionBuffer, kDlgDrawFindSelectionPointXY);
dlgCopy.draw(&engine->_compositionBuffer, kDlgDrawFindSelectionTxtOffset);
dlgCopy.draw(&engine->_compositionBuffer, kDlgDrawStageForeground);
diff --git a/engines/dgds/ttm.cpp b/engines/dgds/ttm.cpp
index c36e3941613..450a7f694fc 100644
--- a/engines/dgds/ttm.cpp
+++ b/engines/dgds/ttm.cpp
@@ -613,6 +613,7 @@ void TTMInterpreter::doDrawSpriteOp(const TTMEnviro &env, const TTMSeq &seq, uin
void TTMInterpreter::doFadeOutOp(int16 colorno, int16 ncolors, int16 targetcol, int16 speed) {
if (speed == 0) {
+ // Immediately fade to black.
_vm->getGamePals()->clearPalette();
} else {
// The original tight-loops here with 640 steps and i/10 as the fade level..
More information about the Scummvm-git-logs
mailing list