aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2008-09-02 01:58:55 +0000
committerNicola Mettifogo2008-09-02 01:58:55 +0000
commit4ab5d3fdc4c6692c48a3c01d26fffa5bd8f5c335 (patch)
treec154a67d24649af51b89e50779a2a97f4d953576 /engines/parallaction/parallaction.cpp
parent3fef592c205a07a7519132ea2fe602340d18eeed (diff)
parent852bc9dbb750b9995d31e70f4158c97d3758c46f (diff)
downloadscummvm-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.cpp10
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 {