[Scummvm-cvs-logs] SF.net SVN: scummvm:[51085] scummvm/trunk/engines/sci/graphics/compare.cpp
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Wed Jul 21 14:41:17 CEST 2010
Revision: 51085
http://scummvm.svn.sourceforge.net/scummvm/?rev=51085&view=rev
Author: m_kiewitz
Date: 2010-07-21 12:41:17 +0000 (Wed, 21 Jul 2010)
Log Message:
-----------
SCI: kSetNowSeen sci2.1
fixes hotspots
Modified Paths:
--------------
scummvm/trunk/engines/sci/graphics/compare.cpp
Modified: scummvm/trunk/engines/sci/graphics/compare.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/compare.cpp 2010-07-21 12:05:10 UTC (rev 51084)
+++ scummvm/trunk/engines/sci/graphics/compare.cpp 2010-07-21 12:41:17 UTC (rev 51085)
@@ -132,15 +132,36 @@
view = _cache->getView(viewId);
- if (view->isSci2Hires())
- _screen->adjustToUpscaledCoordinates(y, x);
+ switch (getSciVersion()) {
+ case SCI_VERSION_2:
+ if (view->isSci2Hires())
+ _screen->adjustToUpscaledCoordinates(y, x);
+ break;
+ case SCI_VERSION_2_1:
+ _coordAdjuster->kernelLocalToGlobal(x, y, readSelector(_segMan, objectReference, SELECTOR(plane)));
+ break;
+ default:
+ break;
+ }
view->getCelRect(loopNo, celNo, x, y, z, celRect);
- if (view->isSci2Hires()) {
- _screen->adjustBackUpscaledCoordinates(celRect.top, celRect.left);
- _screen->adjustBackUpscaledCoordinates(celRect.bottom, celRect.right);
+ switch (getSciVersion()) {
+ case SCI_VERSION_2:
+ if (view->isSci2Hires()) {
+ _screen->adjustBackUpscaledCoordinates(celRect.top, celRect.left);
+ _screen->adjustBackUpscaledCoordinates(celRect.bottom, celRect.right);
+ }
+ break;
+ case SCI_VERSION_2_1: {
+ reg_t planeObj = readSelector(_segMan, objectReference, SELECTOR(plane));
+ _coordAdjuster->kernelGlobalToLocal(celRect.left, celRect.top, planeObj);
+ _coordAdjuster->kernelGlobalToLocal(celRect.right, celRect.bottom, planeObj);
+ break;
}
+ default:
+ break;
+ }
if (lookupSelector(_segMan, objectReference, SELECTOR(nsTop), NULL, NULL) == kSelectorVariable) {
writeSelectorValue(_segMan, objectReference, SELECTOR(nsLeft), celRect.left);
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