From 35346bc71bbe8dd122e8167d6850e1fdc3280038 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Mon, 3 Jul 2017 15:26:24 -0500 Subject: SCI32: Update mouse position for rendering in all frameOuts --- engines/sci/graphics/frameout.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'engines/sci/graphics/frameout.cpp') diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp index 390cc81779..80800da074 100644 --- a/engines/sci/graphics/frameout.cpp +++ b/engines/sci/graphics/frameout.cpp @@ -390,13 +390,7 @@ void GfxFrameout::kernelAddPicAt(const reg_t planeObject, const GuiResourceId pi #pragma mark Rendering void GfxFrameout::frameOut(const bool shouldShowBits, const Common::Rect &eraseRect) { - // In SSCI, mouse events were received via hardware interrupt, so the mouse - // cursor would always get updated whenever the user moved the mouse. Since - // we must poll for mouse events instead, poll here so that the mouse gets - // updated with its current position at render time. If we do not do this, - // the mouse gets "stuck" during loops that do not make calls to kGetEvent, - // like transitions. - g_sci->getEventManager()->getSciEvent(SCI_EVENT_PEEK); + updateMousePositionForRendering(); RobotDecoder &robotPlayer = g_sci->_video32->getRobotPlayer(); const bool robotIsActive = robotPlayer.getStatus() != RobotDecoder::kRobotStatusUninitialized; @@ -452,6 +446,8 @@ void GfxFrameout::frameOut(const bool shouldShowBits, const Common::Rect &eraseR } void GfxFrameout::palMorphFrameOut(const int8 *styleRanges, PlaneShowStyle *showStyle) { + updateMousePositionForRendering(); + Palette sourcePalette(_palette->getNextPalette()); alterVmap(sourcePalette, sourcePalette, -1, styleRanges); -- cgit v1.2.3