From 483bca3d96b7012774d13875e78cfd8b649657f7 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 17 Aug 2014 20:17:38 -0400 Subject: ACCESS: Fixes for drawing bubble box backgrounds --- engines/access/events.cpp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'engines/access/events.cpp') diff --git a/engines/access/events.cpp b/engines/access/events.cpp index 521e8895c8..71ed5f433e 100644 --- a/engines/access/events.cpp +++ b/engines/access/events.cpp @@ -112,9 +112,10 @@ bool EventsManager::isCursorVisible() { return CursorMan.isVisible(); } -void EventsManager::pollEvents(bool suppressFrames) { - if (!suppressFrames) - checkForNextFrameCounter(); +void EventsManager::pollEvents() { + if (checkForNextFrameCounter()) { + nextFrame(); + } Common::Event event; while (g_system->getEventManager()->pollEvent(event)) { @@ -158,24 +159,26 @@ void EventsManager::pollEvents(bool suppressFrames) { } } -void EventsManager::checkForNextFrameCounter() { +bool EventsManager::checkForNextFrameCounter() { // Check for next game frame uint32 milli = g_system->getMillis(); if ((milli - _priorFrameTime) >= GAME_FRAME_TIME) { ++_frameCounter; _priorFrameTime = milli; - nextFrame(); + return true; } + + return false; } void EventsManager::nextFrame() { - // Give time to the debugger - _vm->_debugger->onFrame(); - // Update timers _vm->_animation->updateTimers(); + // Give time to the debugger + _vm->_debugger->onFrame(); + // TODO: Refactor for dirty rects _vm->_screen->updateScreen(); } @@ -199,13 +202,19 @@ bool EventsManager::getKey(Common::KeyState &key) { void EventsManager::debounceLeft() { while (_leftButton && !_vm->shouldQuit()) { - pollEvents(true); + pollEvents(); g_system->delayMillis(10); } } void EventsManager::waitKeyMouse() { - error("TODO: waitKeyPress"); + while (!_vm->shouldQuit() && !_leftButton && _keypresses.size() == 0) { + pollEvents(); + g_system->delayMillis(10); + } + + zeroKeys(); + debounceLeft(); } } // End of namespace Access -- cgit v1.2.3