[Scummvm-cvs-logs] scummvm master -> bc48b124f05f0f602d80bf26eecc1f7237c83da3

wjp wjp at usecode.org
Wed Mar 2 00:50:27 CET 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
bc48b124f0 SCI: Change workaround for hoyle3-demo's rendering order


Commit: bc48b124f05f0f602d80bf26eecc1f7237c83da3
    https://github.com/scummvm/scummvm/commit/bc48b124f05f0f602d80bf26eecc1f7237c83da3
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-03-01T15:48:21-08:00

Commit Message:
SCI: Change workaround for hoyle3-demo's rendering order

This behaviour much more closely matches SSCI.

Changed paths:
    engines/sci/graphics/animate.cpp
    engines/sci/graphics/ports.cpp



diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp
index d8dd43a..e02b27c 100644
--- a/engines/sci/graphics/animate.cpp
+++ b/engines/sci/graphics/animate.cpp
@@ -352,14 +352,7 @@ void GfxAnimate::update() {
 				it->signal &= ~(kSignalViewUpdated | kSignalNoUpdate);
 		} else if (it->signal & kSignalStopUpdate) {
 			it->signal &= ~kSignalStopUpdate;
-			if (g_sci->getGameId() == GID_HOYLE3 && g_sci->isDemo()) {
-				// WORKAROUND: The demo of Hoyle 3 doesn't seem to set this
-				// flag in this case. Not setting this fixes a large number
-				// of incorrect animate entries being drawn on top of dialog
-				// boxes (bug #3036763)
-			} else {
-				it->signal |= kSignalNoUpdate;
-			}
+			it->signal |= kSignalNoUpdate;
 		}
 	}
 
diff --git a/engines/sci/graphics/ports.cpp b/engines/sci/graphics/ports.cpp
index 9aa539a..6d52686 100644
--- a/engines/sci/graphics/ports.cpp
+++ b/engines/sci/graphics/ports.cpp
@@ -304,7 +304,13 @@ Window *GfxPorts::addWindow(const Common::Rect &dims, const Common::Rect *restor
 	}
 
 	_windowsById[id] = pwnd;
-	if (style & SCI_WINDOWMGR_STYLE_TOPMOST)
+
+
+	// Hoyle3-demo's NewWindow always adds windows to the back of the list.
+	// TODO: Determine if other interpreters do the same.
+	bool _forceToBack = (g_sci->getGameId() == GID_HOYLE3 && g_sci->isDemo());
+
+	if (!_forceToBack && (style & SCI_WINDOWMGR_STYLE_TOPMOST))
 		_windowList.push_front(pwnd);
 	else
 		_windowList.push_back(pwnd);






More information about the Scummvm-git-logs mailing list