[Scummvm-cvs-logs] SF.net SVN: scummvm:[51084] scummvm/trunk/engines/sci

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Wed Jul 21 14:05:11 CEST 2010


Revision: 51084
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51084&view=rev
Author:   m_kiewitz
Date:     2010-07-21 12:05:10 +0000 (Wed, 21 Jul 2010)

Log Message:
-----------
SCI: more work on coordadjustment sci32

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kernel32.cpp
    scummvm/trunk/engines/sci/engine/kevent.cpp
    scummvm/trunk/engines/sci/graphics/coordadjuster.cpp

Modified: scummvm/trunk/engines/sci/engine/kernel32.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel32.cpp	2010-07-21 08:50:30 UTC (rev 51083)
+++ scummvm/trunk/engines/sci/engine/kernel32.cpp	2010-07-21 12:05:10 UTC (rev 51084)
@@ -859,6 +859,7 @@
 	nsRect.bottom = readSelectorValue(s->_segMan, targetObject, SELECTOR(nsBottom));
 
 	// Get the object's plane
+#if 0
 	reg_t planeObject = readSelector(s->_segMan, targetObject, SELECTOR(plane));
 	if (!planeObject.isNull()) {
 		//uint16 itemX = readSelectorValue(s->_segMan, targetObject, SELECTOR(x));
@@ -879,7 +880,7 @@
 
 		nsRect.translate(planeLeft, planeTop);
 	}
-
+#endif
 	//warning("kIsOnMe: (%d, %d) on object %04x:%04x, parameter %d", argv[0].toUint16(), argv[1].toUint16(), PRINT_REG(argv[2]), argv[3].toUint16());
 
 	return make_reg(0, nsRect.contains(x, y));

Modified: scummvm/trunk/engines/sci/engine/kevent.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kevent.cpp	2010-07-21 08:50:30 UTC (rev 51083)
+++ scummvm/trunk/engines/sci/engine/kevent.cpp	2010-07-21 12:05:10 UTC (rev 51084)
@@ -215,7 +215,7 @@
 }
 
 reg_t kGlobalToLocal(EngineState *s, int argc, reg_t *argv) {
-	reg_t obj = argc ? argv[0] : NULL_REG; // Can this really happen? Lars
+	reg_t obj = argv[0];
 	reg_t planeObject = argc > 1 ? argv[1] : NULL_REG; // SCI32
 	SegManager *segMan = s->_segMan;
 
@@ -234,7 +234,7 @@
 }
 
 reg_t kLocalToGlobal(EngineState *s, int argc, reg_t *argv) {
-	reg_t obj = argc ? argv[0] : NULL_REG; // Can this really happen? Lars
+	reg_t obj = argv[0];
 	reg_t planeObject = argc > 1 ? argv[1] : NULL_REG; // SCI32
 	SegManager *segMan = s->_segMan;
 

Modified: scummvm/trunk/engines/sci/graphics/coordadjuster.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/coordadjuster.cpp	2010-07-21 08:50:30 UTC (rev 51083)
+++ scummvm/trunk/engines/sci/graphics/coordadjuster.cpp	2010-07-21 12:05:10 UTC (rev 51084)
@@ -101,14 +101,11 @@
 	uint16 planeTop = readSelectorValue(s->_segMan, planeObject, SELECTOR(top));
 	uint16 planeLeft = readSelectorValue(s->_segMan, planeObject, SELECTOR(left));
 
-	planeTop = (planeTop * g_sci->_gfxScreen->getHeight()) / planeResY;
-	planeLeft = (planeLeft * g_sci->_gfxScreen->getWidth()) / planeResX;
+	y = ((y * planeResY) / g_sci->_gfxScreen->getHeight());
+	x = ((x * planeResX) / g_sci->_gfxScreen->getWidth());
 
 	y -= planeTop;
 	x -= planeLeft;
-
-	y = ((y * planeResY) / g_sci->_gfxScreen->getHeight());
-	x = ((x * planeResX) / g_sci->_gfxScreen->getWidth());
 }
 void GfxCoordAdjuster32::kernelLocalToGlobal(int16 &x, int16 &y, reg_t planeObject) {
 	EngineState *s = g_sci->getEngineState();
@@ -117,14 +114,11 @@
 	uint16 planeTop = readSelectorValue(s->_segMan, planeObject, SELECTOR(top));
 	uint16 planeLeft = readSelectorValue(s->_segMan, planeObject, SELECTOR(left));
 
-	planeTop = (planeTop * g_sci->_gfxScreen->getHeight()) / planeResY;
-	planeLeft = (planeLeft * g_sci->_gfxScreen->getWidth()) / planeResX;
+	x += planeLeft;
+	y += planeTop;
 
 	y = ((y * g_sci->_gfxScreen->getHeight()) / planeResY);
 	x = ((x * g_sci->_gfxScreen->getWidth()) / planeResX);
-
-	x += planeLeft;
-	y += planeTop;
 }
 
 Common::Rect GfxCoordAdjuster32::onControl(Common::Rect rect) {


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