aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJohannes Schickel2009-06-08 02:26:33 +0000
committerJohannes Schickel2009-06-08 02:26:33 +0000
commitb85b40883816751106831966f5b9a89ba6a4a753 (patch)
tree21d9a4fc064522fc0640848c5488739e3427c349 /engines
parented46e223eba88574ec7e58555db933326dd69870 (diff)
downloadscummvm-rg350-b85b40883816751106831966f5b9a89ba6a4a753.tar.gz
scummvm-rg350-b85b40883816751106831966f5b9a89ba6a4a753.tar.bz2
scummvm-rg350-b85b40883816751106831966f5b9a89ba6a4a753.zip
- Fix Screen_v2::wsaFrameAnimationStep, now the MR album and LoL intro demo WSAs will be correctly played
- Made album page change in MR a bit slower, so it's visible at least svn-id: r41362
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/gui_mr.cpp20
-rw-r--r--engines/kyra/screen_v2.cpp3
2 files changed, 13 insertions, 10 deletions
diff --git a/engines/kyra/gui_mr.cpp b/engines/kyra/gui_mr.cpp
index 19c17b9504..c4d804c14d 100644
--- a/engines/kyra/gui_mr.cpp
+++ b/engines/kyra/gui_mr.cpp
@@ -979,25 +979,25 @@ void KyraEngine_MR::albumSwitchPages(int oldPage, int newPage, int srcPage) {
_screen->copyRegion(260, 7, 260, 7, 50, 186, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->wsaFrameAnimationStep(0xA0, 0x07, 0xA0, 0x07, 0x96, 0xBA, 0x32, 0xBA, srcPage, 0, 2);
_screen->copyRegion(210, 7, 210, 7, 50, 186, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->copyRegion(160, 7, 160, 7, 50, 186, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->wsaFrameAnimationStep(0x10, 0x07, 0x6E, 0x07, 0x96, 0xBA, 0x32, 0xBA, 2, 0, 2);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->wsaFrameAnimationStep(0x10, 0x07, 0x3C, 0x07, 0x96, 0xBA, 0x64, 0xBA, 2, 0, 2);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->copyRegion(10, 7, 10, 7, 150, 186, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
@@ -1006,25 +1006,25 @@ void KyraEngine_MR::albumSwitchPages(int oldPage, int newPage, int srcPage) {
_screen->copyRegion(10, 7, 10, 7, 50, 186, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->wsaFrameAnimationStep(0x0A, 0x07, 0x6E, 0x07, 0x96, 0xBA, 0x32, 0xBA, srcPage, 0, 2);
_screen->copyRegion(60, 7, 60, 7, 50, 186, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->copyRegion(110, 7, 110, 7, 50, 186, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->wsaFrameAnimationStep(0xA0, 0x07, 0xA0, 0x07, 0x96, 0xBA, 0x32, 0xBA, 2, 0, 2);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->wsaFrameAnimationStep(0xA0, 0x07, 0xA0, 0x07, 0x96, 0xBA, 0x64, 0xBA, 2, 0, 2);
_screen->updateScreen();
- delayWithTicks(1);
+ delayWithTicks(2);
_screen->copyRegion(160, 7, 160, 7, 150, 186, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
diff --git a/engines/kyra/screen_v2.cpp b/engines/kyra/screen_v2.cpp
index e72321346f..a4e014e8c1 100644
--- a/engines/kyra/screen_v2.cpp
+++ b/engines/kyra/screen_v2.cpp
@@ -428,6 +428,9 @@ void Screen_v2::wsaFrameAnimationStep(int x1, int y1, int x2, int y2,
memcpy(dst + x2 + cdm.sx, _wsaFrameAnimBuffer + na, w2);
dst += 320;
} while (++nb < h2);
+
+ if (!dstPage)
+ addDirtyRect(x2, y2, w2, h2);
}
bool Screen_v2::calcBounds(int w0, int h0, int &x1, int &y1, int &w1, int &h1, int &x2, int &y2, int &w2) {