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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sun Jan 10 09:55:19 CET 2010


Revision: 47217
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47217&view=rev
Author:   m_kiewitz
Date:     2010-01-10 08:55:19 +0000 (Sun, 10 Jan 2010)

Log Message:
-----------
SCI: switching to hires kDrawCel when 8th parameter is passed, fixed kDrawCel port adjust - fixes kq6 hires inventory

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kgraphics.cpp
    scummvm/trunk/engines/sci/graphics/gfx.cpp
    scummvm/trunk/engines/sci/graphics/gui.cpp
    scummvm/trunk/engines/sci/graphics/gui.h

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-01-10 04:04:51 UTC (rev 47216)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-01-10 08:55:19 UTC (rev 47217)
@@ -910,9 +910,10 @@
 	uint16 y = argv[4].toUint16();
 	int16 priority = (argc > 5) ? argv[5].toSint16()  : -1;
 	uint16 paletteNo = (argc > 6) ? argv[6].toUint16() : 0;
+	bool hiresMode = (argc > 7) ? true : false;
 	reg_t upscaledHiresHandle = (argc > 7) ? argv[7] : NULL_REG;
 
-	s->_gui->drawCel(viewId, loopNo, celNo, x, y, priority, paletteNo, upscaledHiresHandle);
+	s->_gui->drawCel(viewId, loopNo, celNo, x, y, priority, paletteNo, hiresMode, upscaledHiresHandle);
 
 	return s->r_acc;
 }

Modified: scummvm/trunk/engines/sci/graphics/gfx.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/gfx.cpp	2010-01-10 04:04:51 UTC (rev 47216)
+++ scummvm/trunk/engines/sci/graphics/gfx.cpp	2010-01-10 08:55:19 UTC (rev 47217)
@@ -386,6 +386,7 @@
 void Gfx::drawHiresCelAndShow(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, byte priority, uint16 paletteNo, uint16 scaleX, uint16 scaleY) {
 	View *view = getView(viewId);
 	Common::Rect celRect, curPortRect, clipRect, clipRectTranslated;
+	Common::Point curPortPos;
 	
 	if (view) {
 		celRect.left = leftPos;
@@ -402,8 +403,9 @@
 			return;
 
 		clipRectTranslated = clipRect;
-		clipRectTranslated.top += curPortRect.top; clipRectTranslated.bottom += curPortRect.top;
-		clipRectTranslated.left += curPortRect.left; clipRectTranslated.right += curPortRect.left;
+		curPortPos.x = _curPort->left * 2; curPortPos.y = _curPort->top * 2;
+		clipRectTranslated.top += curPortPos.y; clipRectTranslated.bottom += curPortPos.y;
+		clipRectTranslated.left += curPortPos.x; clipRectTranslated.right += curPortPos.x;
 
 		view->draw(celRect, clipRect, clipRectTranslated, loopNo, celNo, priority, paletteNo, true, scaleX, scaleY);
 		if (!_screen->_picNotValidSci11) {

Modified: scummvm/trunk/engines/sci/graphics/gui.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/gui.cpp	2010-01-10 04:04:51 UTC (rev 47216)
+++ scummvm/trunk/engines/sci/graphics/gui.cpp	2010-01-10 08:55:19 UTC (rev 47217)
@@ -368,8 +368,8 @@
 	_gfx->SetPort(oldPort);
 }
 
-void SciGui::drawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, reg_t upscaledHiresHandle) {
-	if (upscaledHiresHandle.isNull()) {
+void SciGui::drawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode, reg_t upscaledHiresHandle) {
+	if (!hiresMode) {
 		_gfx->drawCelAndShow(viewId, loopNo, celNo, leftPos, topPos, priority, paletteNo);
 	} else {
 		if ((leftPos == 0) && (topPos == 0)) {

Modified: scummvm/trunk/engines/sci/graphics/gui.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/gui.h	2010-01-10 04:04:51 UTC (rev 47216)
+++ scummvm/trunk/engines/sci/graphics/gui.h	2010-01-10 08:55:19 UTC (rev 47217)
@@ -88,7 +88,7 @@
 	virtual reg_t menuSelect(reg_t eventObject);
 
 	virtual void drawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
-	virtual void drawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, reg_t upscaledHiresHandle = NULL_REG);
+	virtual void drawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode = false, reg_t upscaledHiresHandle = NULL_REG);
 	virtual void drawControlButton(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 style, bool hilite);
 	virtual void drawControlText(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 alignment, int16 style, bool hilite);
 	virtual void drawControlTextEdit(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 mode, int16 style, int16 cursorPos, int16 maxChars, bool hilite);


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