[Scummvm-cvs-logs] SF.net SVN: scummvm:[45089] scummvm/trunk/engines/sci
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Wed Oct 14 20:09:59 CEST 2009
Revision: 45089
http://scummvm.svn.sourceforge.net/scummvm/?rev=45089&view=rev
Author: m_kiewitz
Date: 2009-10-14 18:09:54 +0000 (Wed, 14 Oct 2009)
Log Message:
-----------
SCI: kDrawPic now reads out blackout flag for transitions
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/gui/gui_transitions.cpp
scummvm/trunk/engines/sci/gui/gui_transitions.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-14 18:03:47 UTC (rev 45088)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp 2009-10-14 18:09:54 UTC (rev 45089)
@@ -500,20 +500,24 @@
void _k_view_list_free_backgrounds(EngineState *s, ViewObject *list, int list_nr);
-#define K_DRAWPIC_FLAG_MIRRORED (1 << 14)
+#define K_DRAWPIC_FLAGS_MIRRORED (1 << 14)
+#define K_DRAWPIC_FLAGS_ANIMATIONBLACKOUT (1 << 15)
reg_t kDrawPic(EngineState *s, int argc, reg_t *argv) {
GuiResourceId pictureId = argv[0].toUint16();
uint16 flags = 0;
int16 animationNr = -1;
+ bool animationBlackoutFlag = false;
bool mirroredFlag = false;
bool addToFlag = false;
int16 EGApaletteNo = 0; // default needs to be 0
if (argc >= 2) {
flags = argv[1].toUint16();
+ if (flags & K_DRAWPIC_FLAGS_ANIMATIONBLACKOUT)
+ animationBlackoutFlag = true;
animationNr = flags & 0xFF;
- if (flags & K_DRAWPIC_FLAG_MIRRORED)
+ if (flags & K_DRAWPIC_FLAGS_MIRRORED)
mirroredFlag = true;
}
if (argc >= 3) {
@@ -525,7 +529,7 @@
if (argc >= 4)
EGApaletteNo = argv[3].toUint16();
- s->_gui->drawPicture(pictureId, animationNr, mirroredFlag, addToFlag, EGApaletteNo);
+ s->_gui->drawPicture(pictureId, animationNr, animationBlackoutFlag, mirroredFlag, addToFlag, EGApaletteNo);
return s->r_acc;
}
Modified: scummvm/trunk/engines/sci/gui/gui.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui.cpp 2009-10-14 18:03:47 UTC (rev 45088)
+++ scummvm/trunk/engines/sci/gui/gui.cpp 2009-10-14 18:09:54 UTC (rev 45089)
@@ -300,13 +300,13 @@
// TODO: Implement menubar
}
-void SciGui::drawPicture(GuiResourceId pictureId, int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) {
+void SciGui::drawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) {
GuiPort *oldPort = _gfx->SetPort((GuiPort *)_windowMgr->_picWind);
if (_windowMgr->isFrontWindow(_windowMgr->_picWind)) {
_screen->_picNotValid = 1;
_gfx->drawPicture(pictureId, animationNr, mirroredFlag, addToFlag, EGApaletteNo);
- _transitions->setup(animationNr);
+ _transitions->setup(animationNr, animationBlackoutFlag);
} else {
_windowMgr->BeginUpdate(_windowMgr->_picWind);
_gfx->drawPicture(pictureId, animationNr, mirroredFlag, addToFlag, EGApaletteNo);
Modified: scummvm/trunk/engines/sci/gui/gui.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui.h 2009-10-14 18:03:47 UTC (rev 45088)
+++ scummvm/trunk/engines/sci/gui/gui.h 2009-10-14 18:09:54 UTC (rev 45089)
@@ -80,7 +80,7 @@
virtual void drawStatus(const char *text, int16 colorPen, int16 colorBack);
virtual void drawMenuBar();
virtual void clearMenuBar();
- virtual void drawPicture(GuiResourceId pictureId, int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
+ virtual void drawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
virtual void drawCel(GuiResourceId viewId, GuiViewLoopNo loopNo, GuiViewCelNo celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo);
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 mode, int16 style, bool hilite);
Modified: scummvm/trunk/engines/sci/gui/gui_transitions.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_transitions.cpp 2009-10-14 18:03:47 UTC (rev 45088)
+++ scummvm/trunk/engines/sci/gui/gui_transitions.cpp 2009-10-14 18:09:54 UTC (rev 45089)
@@ -50,8 +50,9 @@
_oldScreen = new byte[_screen->_displayHeight * _screen->_displayWidth];
}
-void SciGuiTransitions::setup(int16 number) {
+void SciGuiTransitions::setup(int16 number, bool blackoutFlag) {
_number = number;
+ _blackoutFlag = blackoutFlag;
}
void SciGuiTransitions::doit(Common::Rect picRect) {
Modified: scummvm/trunk/engines/sci/gui/gui_transitions.h
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_transitions.h 2009-10-14 18:03:47 UTC (rev 45088)
+++ scummvm/trunk/engines/sci/gui/gui_transitions.h 2009-10-14 18:09:54 UTC (rev 45089)
@@ -62,7 +62,7 @@
SciGuiTransitions(SciGui *gui, SciGuiScreen *screen, SciGuiPalette *palette, bool isVGA);
~SciGuiTransitions();
- void setup(int16 number);
+ void setup(int16 number, bool blackoutFlag);
void doit(Common::Rect picRect);
private:
@@ -81,6 +81,7 @@
bool _isVGA;
int16 _number;
+ bool _blackoutFlag;
Common::Rect _picRect;
byte *_oldScreen; // buffer for saving current active screen data to, has dimenions of _screen->_displayScreen
};
Modified: scummvm/trunk/engines/sci/gui32/gui32.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui32/gui32.cpp 2009-10-14 18:03:47 UTC (rev 45088)
+++ scummvm/trunk/engines/sci/gui32/gui32.cpp 2009-10-14 18:09:54 UTC (rev 45089)
@@ -890,7 +890,7 @@
gfxop_update(_s->gfx_state);
}
-void SciGui32::drawPicture(GuiResourceId pictureId, int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) {
+void SciGui32::drawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) {
gfx_color_t transparent = _s->wm_port->_bgcolor;
int picFlags = DRAWPIC01_FLAG_FILL_NORMALLY;
int palNo = (EGApaletteNo != -1) ? EGApaletteNo : 0;
Modified: scummvm/trunk/engines/sci/gui32/gui32.h
===================================================================
--- scummvm/trunk/engines/sci/gui32/gui32.h 2009-10-14 18:03:47 UTC (rev 45088)
+++ scummvm/trunk/engines/sci/gui32/gui32.h 2009-10-14 18:09:54 UTC (rev 45089)
@@ -58,7 +58,7 @@
void drawStatus(const char *text, int16 colorPen, int16 colorBack);
void drawMenuBar();
void clearMenuBar();
- void drawPicture(GuiResourceId pictureId, int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
+ void drawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
void drawCel(GuiResourceId viewId, GuiViewLoopNo loopNo, GuiViewCelNo celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo);
void drawControlButton(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 style, bool hilite);
void drawControlText(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 mode, int16 style, 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