[Scummvm-cvs-logs] SF.net SVN: scummvm:[51259] scummvm/trunk/engines/sci/graphics/frameout.cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sat Jul 24 23:18:09 CEST 2010


Revision: 51259
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51259&view=rev
Author:   m_kiewitz
Date:     2010-07-24 21:18:07 +0000 (Sat, 24 Jul 2010)

Log Message:
-----------
SCI: changing how insectRect gets applied

Modified Paths:
--------------
    scummvm/trunk/engines/sci/graphics/frameout.cpp

Modified: scummvm/trunk/engines/sci/graphics/frameout.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/frameout.cpp	2010-07-24 21:02:21 UTC (rev 51258)
+++ scummvm/trunk/engines/sci/graphics/frameout.cpp	2010-07-24 21:18:07 UTC (rev 51259)
@@ -299,29 +299,33 @@
 
 //				warning("view %s %04x:%04x", _segMan->getObjectName(itemEntry->object), PRINT_REG(itemEntry->object));
 
+				switch (getSciVersion()) {
+				case SCI_VERSION_2:
+					if (view->isSci2Hires())
+						_screen->adjustToUpscaledCoordinates(itemEntry->y, itemEntry->x);
+					break;
+				case SCI_VERSION_2_1:
+					itemEntry->y = (itemEntry->y * _screen->getHeight()) / planeResY;
+					itemEntry->x = (itemEntry->x * _screen->getWidth()) / planeResX;
+					break;
+				default:
+					break;
+				}
+
 				uint16 useInsetRect = readSelectorValue(_segMan, itemEntry->object, SELECTOR(useInsetRect));
 				if (useInsetRect) {
 					itemEntry->celRect.top = readSelectorValue(_segMan, itemEntry->object, SELECTOR(inTop));
 					itemEntry->celRect.left = readSelectorValue(_segMan, itemEntry->object, SELECTOR(inLeft));
 					itemEntry->celRect.bottom = readSelectorValue(_segMan, itemEntry->object, SELECTOR(inBottom)) + 1;
 					itemEntry->celRect.right = readSelectorValue(_segMan, itemEntry->object, SELECTOR(inRight)) + 1;
+					if (view->isSci2Hires()) {
+						_screen->adjustToUpscaledCoordinates(itemEntry->celRect.top, itemEntry->celRect.left);
+						_screen->adjustToUpscaledCoordinates(itemEntry->celRect.bottom, itemEntry->celRect.right);
+					}
 					itemEntry->celRect.translate(itemEntry->x, itemEntry->y);
 					// TODO: maybe we should clip the cels rect with this, i'm not sure
 					//  the only currently known usage is game menu of gk1
 				} else {
-					switch (getSciVersion()) {
-					case SCI_VERSION_2:
-						if (view->isSci2Hires())
-							_screen->adjustToUpscaledCoordinates(itemEntry->y, itemEntry->x);
-						break;
-					case SCI_VERSION_2_1:
-						itemEntry->y = (itemEntry->y * _screen->getHeight()) / planeResY;
-						itemEntry->x = (itemEntry->x * _screen->getWidth()) / planeResX;
-						break;
-					default:
-						break;
-					}
-
 					if ((itemEntry->scaleX == 128) && (itemEntry->scaleY == 128))
 						view->getCelRect(itemEntry->loopNo, itemEntry->celNo, itemEntry->x, itemEntry->y, itemEntry->z, itemEntry->celRect);
 					else


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list