[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