aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/frameout.cpp
diff options
context:
space:
mode:
authorColin Snover2017-07-03 15:26:24 -0500
committerColin Snover2017-07-06 19:12:37 -0500
commit35346bc71bbe8dd122e8167d6850e1fdc3280038 (patch)
tree496a685c9fa50eb085d7be32f28f65af4ea4d976 /engines/sci/graphics/frameout.cpp
parent1466fb247e9f24bfcc61e977e71602fadf26c148 (diff)
downloadscummvm-rg350-35346bc71bbe8dd122e8167d6850e1fdc3280038.tar.gz
scummvm-rg350-35346bc71bbe8dd122e8167d6850e1fdc3280038.tar.bz2
scummvm-rg350-35346bc71bbe8dd122e8167d6850e1fdc3280038.zip
SCI32: Update mouse position for rendering in all frameOuts
Diffstat (limited to 'engines/sci/graphics/frameout.cpp')
-rw-r--r--engines/sci/graphics/frameout.cpp10
1 files changed, 3 insertions, 7 deletions
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);