aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk
diff options
context:
space:
mode:
authorBastien Bouclet2017-03-18 10:20:37 +0100
committerBastien Bouclet2017-03-18 16:15:09 +0100
commitb7b06e8399c62f72e1e586570da72f8a8f8dced5 (patch)
treef7b5c211dec3ef851bc1177e8aee7cc9cd76bb2f /engines/mohawk
parent060caebf47838b7466cbd44a5aeb13e24641af94 (diff)
downloadscummvm-rg350-b7b06e8399c62f72e1e586570da72f8a8f8dced5.tar.gz
scummvm-rg350-b7b06e8399c62f72e1e586570da72f8a8f8dced5.tar.bz2
scummvm-rg350-b7b06e8399c62f72e1e586570da72f8a8f8dced5.zip
MOHAWK: Allow the mouse cursor to move while drawing in a tight loop
Diffstat (limited to 'engines/mohawk')
-rw-r--r--engines/mohawk/myst_stacks/channelwood.cpp2
-rw-r--r--engines/mohawk/myst_stacks/myst.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/engines/mohawk/myst_stacks/channelwood.cpp b/engines/mohawk/myst_stacks/channelwood.cpp
index 21c3042359..f006a8e3ea 100644
--- a/engines/mohawk/myst_stacks/channelwood.cpp
+++ b/engines/mohawk/myst_stacks/channelwood.cpp
@@ -368,6 +368,7 @@ void Channelwood::o_waterTankValveOpen(uint16 op, uint16 var, uint16 argc, uint1
for (uint i = 0; i < 2; i++)
for (uint16 imageId = 3601; imageId >= 3595; imageId--) {
_vm->_gfx->copyImageToScreen(imageId, rect);
+ _vm->pollAndDiscardEvents();
_vm->_system->updateScreen();
}
@@ -699,6 +700,7 @@ void Channelwood::o_waterTankValveClose(uint16 op, uint16 var, uint16 argc, uint
for (uint i = 0; i < 2; i++)
for (uint16 imageId = 3595; imageId <= 3601; imageId++) {
_vm->_gfx->copyImageToScreen(imageId, rect);
+ _vm->pollAndDiscardEvents();
_vm->_system->updateScreen();
}
diff --git a/engines/mohawk/myst_stacks/myst.cpp b/engines/mohawk/myst_stacks/myst.cpp
index f9ba6a42fa..424dd2f07c 100644
--- a/engines/mohawk/myst_stacks/myst.cpp
+++ b/engines/mohawk/myst_stacks/myst.cpp
@@ -864,6 +864,7 @@ void Myst::o_fireplaceToggleButton(uint16 op, uint16 var, uint16 argc, uint16 *a
// Unset button
for (uint i = 4795; i >= 4779; i--) {
_vm->_gfx->copyImageToScreen(i, getInvokingResource<MystArea>()->getRect());
+ _vm->pollAndDiscardEvents();
_vm->_system->updateScreen();
}
_fireplaceLines[var - 17] &= ~bitmask;
@@ -871,6 +872,7 @@ void Myst::o_fireplaceToggleButton(uint16 op, uint16 var, uint16 argc, uint16 *a
// Set button
for (uint i = 4779; i <= 4795; i++) {
_vm->_gfx->copyImageToScreen(i, getInvokingResource<MystArea>()->getRect());
+ _vm->pollAndDiscardEvents();
_vm->_system->updateScreen();
}
_fireplaceLines[var - 17] |= bitmask;