diff options
Diffstat (limited to 'engines/xeen/events.cpp')
-rw-r--r-- | engines/xeen/events.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/xeen/events.cpp b/engines/xeen/events.cpp index 54cc843dbb..fd0871edbc 100644 --- a/engines/xeen/events.cpp +++ b/engines/xeen/events.cpp @@ -94,6 +94,9 @@ void EventsManager::pollEvents() { case Common::EVENT_KEYDOWN: _keyCode = event.kbd.keycode; break; + case Common::EVENT_MOUSEMOVE: + _mousePos = event.mouse; + break; case Common::EVENT_LBUTTONDOWN: _leftButton = true; return; @@ -168,6 +171,16 @@ uint32 EventsManager::timeElapsed() { return _frameCounter - _gameCounter; } +bool EventsManager::wait(uint numFrames, bool interruptable) { + while (!_vm->shouldQuit() && timeElapsed() < numFrames) { + pollEventsAndWait(); + if (interruptable && (_leftButton || _rightButton || isKeyPending())) + return true; + } + + return false; +} + /** * Handles moving to the next game frame */ |