[Scummvm-cvs-logs] scummvm master -> 51b1ec3139bf059a2123eecdf7477f3490427445

bluegr bluegr at gmail.com
Thu Mar 28 19:30:07 CET 2013


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:
51b1ec3139 SCI: Fix drawing in SCI21 hires games without breaking lowres SCI2/SCI21 games


Commit: 51b1ec3139bf059a2123eecdf7477f3490427445
    https://github.com/scummvm/scummvm/commit/51b1ec3139bf059a2123eecdf7477f3490427445
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2013-03-28T11:28:51-07:00

Commit Message:
SCI: Fix drawing in SCI21 hires games without breaking lowres SCI2/SCI21 games

Changed paths:
    engines/sci/graphics/frameout.cpp



diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index e251bd3..5f65762 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -762,14 +762,6 @@ void GfxFrameout::kernelFrameout() {
 					// Translate back to actual coordinate within scrollable plane
 					nsRect.translate(it->planeOffsetX, it->planeOffsetY);
 
-					if (view && view->isSci2Hires()) {
-						view->adjustBackUpscaledCoordinates(nsRect.top, nsRect.left);
-						view->adjustBackUpscaledCoordinates(nsRect.bottom, nsRect.right);
-					} else if (getSciVersion() >= SCI_VERSION_2_1) {
-						_coordAdjuster->fromDisplayToScript(nsRect.top, nsRect.left);
-						_coordAdjuster->fromDisplayToScript(nsRect.bottom, nsRect.right);
-					}
-
 					if (g_sci->getGameId() == GID_PHANTASMAGORIA2) {
 						// HACK: Some (?) objects in Phantasmagoria 2 have no NS rect. Skip them for now.
 						// TODO: Remove once we figure out how Phantasmagoria 2 draws objects on screen.
@@ -777,12 +769,15 @@ void GfxFrameout::kernelFrameout() {
 							continue;
 					}
 
-					// FIXME: We should not update the object's NS rect here.
-					// This breaks the sliders in the control panel screen in
-					// QFG4, but disabling it does not change any functionality,
-					// as the object(s) will be drawn on screen with the
-					// calculated coordinates.
-					//g_sci->_gfxCompare->setNSRect(itemEntry->object, nsRect);
+					if (view && view->isSci2Hires()) {
+						view->adjustBackUpscaledCoordinates(nsRect.top, nsRect.left);
+						view->adjustBackUpscaledCoordinates(nsRect.bottom, nsRect.right);
+						g_sci->_gfxCompare->setNSRect(itemEntry->object, nsRect);
+					} else if (getSciVersion() >= SCI_VERSION_2_1 && _resMan->detectHires()) {
+						_coordAdjuster->fromDisplayToScript(nsRect.top, nsRect.left);
+						_coordAdjuster->fromDisplayToScript(nsRect.bottom, nsRect.right);
+						g_sci->_gfxCompare->setNSRect(itemEntry->object, nsRect);
+					}
 				}
 
 				// Don't attempt to draw sprites that are outside the visible






More information about the Scummvm-git-logs mailing list