[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