aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Göffringmann2003-07-11 22:59:56 +0000
committerRobert Göffringmann2003-07-11 22:59:56 +0000
commitfa921ad6d629937bb348a6296bee68ed5e9cee0e (patch)
tree0c9948302307f9d6658e8d75145d33712b07ef70
parentf89c68c6f19d859a755741ddb0d66255b5f6b69c (diff)
downloadscummvm-rg350-fa921ad6d629937bb348a6296bee68ed5e9cee0e.tar.gz
scummvm-rg350-fa921ad6d629937bb348a6296bee68ed5e9cee0e.tar.bz2
scummvm-rg350-fa921ad6d629937bb348a6296bee68ed5e9cee0e.zip
fixed screen blit during fnDrawScreen
svn-id: r8916
-rw-r--r--sky/screen.cpp7
-rw-r--r--sky/screen.h2
2 files changed, 5 insertions, 4 deletions
diff --git a/sky/screen.cpp b/sky/screen.cpp
index 414d151ede..32bc7ed113 100644
--- a/sky/screen.cpp
+++ b/sky/screen.cpp
@@ -194,7 +194,7 @@ void SkyScreen::recreate(void) {
}
}
-void SkyScreen::flip(void) {
+void SkyScreen::flip(bool doUpdate) {
SkyState::_systemVars.mouseFlag |= MF_NO_UPDATE;
uint8 *screenPos = _currentScreen;
@@ -229,7 +229,8 @@ void SkyScreen::flip(void) {
backPos += (GRID_H - 1) * GAME_SCREEN_WIDTH;
}
SkyState::_systemVars.mouseFlag &= ~MF_NO_UPDATE;
- _system->update_screen();
+ if (doUpdate)
+ _system->update_screen();
}
void SkyScreen::fnDrawScreen(uint32 palette, uint32 scroll) {
@@ -239,7 +240,7 @@ void SkyScreen::fnDrawScreen(uint32 palette, uint32 scroll) {
forceRefresh();
recreate();
spriteEngine();
- flip();
+ flip(false);
fnFadeUp(palette, scroll);
}
diff --git a/sky/screen.h b/sky/screen.h
index a1116b2afd..59ab046266 100644
--- a/sky/screen.h
+++ b/sky/screen.h
@@ -78,7 +78,7 @@ public:
void clearScreen(void);
void recreate(void);
- void flip(void);
+ void flip(bool doUpdate = true);
void spriteEngine(void);