aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/globals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/m4/globals.cpp')
-rw-r--r--engines/m4/globals.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/engines/m4/globals.cpp b/engines/m4/globals.cpp
index 39226f0ebc..856c1bb817 100644
--- a/engines/m4/globals.cpp
+++ b/engines/m4/globals.cpp
@@ -278,6 +278,8 @@ bool Globals::isInterfaceVisible() {
MadsGlobals::MadsGlobals(MadsEngine *vm): Globals(vm) {
_vm = vm;
+
+ playerSpriteChanged = false;
}
MadsGlobals::~MadsGlobals() {
@@ -408,6 +410,29 @@ const char *MadsGlobals::loadMessage(uint index) {
return (char*)buffer;
}
+/**
+ * Adds the specified scene number to list of scenes previously visited
+ */
+void MadsGlobals::addVisitedScene(int sceneNumber) {
+ if (!isSceneVisited(sceneNumber))
+ _visitedScenes.push_back(sceneNumber);
+}
+
+/**
+ * Returns true if the specified scene has been previously visited
+ */
+bool MadsGlobals::isSceneVisited(int sceneNumber) {
+ Common::List<int>::iterator i;
+ for (i = _visitedScenes.begin(); i != _visitedScenes.end(); ++i)
+ if (*i == sceneNumber)
+ return true;
+ return false;
+}
+
+void MadsGlobals::removeVisitedScene(int sceneNumber) {
+ _visitedScenes.remove(sceneNumber);
+}
+
/*--------------------------------------------------------------------------*/
M4Globals::M4Globals(M4Engine *vm): Globals(vm) {