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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Thu Feb 4 21:02:48 CET 2010


Revision: 47885
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47885&view=rev
Author:   m_kiewitz
Date:     2010-02-04 20:02:48 +0000 (Thu, 04 Feb 2010)

Log Message:
-----------
SCI: putting kDrawCel info GfxPaint class, debug is using GfxPaint class as well for drawing cels

Modified Paths:
--------------
    scummvm/trunk/engines/sci/console.cpp
    scummvm/trunk/engines/sci/engine/kgraphics.cpp
    scummvm/trunk/engines/sci/graphics/gui.cpp
    scummvm/trunk/engines/sci/graphics/gui.h
    scummvm/trunk/engines/sci/graphics/paint.cpp
    scummvm/trunk/engines/sci/graphics/paint.h
    scummvm/trunk/engines/sci/graphics/paint16.cpp
    scummvm/trunk/engines/sci/graphics/paint16.h
    scummvm/trunk/engines/sci/graphics/paint32.cpp
    scummvm/trunk/engines/sci/graphics/paint32.h

Modified: scummvm/trunk/engines/sci/console.cpp
===================================================================
--- scummvm/trunk/engines/sci/console.cpp	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/console.cpp	2010-02-04 20:02:48 UTC (rev 47885)
@@ -1093,7 +1093,7 @@
 	uint16 loopNo = atoi(argv[2]);
 	uint16 celNo = atoi(argv[3]);
 
-	_engine->_gamestate->_gui->drawCel(resourceId, loopNo, celNo, 50, 50, 0, 0);
+	_engine->_gamestate->_gfxPaint->kernelDrawCel(resourceId, loopNo, celNo, 50, 50, 0, 0, false, NULL_REG);
 	return true;
 }
 

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-02-04 20:02:48 UTC (rev 47885)
@@ -1044,7 +1044,7 @@
 			priority = 15;
 	}
 
-	s->_gui->drawCel(viewId, loopNo, celNo, x, y, priority, paletteNo, hiresMode, upscaledHiresHandle);
+	s->_gfxPaint16->kernelDrawCel(viewId, loopNo, celNo, x, y, priority, paletteNo, hiresMode, upscaledHiresHandle);
 
 	return s->r_acc;
 }

Modified: scummvm/trunk/engines/sci/graphics/gui.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/gui.cpp	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/graphics/gui.cpp	2010-02-04 20:02:48 UTC (rev 47885)
@@ -276,16 +276,6 @@
 	}
 }
 
-void SciGui::drawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode, reg_t upscaledHiresHandle) {
-	// some calls are hiresMode even under kq6 DOS, that's why we check for upscaled hires here
-	if ((!hiresMode) || (!_screen->getUpscaledHires())) {
-		_paint16->drawCelAndShow(viewId, loopNo, celNo, leftPos, topPos, priority, paletteNo);
-	} else {
-		_paint16->drawHiresCelAndShow(viewId, loopNo, celNo, leftPos, topPos, priority, paletteNo, upscaledHiresHandle);
-	}
-	_palette->setOnScreen();
-}
-
 void SciGui::graphFillBoxForeground(Common::Rect rect) {
 	_paint16->paintRect(rect);
 }

Modified: scummvm/trunk/engines/sci/graphics/gui.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/gui.h	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/graphics/gui.h	2010-02-04 20:02:48 UTC (rev 47885)
@@ -76,8 +76,6 @@
 	virtual void drawStatus(const char *text, int16 colorPen, int16 colorBack);
 	virtual void drawMenuBar(bool clear);
 
-	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 graphFillBoxForeground(Common::Rect rect);
 	virtual void graphFillBoxBackground(Common::Rect rect);
 	virtual void graphFillBox(Common::Rect rect, uint16 colorMask, int16 color, int16 priority, int16 control);

Modified: scummvm/trunk/engines/sci/graphics/paint.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint.cpp	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/graphics/paint.cpp	2010-02-04 20:02:48 UTC (rev 47885)
@@ -43,4 +43,7 @@
 void GfxPaint::kernelDrawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) {
 }
 
+void GfxPaint::kernelDrawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode, reg_t upscaledHiresHandle) {
+}
+
 } // End of namespace Sci

Modified: scummvm/trunk/engines/sci/graphics/paint.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint.h	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/graphics/paint.h	2010-02-04 20:02:48 UTC (rev 47885)
@@ -38,6 +38,7 @@
 	virtual ~GfxPaint();
 
 	virtual void kernelDrawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
+	virtual void kernelDrawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode, reg_t upscaledHiresHandle);
 
 private:
 };

Modified: scummvm/trunk/engines/sci/graphics/paint16.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint16.cpp	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/graphics/paint16.cpp	2010-02-04 20:02:48 UTC (rev 47885)
@@ -346,4 +346,14 @@
 	_ports->setPort(oldPort);
 }
 
+void GfxPaint16::kernelDrawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode, reg_t upscaledHiresHandle) {
+	// some calls are hiresMode even under kq6 DOS, that's why we check for upscaled hires here
+	if ((!hiresMode) || (!_screen->getUpscaledHires())) {
+		drawCelAndShow(viewId, loopNo, celNo, leftPos, topPos, priority, paletteNo);
+	} else {
+		drawHiresCelAndShow(viewId, loopNo, celNo, leftPos, topPos, priority, paletteNo, upscaledHiresHandle);
+	}
+	_palette->setOnScreen();
+}
+
 } // End of namespace Sci

Modified: scummvm/trunk/engines/sci/graphics/paint16.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint16.h	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/graphics/paint16.h	2010-02-04 20:02:48 UTC (rev 47885)
@@ -70,6 +70,7 @@
 	void bitsFree(reg_t memoryHandle);
 
 	void kernelDrawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
+	void kernelDrawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode, reg_t upscaledHiresHandle);
 
 private:
 	ResourceManager *_resMan;

Modified: scummvm/trunk/engines/sci/graphics/paint32.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint32.cpp	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/graphics/paint32.cpp	2010-02-04 20:02:48 UTC (rev 47885)
@@ -63,4 +63,15 @@
 	delete picture;
 }
 
+// This is "hacked" together, because its only used by debug command
+void GfxPaint32::kernelDrawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode, reg_t upscaledHiresHandle) {
+	View *view = _cache->getView(viewId);
+	Common::Rect celRect(50, 50, 50, 50);
+	Common::Rect translatedRect;
+	celRect.bottom += view->getHeight(loopNo, celNo);
+	celRect.right += view->getWidth(loopNo, celNo);
+	view->draw(celRect, celRect, celRect, loopNo, celNo, 255, 0, false);
+	_screen->copyRectToScreen(celRect);
+}
+
 } // End of namespace Sci

Modified: scummvm/trunk/engines/sci/graphics/paint32.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint32.h	2010-02-04 19:33:36 UTC (rev 47884)
+++ scummvm/trunk/engines/sci/graphics/paint32.h	2010-02-04 20:02:48 UTC (rev 47885)
@@ -43,6 +43,7 @@
 	void fillRect(Common::Rect rect, byte color);
 
 	void kernelDrawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
+	void kernelDrawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode, reg_t upscaledHiresHandle);
 
 private:
 	ResourceManager *_resMan;


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