aboutsummaryrefslogtreecommitdiff
path: root/engines/agos
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agos')
-rw-r--r--engines/agos/agos.cpp44
-rw-r--r--engines/agos/agos.h1
2 files changed, 25 insertions, 20 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 015aff3458..9b22240f83 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 {
@@ -879,7 +877,7 @@ AGOSEngine::~AGOSEngine() {
_midi.close();
for (uint i = 0; i < _itemHeap.size(); i++) {
- delete [] _itemHeap[i];
+ delete[] _itemHeap[i];
}
_itemHeap.clear();
@@ -908,7 +906,7 @@ AGOSEngine::~AGOSEngine() {
delete _dummyItem3;
delete _dummyWindow;
- delete [] _windowList;
+ delete[] _windowList;
delete _debugger;
delete _moviePlay;
@@ -919,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(_musicPaused);
+ _mixer->pauseAll(false);
+ _sound->ambientPause(_ambientPaused);
+ }
+}
- _midi.pause(true);
- _mixer->pauseAll(true);
- _sound->ambientPause(true);
+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() {
@@ -1017,7 +1021,7 @@ void AGOSEngine::shutdown() {
_midi.close();
for (uint i = 0; i < _itemHeap.size(); i++) {
- delete [] _itemHeap[i];
+ delete[] _itemHeap[i];
}
_itemHeap.clear();
@@ -1046,7 +1050,7 @@ void AGOSEngine::shutdown() {
delete _dummyItem3;
delete _dummyWindow;
- delete [] _windowList;
+ delete[] _windowList;
delete _debugger;
delete _moviePlay;
diff --git a/engines/agos/agos.h b/engines/agos/agos.h
index 1d5eda8392..448d26a9d0 100644
--- a/engines/agos/agos.h
+++ b/engines/agos/agos.h
@@ -1205,6 +1205,7 @@ protected:
void checkTimerCallback();
void delay(uint delay);
void pause();
+ virtual void pauseEngineIntern(bool pause);
void waitForMark(uint i);
void scrollScreen();