diff options
author | Johannes Schickel | 2009-06-08 02:26:33 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-06-08 02:26:33 +0000 |
commit | b85b40883816751106831966f5b9a89ba6a4a753 (patch) | |
tree | 21d9a4fc064522fc0640848c5488739e3427c349 /engines | |
parent | ed46e223eba88574ec7e58555db933326dd69870 (diff) | |
download | scummvm-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.cpp | 20 | ||||
-rw-r--r-- | engines/kyra/screen_v2.cpp | 3 |
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) { |