aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/events.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2014-03-04 20:06:48 -0500
committerPaul Gilbert2014-03-04 20:06:48 -0500
commit1607a9104700e987cacfec41aaafd25d979aeb98 (patch)
tree06d7b94d3599c58c4cfb5f2c604b6bddb0acc2ee /engines/mads/events.cpp
parentf6888eef1069ac5df07c3f4dcc3a30755bc4ebb0 (diff)
downloadscummvm-rg350-1607a9104700e987cacfec41aaafd25d979aeb98.tar.gz
scummvm-rg350-1607a9104700e987cacfec41aaafd25d979aeb98.tar.bz2
scummvm-rg350-1607a9104700e987cacfec41aaafd25d979aeb98.zip
MADS: Finished remainder of Scene::doFrame
Diffstat (limited to 'engines/mads/events.cpp')
-rw-r--r--engines/mads/events.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/mads/events.cpp b/engines/mads/events.cpp
index 0c2e2f2aea..1acb081d8a 100644
--- a/engines/mads/events.cpp
+++ b/engines/mads/events.cpp
@@ -35,7 +35,8 @@ namespace MADS {
EventsManager::EventsManager(MADSEngine *vm) {
_vm = vm;
_cursorSprites = nullptr;
- _gameCounter = 0;
+ _frameCounter = 0;
+ _frameNumber = 0;
_priorFrameTime = 0;
_keyPressed = false;
_mouseClicked = false;
@@ -140,7 +141,7 @@ void EventsManager::checkForNextFrameCounter() {
// Check for next game frame
uint32 milli = g_system->getMillis();
if ((milli - _priorFrameTime) >= GAME_FRAME_TIME) {
- ++_gameCounter;
+ ++_frameCounter;
_priorFrameTime = milli;
// Give time to the debugger
@@ -165,6 +166,12 @@ void EventsManager::delay(int cycles) {
}
}
+void EventsManager::waitForNextFrame() {
+ uint32 frameNum = getFrameCounter();
+ while (!_vm->shouldQuit() && !_vm->_game->_abortTimers && frameNum == _frameNumber)
+ delay(1);
+}
+
void EventsManager::initVars() {
_mousePos = Common::Point(-1, -1);
_vD4 = _vCC;