aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJohannes Schickel2008-03-20 12:29:35 +0000
committerJohannes Schickel2008-03-20 12:29:35 +0000
commitcb22a83034c159e3f26f65a53164f8d913fe62e7 (patch)
tree62670a29705ddfddad7e369139a654a9b0388589 /engines
parent91a33d4d63dc0ac6bd39ff7f040caf065e011fcc (diff)
downloadscummvm-rg350-cb22a83034c159e3f26f65a53164f8d913fe62e7.tar.gz
scummvm-rg350-cb22a83034c159e3f26f65a53164f8d913fe62e7.tar.bz2
scummvm-rg350-cb22a83034c159e3f26f65a53164f8d913fe62e7.zip
- made Screen_v2::applyOverlay support dirty rect handling
- fixed copyRegion flags in KyraEngine_v2::scrollInventoryWheel svn-id: r31206
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/gui_v2.cpp4
-rw-r--r--engines/kyra/screen_v2.cpp3
2 files changed, 5 insertions, 2 deletions
diff --git a/engines/kyra/gui_v2.cpp b/engines/kyra/gui_v2.cpp
index ba73be52d7..6b472a66ad 100644
--- a/engines/kyra/gui_v2.cpp
+++ b/engines/kyra/gui_v2.cpp
@@ -740,7 +740,7 @@ void KyraEngine_v2::scrollInventoryWheel() {
uint8 overlay[0x100];
_screen->generateOverlay(_screen->getPalette(0), overlay, 0, 50);
_screen->hideMouse();
- _screen->copyRegion(0x46, 0x90, 0x46, 0x79, 0x71, 0x17, 0, 2);
+ _screen->copyRegion(0x46, 0x90, 0x46, 0x79, 0x71, 0x17, 0, 2, Screen::CR_NO_P_CHECK);
_screen->showMouse();
snd_playSoundEffect(0x25);
@@ -766,7 +766,7 @@ void KyraEngine_v2::scrollInventoryWheel() {
}
_screen->applyOverlay(0x46, 0x79, 0x71, 0x17, 2, overlay);
- _screen->copyRegion(0x46, y+0x79, 0x46, 0x90, 0x71, 0x2E, 2, 0);
+ _screen->copyRegion(0x46, y+0x79, 0x46, 0x90, 0x71, 0x2E, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
delayUntil(endTime);
diff --git a/engines/kyra/screen_v2.cpp b/engines/kyra/screen_v2.cpp
index a76c764765..ba17fbca39 100644
--- a/engines/kyra/screen_v2.cpp
+++ b/engines/kyra/screen_v2.cpp
@@ -152,6 +152,9 @@ uint8 *Screen_v2::generateOverlay(const uint8 *palette, uint8 *buffer, int start
}
void Screen_v2::applyOverlay(int x, int y, int w, int h, int pageNum, const uint8 *overlay) {
+ if (pageNum == 0 || pageNum == 1)
+ addDirtyRect(x, y, w, h);
+
uint8 *dst = getPagePtr(pageNum) + y * 320 + x;
while (h--) {
for (int wi = 0; wi < w; ++wi) {