aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2009-11-03 19:43:21 +0000
committerMartin Kiewitz2009-11-03 19:43:21 +0000
commit7bed008f8eeb6b47282ee7eeb43c89aa4fb4f9fe (patch)
tree2fa16d065efea9b0989b4ecbc3de6ad8c9fff6cc
parentd758538eaa6a4c6651d4b5b1aabe18228997a25f (diff)
downloadscummvm-rg350-7bed008f8eeb6b47282ee7eeb43c89aa4fb4f9fe.tar.gz
scummvm-rg350-7bed008f8eeb6b47282ee7eeb43c89aa4fb4f9fe.tar.bz2
scummvm-rg350-7bed008f8eeb6b47282ee7eeb43c89aa4fb4f9fe.zip
SCI/newgui: fixes for statusbar and transitions, so menubar shows up in intro of qfg1ega
svn-id: r45635
-rw-r--r--engines/sci/gui/gui.cpp3
-rw-r--r--engines/sci/gui/gui_transitions.cpp8
2 files changed, 8 insertions, 3 deletions
diff --git a/engines/sci/gui/gui.cpp b/engines/sci/gui/gui.cpp
index 62dfbd0d89..5027c0df2c 100644
--- a/engines/sci/gui/gui.cpp
+++ b/engines/sci/gui/gui.cpp
@@ -300,7 +300,8 @@ void SciGui::drawStatus(const char *text, int16 colorPen, int16 colorBack) {
_gfx->PenColor(colorPen);
_gfx->MoveTo(0, 1);
_text->Draw_String(text);
- _gfx->BitsShow(_gfx->_menuRect);
+ if (_screen->_picNotValid == 0)
+ _gfx->BitsShow(_gfx->_menuRect);
_gfx->SetPort(oldPort);
}
diff --git a/engines/sci/gui/gui_transitions.cpp b/engines/sci/gui/gui_transitions.cpp
index 298b29849f..f4c6853bbe 100644
--- a/engines/sci/gui/gui_transitions.cpp
+++ b/engines/sci/gui/gui_transitions.cpp
@@ -309,7 +309,9 @@ void SciGuiTransitions::pixelation (bool blackoutFlag) {
continue;
pixelRect.left = mask % 320; pixelRect.right = pixelRect.left + 1;
pixelRect.top = mask / 320; pixelRect.bottom = pixelRect.top + 1;
- copyRectToScreen(pixelRect, blackoutFlag);
+ pixelRect.clip(_picRect);
+ if (!pixelRect.isEmpty())
+ copyRectToScreen(pixelRect, blackoutFlag);
if ((stepNr & 0x3FF) == 0) {
updateScreenAndWait(5);
}
@@ -329,7 +331,9 @@ void SciGuiTransitions::blocks(bool blackoutFlag) {
continue;
blockRect.left = (mask % 40) << 3; blockRect.right = blockRect.left + 8;
blockRect.top = (mask / 40) << 3; blockRect.bottom = blockRect.top + 8;
- copyRectToScreen(blockRect, blackoutFlag);
+ blockRect.clip(_picRect);
+ if (!blockRect.isEmpty())
+ copyRectToScreen(blockRect, blackoutFlag);
if ((stepNr & 7) == 0) {
updateScreenAndWait(4);
}