aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2016-12-10 17:32:05 +0100
committerBastien Bouclet2016-12-10 17:34:24 +0100
commitfd794bd4a307478be8f6014d742d4e841121c404 (patch)
tree2e967aee897d9fbef02ee6e4528fd4e5438c6149 /engines/mohawk/myst.cpp
parent5f26c445c9661fa723ddbec23892d07beea0c89c (diff)
downloadscummvm-rg350-fd794bd4a307478be8f6014d742d4e841121c404.tar.gz
scummvm-rg350-fd794bd4a307478be8f6014d742d4e841121c404.tar.bz2
scummvm-rg350-fd794bd4a307478be8f6014d742d4e841121c404.zip
MOHAWK: Poll the events while drawing Myst transitions
Fixes #9594, the mouse cursor was hanging while transitions were drawn.
Diffstat (limited to 'engines/mohawk/myst.cpp')
-rw-r--r--engines/mohawk/myst.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index 6b91e74bb2..e887436e98 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -401,6 +401,25 @@ bool MohawkEngine_Myst::skippableWait(uint32 duration) {
return skipped;
}
+void MohawkEngine_Myst::pollAndDiscardEvents() {
+ // Poll the events to update the mouse cursor position
+ Common::Event event;
+ while (_system->getEventManager()->pollEvent(event)) {
+ switch (event.type) {
+ case Common::EVENT_KEYDOWN:
+ switch (event.kbd.keycode) {
+ case Common::KEYCODE_SPACE:
+ pauseGame();
+ break;
+ default:
+ break;
+ }
+ default:
+ break;
+ }
+ }
+}
+
void MohawkEngine_Myst::changeToStack(uint16 stack, uint16 card, uint16 linkSrcSound, uint16 linkDstSound) {
debug(2, "changeToStack(%d)", stack);