diff options
author | Paul Gilbert | 2015-07-31 08:33:19 -0400 |
---|---|---|
committer | Paul Gilbert | 2015-07-31 08:33:19 -0400 |
commit | 803969b928f85254e4518c44f20455ab0fdd7065 (patch) | |
tree | bc86fe24e80d2a10a03194f54def5fbca4906529 | |
parent | 6cf0bfe6d52a9c0f02cad3076970f38818a22f06 (diff) | |
download | scummvm-rg350-803969b928f85254e4518c44f20455ab0fdd7065.tar.gz scummvm-rg350-803969b928f85254e4518c44f20455ab0fdd7065.tar.bz2 scummvm-rg350-803969b928f85254e4518c44f20455ab0fdd7065.zip |
SHERLOCK: RT: Fix rendering of of scene masks
-rw-r--r-- | engines/sherlock/tattoo/tattoo_user_interface.cpp | 4 |
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: |