aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction.h
diff options
context:
space:
mode:
authorNicola Mettifogo2008-11-08 14:56:45 +0000
committerNicola Mettifogo2008-11-08 14:56:45 +0000
commit55810309725b02b26ab17ddc02cbba2361977a2b (patch)
treee976a14d71ab1e5e8308c4c13c3a2095b1126ab5 /engines/parallaction/parallaction.h
parent767485840f8259c8441b2879eec5cb327c79e049 (diff)
downloadscummvm-rg350-55810309725b02b26ab17ddc02cbba2361977a2b.tar.gz
scummvm-rg350-55810309725b02b26ab17ddc02cbba2361977a2b.tar.bz2
scummvm-rg350-55810309725b02b26ab17ddc02cbba2361977a2b.zip
* removed the obsolete _quit flag
* refactored most cleanup code for locations and game svn-id: r34939
Diffstat (limited to 'engines/parallaction/parallaction.h')
-rw-r--r--engines/parallaction/parallaction.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h
index 5b56f29e94..e6dddb5f02 100644
--- a/engines/parallaction/parallaction.h
+++ b/engines/parallaction/parallaction.h
@@ -150,6 +150,16 @@ struct Location {
int _zeta1;
int _zeta2;
CommandList _escapeCommands;
+
+protected:
+ void freeAnimations();
+ void freeZones(bool removeAll);
+
+public:
+ Location();
+ ~Location();
+
+ void cleanup(bool removeAll);
};
@@ -277,11 +287,6 @@ public:
ZonePtr _zoneTrap;
ZonePtr _commentZone;
- bool _quit; /* The only reason this flag exists is for freeZones() to properly
- * delete all zones when necessary. THIS FLAG IS NOT THE ENGINE QUIT FLAG,
- * use _eventMan->shouldQuit() for that.
- */
-
protected:
void runGame();
void runGuiFrame();
@@ -295,7 +300,6 @@ protected:
void updateView();
void drawAnimations();
void freeCharacter();
- void freeLocation();
void doLocationEnterTransition();
void allocateLocationSlot(const char *name);
void finalizeLocationParsing();
@@ -324,7 +328,7 @@ public:
ZonePtr findZone(const char *name);
ZonePtr hitZone(uint32 type, uint16 x, uint16 y);
void runZone(ZonePtr z);
- void freeZones();
+ void freeZones(bool removeAll);
bool pickupItem(ZonePtr z);
void updateDoor(ZonePtr z, bool close);
void showZone(ZonePtr z, bool visible);
@@ -390,6 +394,7 @@ private:
void startCreditSequence();
void startEndPartSequence();
void loadProgram(AnimationPtr a, const char *filename);
+ void freeLocation(bool removeAll);
// callables data
@@ -489,7 +494,7 @@ private:
void initResources();
void initFonts();
void freeFonts();
- void freeLocation();
+ void freeLocation(bool removeAll);
void loadProgram(AnimationPtr a, const char *filename);
void startGui(bool showSplash);