diff options
author | Max Horn | 2007-06-30 18:22:21 +0000 |
---|---|---|
committer | Max Horn | 2007-06-30 18:22:21 +0000 |
commit | fed38a794f8cd810e7b50f59d71b4c0fc581d6fc (patch) | |
tree | 39972f0dfb98966035fb999a520848c39ccc2aed /engines/scumm/scumm.h | |
parent | 6064b876259ce7beca2c32d1b48ea0817149136b (diff) | |
download | scummvm-rg350-fed38a794f8cd810e7b50f59d71b4c0fc581d6fc.tar.gz scummvm-rg350-fed38a794f8cd810e7b50f59d71b4c0fc581d6fc.tar.bz2 scummvm-rg350-fed38a794f8cd810e7b50f59d71b4c0fc581d6fc.zip |
Added Engine::pauseEngine method (allows outside code, like the backend, to pause/resume the active engine); made the global 'confirm exit' dialog use that feature; implemented ScummEngine::pauseEngine
svn-id: r27797
Diffstat (limited to 'engines/scumm/scumm.h')
-rw-r--r-- | engines/scumm/scumm.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index 3a5e9fb1ba..5c2249d198 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -406,9 +406,6 @@ class ScummEngine : public Engine { friend class CharsetRenderer; friend class ResourceManager; - GUI::Debugger *getDebugger(); - void errorString(const char *buf_input, char *buf_output); - public: /* Put often used variables at the top. * That results in a shorter form of the opcode @@ -437,17 +434,28 @@ public: protected: VirtualMachineState vm; + + /** + * The pause level, 0 means 'running', a positive value indicates + * how often the engine has been paused (and hence how often it has + * to be un-paused before it resumes running). This makes it possible + * to nest code which pauses the engine. + */ + int _pauseLevel; + + bool _oldSoundsPaused; public: // Constructor / Destructor ScummEngine(OSystem *syst, const DetectorResult &dr); virtual ~ScummEngine(); - /** Startup function, main loop. */ - int go(); - - // Init functions - int init(); + // Engine APIs + virtual int init(); + virtual int go(); + virtual void errorString(const char *buf_input, char *buf_output); + virtual GUI::Debugger *getDebugger(); + virtual void pauseEngine(bool pause); protected: virtual void setupScumm(); @@ -638,7 +646,7 @@ protected: void saveInfos(Common::OutSaveFile* file); int32 _engineStartTime; - int32 _dialogStartTime; + int32 _pauseStartTime; protected: /* Script VM - should be in Script class */ |