From 7a4d4ac29d27cc52728cabf22ac0c968a4570dfc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 30 Jul 2015 20:48:20 -0400 Subject: SHERLOCK: RT: Fix flickering tooltips in scenes with a mask --- engines/sherlock/tattoo/tattoo_scene.cpp | 10 +++++++--- engines/sherlock/tattoo/tattoo_user_interface.cpp | 7 ------- 2 files changed, 7 insertions(+), 10 deletions(-) (limited to 'engines') diff --git a/engines/sherlock/tattoo/tattoo_scene.cpp b/engines/sherlock/tattoo/tattoo_scene.cpp index 1ecc997f42..f851a0ac05 100644 --- a/engines/sherlock/tattoo/tattoo_scene.cpp +++ b/engines/sherlock/tattoo/tattoo_scene.cpp @@ -368,9 +368,6 @@ void TattooScene::doBgAnim() { if (ui._creditsWidget.active()) ui._creditsWidget.blitCredits(); - if (!vm._fastMode) - events.wait(3); - if (screen._flushScreen) { screen.slamArea(screen._currentScroll.x, screen._currentScroll.y, SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT); screen._flushScreen = false; @@ -380,6 +377,13 @@ void TattooScene::doBgAnim() { _doBgAnimDone = true; ui._drawMenu = false; + // Handle drawing the text tooltip if necessary + if (ui._menuMode == STD_MODE || ui._menuMode == LAB_MODE) + ui._tooltipWidget.draw(); + + if (!vm._fastMode) + events.wait(3); + for (int idx = 1; idx < MAX_CHARACTERS; ++idx) { if (people[idx]._updateNPCPath) people[idx].updateNPC(); diff --git a/engines/sherlock/tattoo/tattoo_user_interface.cpp b/engines/sherlock/tattoo/tattoo_user_interface.cpp index e8756a7f3e..b5ac998103 100644 --- a/engines/sherlock/tattoo/tattoo_user_interface.cpp +++ b/engines/sherlock/tattoo/tattoo_user_interface.cpp @@ -321,13 +321,6 @@ void TattooUserInterface::drawInterface(int bufferNum) { // Bring the widgets to the screen if (_mask != nullptr) screen._flushScreen = true; - - if (screen._flushScreen) - screen.blockMove(); - - // Handle drawing the text tooltip if necessary - if (_menuMode == STD_MODE || _menuMode == LAB_MODE) - _tooltipWidget.draw(); } void TattooUserInterface::doBgAnimRestoreUI() { -- cgit v1.2.3