From 803969b928f85254e4518c44f20455ab0fdd7065 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 31 Jul 2015 08:33:19 -0400 Subject: SHERLOCK: RT: Fix rendering of of scene masks --- engines/sherlock/tattoo/tattoo_user_interface.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'engines/sherlock/tattoo/tattoo_user_interface.cpp') 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: -- cgit v1.2.3