diff options
author | Christopher Page | 2008-05-28 20:30:20 +0000 |
---|---|---|
committer | Christopher Page | 2008-05-28 20:30:20 +0000 |
commit | 8297ead2671e43963098a3dc41e8e75fdbce4ddc (patch) | |
tree | 72b0e2bb7d03e461cc157ea5f093261ab902fbfb /engines/agos | |
parent | 3c0e72bb25f83120f0320782793af64213cbd1c2 (diff) | |
parent | 057af1000f5187a93fc1ac1a5f61a7a6a382bf03 (diff) | |
download | scummvm-rg350-8297ead2671e43963098a3dc41e8e75fdbce4ddc.tar.gz scummvm-rg350-8297ead2671e43963098a3dc41e8e75fdbce4ddc.tar.bz2 scummvm-rg350-8297ead2671e43963098a3dc41e8e75fdbce4ddc.zip |
Merged revisions 32124,32126-32128,32131,32133,32135-32144,32146-32153,32155-32163,32165-32168,32170-32173,32175-32179,32181-32191,32193-32202,32204-32205,32209-32214,32216,32218,32220-32235,32237-32266,32269-32271,32273-32290,32292-32295,32297-32317,32319-32323,32325-32328,32330-32331,32334-32338,32343-32347 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk
svn-id: r32350
Diffstat (limited to 'engines/agos')
-rw-r--r-- | engines/agos/agos.cpp | 36 | ||||
-rw-r--r-- | engines/agos/agos.h | 1 |
2 files changed, 21 insertions, 16 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp index 80fbe28c0c..7880d407b8 100644 --- a/engines/agos/agos.cpp +++ b/engines/agos/agos.cpp @@ -23,7 +23,7 @@ * */ - +#include <time.h> // for AGOSEngine::getTime() #include "common/config-manager.h" #include "common/file.h" @@ -38,8 +38,6 @@ #include "sound/mididrv.h" #include "sound/mods/protracker.h" -#include <time.h> // for AGOSEngine::getTime() - using Common::File; namespace AGOS { @@ -928,25 +926,31 @@ GUI::Debugger *AGOSEngine::getDebugger() { return _debugger; } -void AGOSEngine::pause() { - _keyPressed.reset(); - _pause = true; - bool ambient_status = _ambientPaused; - bool music_status = _musicPaused; +void AGOSEngine::pauseEngineIntern(bool pauseIt) { + if (pauseIt) { + _keyPressed.reset(); + _pause = true; + + _midi.pause(true); + _mixer->pauseAll(true); + _sound->ambientPause(true); + } else { + _pause = false; + + _midi.pause(_musicPaused); + _mixer->pauseAll(false); + _sound->ambientPause(_ambientPaused); + } +} - _midi.pause(true); - _mixer->pauseAll(true); - _sound->ambientPause(true); +void AGOSEngine::pause() { + pauseEngine(true); while (_pause && !_quit) { delay(1); if (_keyPressed.keycode == Common::KEYCODE_p) - _pause = false; + pauseEngine(false); } - - _midi.pause(music_status); - _mixer->pauseAll(false); - _sound->ambientPause(ambient_status); } int AGOSEngine::go() { diff --git a/engines/agos/agos.h b/engines/agos/agos.h index bd8ff9d63c..74a0b026e9 100644 --- a/engines/agos/agos.h +++ b/engines/agos/agos.h @@ -1207,6 +1207,7 @@ protected: void checkTimerCallback(); void delay(uint delay); void pause(); + virtual void pauseEngineIntern(bool pause); void waitForMark(uint i); void scrollScreen(); |