diff options
author | Nicola Mettifogo | 2008-09-02 01:58:55 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2008-09-02 01:58:55 +0000 |
commit | 4ab5d3fdc4c6692c48a3c01d26fffa5bd8f5c335 (patch) | |
tree | c154a67d24649af51b89e50779a2a97f4d953576 /engines/parallaction/parallaction.cpp | |
parent | 3fef592c205a07a7519132ea2fe602340d18eeed (diff) | |
parent | 852bc9dbb750b9995d31e70f4158c97d3758c46f (diff) | |
download | scummvm-rg350-4ab5d3fdc4c6692c48a3c01d26fffa5bd8f5c335.tar.gz scummvm-rg350-4ab5d3fdc4c6692c48a3c01d26fffa5bd8f5c335.tar.bz2 scummvm-rg350-4ab5d3fdc4c6692c48a3c01d26fffa5bd8f5c335.zip |
Merging more of the GSoC 2008 RTL branch: PARALLACTION
svn-id: r34268
Diffstat (limited to 'engines/parallaction/parallaction.cpp')
-rw-r--r-- | engines/parallaction/parallaction.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp index f69e39519c..03464d8a7e 100644 --- a/engines/parallaction/parallaction.cpp +++ b/engines/parallaction/parallaction.cpp @@ -121,6 +121,8 @@ int Parallaction::init() { _location._comment = NULL; _location._endComment = NULL; + _quit = false; + _pathBuffer = 0; _screenSize = _screenWidth * _screenHeight; @@ -324,7 +326,7 @@ void Parallaction::processInput(int event) { void Parallaction::runGame() { int event = _input->updateInput(); - if (_engineFlags & kEngineQuit) + if (quit()) return; runGuiFrame(); @@ -335,7 +337,7 @@ void Parallaction::runGame() { processInput(event); runPendingZones(); - if (_engineFlags & kEngineQuit) + if (quit()) return; if (_engineFlags & kEngineChangeLocation) { @@ -819,7 +821,7 @@ ZonePtr Parallaction::findZone(const char *name) { void Parallaction::freeZones() { - debugC(2, kDebugExec, "freeZones: kEngineQuit = %i", _engineFlags & kEngineQuit); + debugC(2, kDebugExec, "freeZones: _vm->_quit = %i", _vm->_quit); ZoneList::iterator it = _location._zones.begin(); @@ -828,7 +830,7 @@ void Parallaction::freeZones() { // NOTE : this condition has been relaxed compared to the original, to allow the engine // to retain special - needed - zones that were lost across location switches. ZonePtr z = *it; - if (((z->getY() == -1) || (z->getX() == -2)) && ((_engineFlags & kEngineQuit) == 0)) { + if (((z->getY() == -1) || (z->getX() == -2)) && (_quit == 0)) { debugC(2, kDebugExec, "freeZones preserving zone '%s'", z->_name); it++; } else { |