[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