aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/events.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/events.cpp')
-rw-r--r--engines/xeen/events.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/xeen/events.cpp b/engines/xeen/events.cpp
index 17306a32fc..5243de630c 100644
--- a/engines/xeen/events.cpp
+++ b/engines/xeen/events.cpp
@@ -32,7 +32,7 @@
namespace Xeen {
EventsManager::EventsManager(XeenEngine *vm) : _vm(vm), _playTime(0), _gameCounter(0),
- _frameCounter(0), _priorFrameCounterTime(0), _priorScreenRefreshTime(0),
+ _frameCounter(0), _priorFrameCounterTime(0), _priorScreenRefreshTime(0), _lastAutosaveTime(0),
_mousePressed(false), _sprites("mouse.icn") {
Common::fill(&_gameCounters[0], &_gameCounters[6], 0);
}
@@ -69,12 +69,19 @@ void EventsManager::pollEvents() {
_priorScreenRefreshTime = timer;
g_vm->_screen->update();
}
+
if (timer >= (_priorFrameCounterTime + GAME_FRAME_TIME)) {
// Time to build up next game frame
_priorFrameCounterTime = timer;
nextFrame();
}
+ // Handle auto saves
+ if (!_lastAutosaveTime)
+ _lastAutosaveTime = timer;
+ g_vm->autoSaveCheck(_lastAutosaveTime);
+
+ // Event handling
Common::Event event;
while (g_system->getEventManager()->pollEvent(event)) {
switch (event.type) {