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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Tue Oct 13 18:18:17 CEST 2009


Revision: 45027
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45027&view=rev
Author:   m_kiewitz
Date:     2009-10-13 16:18:17 +0000 (Tue, 13 Oct 2009)

Log Message:
-----------
SCI/newgui: kSetPort() now also supporting 7 parameters

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

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2009-10-13 15:57:40 UTC (rev 45026)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2009-10-13 16:18:17 UTC (rev 45027)
@@ -1224,6 +1224,7 @@
 	uint16 portPtr;
 	Common::Rect picRect;
 	int16 picTop, picLeft;
+	bool initPriorityBandsFlag = false;
 
 	switch (argc) {
 	case 1:
@@ -1231,15 +1232,17 @@
 		s->_gui->setPort(portPtr);
 		break;
 
+	case 7:
+		initPriorityBandsFlag = true;
 	case 4:
 	case 6:
 		picRect.top = argv[0].toSint16();
 		picRect.left = argv[1].toSint16();
 		picRect.bottom = argv[2].toSint16();
 		picRect.right = argv[3].toSint16();
-		picTop = (argc == 6) ? argv[4].toSint16() : 0;
-		picLeft = (argc == 6) ? argv[5].toSint16() : 0;
-		s->_gui->setPortPic(picRect, picTop, picLeft);
+		picTop = (argc >= 6) ? argv[4].toSint16() : 0;
+		picLeft = (argc >= 6) ? argv[5].toSint16() : 0;
+		s->_gui->setPortPic(picRect, picTop, picLeft, initPriorityBandsFlag);
 		break;
 
 	default:

Modified: scummvm/trunk/engines/sci/gui/gui.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui.cpp	2009-10-13 15:57:40 UTC (rev 45026)
+++ scummvm/trunk/engines/sci/gui/gui.cpp	2009-10-13 16:18:17 UTC (rev 45027)
@@ -72,15 +72,19 @@
 }
 
 void SciGui::init(bool usesOldGfxFunctions) {
-	// Initialize priority bands
-	if (usesOldGfxFunctions) {
+	_usesOldGfxFunctions = usesOldGfxFunctions;
+
+	initPriorityBands();
+}
+
+void SciGui::initPriorityBands() {
+	if (_usesOldGfxFunctions) {
 		_gfx->PriorityBandsInit(15, 42, 200);
 	} else {
 		_gfx->PriorityBandsInit(14, 42, 190);
 	}
 }
 
-
 void SciGui::wait(int16 ticks) {
 	uint32 time;
 
@@ -110,12 +114,12 @@
 	};
 }
 
-void SciGui::setPortPic(Common::Rect rect, int16 picTop, int16 picLeft) {
+void SciGui::setPortPic(Common::Rect rect, int16 picTop, int16 picLeft, bool initPriorityBandsFlag) {
 	_windowMgr->_picWind->rect = rect;
 	_windowMgr->_picWind->top = picTop;
 	_windowMgr->_picWind->left = picLeft;
-	//if (argc >= 7)
-		//InitPri(42,190);
+	if (initPriorityBandsFlag)
+		initPriorityBands();
 }
 
 reg_t SciGui::getPort() {

Modified: scummvm/trunk/engines/sci/gui/gui.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui.h	2009-10-13 15:57:40 UTC (rev 45026)
+++ scummvm/trunk/engines/sci/gui/gui.h	2009-10-13 16:18:17 UTC (rev 45027)
@@ -49,7 +49,7 @@
 
 	virtual void wait(int16 ticks);
 	virtual void setPort(uint16 portPtr);
-	virtual void setPortPic(Common::Rect rect, int16 picTop, int16 picLeft);
+	virtual void setPortPic(Common::Rect rect, int16 picTop, int16 picLeft, bool initPriorityBandsFlag);
 	virtual reg_t getPort();
 	virtual void globalToLocal(int16 *x, int16 *y);
 	virtual void localToGlobal(int16 *x, int16 *y);
@@ -115,6 +115,8 @@
 	virtual void resetEngineState(EngineState *s);
 
 private:
+	virtual void initPriorityBands();
+
 	EngineState *_s;
 	SciGuiScreen *_screen;
 	SciGuiPalette *_palette;
@@ -123,8 +125,9 @@
 	SciGuiresources *_resources;
 	SciGuiWindowMgr *_windowMgr;
 	SciGuiAnimate *_animate;
+// 	SciGui32 *_gui32; // for debug purposes
 
-// 	SciGui32 *_gui32; // for debug purposes
+	bool _usesOldGfxFunctions;
 };
 
 } // End of namespace Sci

Modified: scummvm/trunk/engines/sci/gui32/gui32.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui32/gui32.cpp	2009-10-13 15:57:40 UTC (rev 45026)
+++ scummvm/trunk/engines/sci/gui32/gui32.cpp	2009-10-13 16:18:17 UTC (rev 45027)
@@ -118,7 +118,7 @@
 	s->port = new_port;
 }
 
-void SciGui32::setPortPic(Common::Rect rect, int16 picTop, int16 picLeft) {
+void SciGui32::setPortPic(Common::Rect rect, int16 picTop, int16 picLeft, bool initPriorityBandsFlag) {
 	if (activated_icon_bar) {
 		port_origin_x = port_origin_y = 0;
 		activated_icon_bar = false;

Modified: scummvm/trunk/engines/sci/gui32/gui32.h
===================================================================
--- scummvm/trunk/engines/sci/gui32/gui32.h	2009-10-13 15:57:40 UTC (rev 45026)
+++ scummvm/trunk/engines/sci/gui32/gui32.h	2009-10-13 16:18:17 UTC (rev 45027)
@@ -39,7 +39,7 @@
 
 	void wait(int16 ticks);
 	void setPort(uint16 portPtr);
-	void setPortPic(Common::Rect rect, int16 picTop, int16 picLeft);
+	void setPortPic(Common::Rect rect, int16 picTop, int16 picLeft, bool initPriorityBandsFlag);
 	reg_t getPort();
 	void globalToLocal(int16 *x, int16 *y);
 	void localToGlobal(int16 *x, int16 *y);


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