aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/map.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/map.h')
-rw-r--r--engines/xeen/map.h31
1 files changed, 28 insertions, 3 deletions
diff --git a/engines/xeen/map.h b/engines/xeen/map.h
index c74f084392..6734f3f16c 100644
--- a/engines/xeen/map.h
+++ b/engines/xeen/map.h
@@ -27,6 +27,7 @@
#include "common/array.h"
#include "common/rect.h"
#include "xeen/combat.h"
+#include "xeen/files.h"
#include "xeen/party.h"
#include "xeen/scripts.h"
#include "xeen/sprites.h"
@@ -114,7 +115,7 @@ public:
void clear();
- void synchronize(Common::SeekableReadStream &s);
+ void synchronize(XeenSerializer &s);
int &operator[](int idx);
};
@@ -132,7 +133,10 @@ public:
public:
MazeDifficulties();
- void synchronize(Common::SeekableReadStream &s);
+ /**
+ * Synchronizes data for the item
+ */
+ void synchronize(XeenSerializer &s);
};
enum MazeFlags {
@@ -208,7 +212,10 @@ public:
void clear();
- void synchronize(Common::SeekableReadStream &s);
+ /**
+ * Synchronize data for the maze data
+ */
+ void synchronize(XeenSerializer &s);
/**
* Flags all tiles for the map as having been stepped on
@@ -395,6 +402,21 @@ private:
* Load the events for a new map
*/
void loadEvents(int mapId);
+
+ /**
+ * Save the events for a map
+ */
+ void saveEvents();
+
+ /**
+ * Save the monster data for a map
+ */
+ void saveMonsters();
+
+ /**
+ * Save the map data
+ */
+ void saveMap();
public:
Common::String _mazeName;
bool _isOutdoors;
@@ -433,6 +455,9 @@ public:
void setWall(const Common::Point &pt, Direction dir, int v);
+ /**
+ * Saves all changeable maze data to the in-memory save state
+ */
void saveMaze();
int getCell(int idx);