From 942f838924f286cc23258dd538199dbcda8c9929 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sat, 24 May 2008 01:17:04 +0000 Subject: Add Max's patch for AGOSEngine::pauseEngineIntern(). svn-id: r32241 --- engines/agos/agos.cpp | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'engines/agos/agos.cpp') diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp index 51619bd3cb..9b22240f83 100644 --- a/engines/agos/agos.cpp +++ b/engines/agos/agos.cpp @@ -917,25 +917,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(true); - _mixer->pauseAll(true); - _sound->ambientPause(true); + _midi.pause(_musicPaused); + _mixer->pauseAll(false); + _sound->ambientPause(_ambientPaused); + } +} + +void AGOSEngine::pause() { + pauseEngine(true); while (_pause) { 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() { -- cgit v1.2.3