aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/tattoo
diff options
context:
space:
mode:
authorPaul Gilbert2015-07-31 08:33:19 -0400
committerPaul Gilbert2015-07-31 08:33:19 -0400
commit803969b928f85254e4518c44f20455ab0fdd7065 (patch)
treebc86fe24e80d2a10a03194f54def5fbca4906529 /engines/sherlock/tattoo
parent6cf0bfe6d52a9c0f02cad3076970f38818a22f06 (diff)
downloadscummvm-rg350-803969b928f85254e4518c44f20455ab0fdd7065.tar.gz
scummvm-rg350-803969b928f85254e4518c44f20455ab0fdd7065.tar.bz2
scummvm-rg350-803969b928f85254e4518c44f20455ab0fdd7065.zip
SHERLOCK: RT: Fix rendering of of scene masks
Diffstat (limited to 'engines/sherlock/tattoo')
-rw-r--r--engines/sherlock/tattoo/tattoo_user_interface.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/sherlock/tattoo/tattoo_user_interface.cpp b/engines/sherlock/tattoo/tattoo_user_interface.cpp
index 77f2dc60df..36f00f31b2 100644
--- a/engines/sherlock/tattoo/tattoo_user_interface.cpp
+++ b/engines/sherlock/tattoo/tattoo_user_interface.cpp
@@ -655,7 +655,9 @@ void TattooUserInterface::doBgAnimEraseBackground() {
static const int16 OFFSETS[16] = { -1, -2, -3, -3, -2, -1, -1, 0, 1, 2, 3, 3, 2, 1, 0, 0 };
if (_mask != nullptr) {
- screen.slamArea(0, 0, SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT);
+ // Since a mask is active, restore the screen from the secondary back buffer prior to applying the mask
+ screen._backBuffer1.blitFrom(screen._backBuffer2, screen._currentScroll, Common::Rect(screen._currentScroll.x, 0,
+ screen._currentScroll.x + SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT));
switch (scene._currentScene) {
case 7: