aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/events.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2014-12-26 14:37:20 +1100
committerPaul Gilbert2014-12-26 14:37:20 +1100
commit4f423c74b701b4dceff680259d174acb6a450b76 (patch)
tree7492eea7aeeece67c648caec752d0d14560def1a /engines/xeen/events.cpp
parent1249bc03fdbf6d1bc390f9aea45b482cbb258e33 (diff)
downloadscummvm-rg350-4f423c74b701b4dceff680259d174acb6a450b76.tar.gz
scummvm-rg350-4f423c74b701b4dceff680259d174acb6a450b76.tar.bz2
scummvm-rg350-4f423c74b701b4dceff680259d174acb6a450b76.zip
XEEN: Implement beginnings of Dark Side intro and supporting methods
Diffstat (limited to 'engines/xeen/events.cpp')
-rw-r--r--engines/xeen/events.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/engines/xeen/events.cpp b/engines/xeen/events.cpp
index e75744eb01..c4adabc433 100644
--- a/engines/xeen/events.cpp
+++ b/engines/xeen/events.cpp
@@ -39,6 +39,8 @@ EventsManager::EventsManager(XeenEngine *vm) : _vm(vm) {
_priorFrameCounterTime = 0;
_gameCounter = 0;
_priorGameCounterTime = 0;
+ _keyCode = Common::KEYCODE_INVALID;
+ _leftButton = _rightButton = false;
}
/**
@@ -81,12 +83,37 @@ void EventsManager::pollEvents() {
case Common::EVENT_QUIT:
case Common::EVENT_RTL:
return;
+ case Common::EVENT_KEYDOWN:
+ _keyCode = event.kbd.keycode;
+ break;
default:
break;
}
}
}
+void EventsManager::pollEventsAndWait() {
+ pollEvents();
+ g_system->delayMillis(10);
+}
+
+void EventsManager::clearEvents() {
+ _keyCode = Common::KEYCODE_INVALID;
+ _leftButton = _rightButton = false;
+
+}
+
+
+bool EventsManager::getKey(Common::KeyState &key) {
+ if (_keyCode == Common::KEYCODE_INVALID) {
+ return false;
+ } else {
+ key = _keyCode;
+ _keyCode = Common::KEYCODE_INVALID;
+ return true;
+ }
+}
+
/**
* Updates the game counter to match the current frame counter
*/