aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/timer.h
diff options
context:
space:
mode:
authorVicent Marti2008-06-14 14:44:29 +0000
committerVicent Marti2008-06-14 14:44:29 +0000
commitd0b27cf9c66b9281899acf826cb205e19dcb7260 (patch)
tree74e813b1d1f081f35f41ca7a95da5d048951b9e7 /engines/kyra/timer.h
parentd51a0cab3fe494698f001d81d5d86cea7cd0395b (diff)
parent91d3ea31359950b59ee46af8355cc0f5790257e5 (diff)
downloadscummvm-rg350-d0b27cf9c66b9281899acf826cb205e19dcb7260.tar.gz
scummvm-rg350-d0b27cf9c66b9281899acf826cb205e19dcb7260.tar.bz2
scummvm-rg350-d0b27cf9c66b9281899acf826cb205e19dcb7260.zip
Merged trunk into the GUI branch.
Fixed MSVS9 project files. svn-id: r32702
Diffstat (limited to 'engines/kyra/timer.h')
-rw-r--r--engines/kyra/timer.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/engines/kyra/timer.h b/engines/kyra/timer.h
index 0991f0a1b1..691bac3fb5 100644
--- a/engines/kyra/timer.h
+++ b/engines/kyra/timer.h
@@ -26,7 +26,7 @@
#ifndef KYRA_TIMER_H
#define KYRA_TIMER_H
-#include "kyra/kyra.h"
+#include "kyra/kyra_v1.h"
#include "common/list.h"
#include "common/stream.h"
@@ -49,9 +49,11 @@ struct TimerEntry {
class TimerManager {
public:
- TimerManager(KyraEngine *vm, OSystem *sys) : _vm(vm), _system(sys), _timers(), _nextRun(0) {}
+ TimerManager(KyraEngine_v1 *vm, OSystem *sys) : _vm(vm), _system(sys), _timers(), _nextRun(0), _isPaused(0), _pauseStart(0) {}
~TimerManager() { reset(); }
+ void pause(bool p);
+
void reset();
void addTimer(uint8 id, TimerFunc *func, int countdown, bool enabled);
@@ -77,15 +79,26 @@ public:
private:
void resync();
- KyraEngine *_vm;
+ KyraEngine_v1 *_vm;
OSystem *_system;
Common::List<TimerEntry> _timers;
uint32 _nextRun;
+ uint _isPaused;
+ uint32 _pauseStart;
+
typedef Common::List<TimerEntry>::iterator Iterator;
typedef Common::List<TimerEntry>::const_iterator CIterator;
};
+class PauseTimer {
+public:
+ PauseTimer(TimerManager &timer) : _timer(timer) { _timer.pause(true); }
+ ~PauseTimer() { _timer.pause(false); }
+private:
+ TimerManager &_timer;
+};
+
} // end of namespace Kyra
#endif