aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_state.h
diff options
context:
space:
mode:
authorDavid Fioramonti2018-04-26 14:27:59 -0700
committerBastien Bouclet2018-04-27 19:22:00 +0200
commit52e247e2397f189667d4637241c25050c6279224 (patch)
treeb82acba6f73d9539ba806ca8b6042dc2a66b3751 /engines/mohawk/myst_state.h
parentf125ffb89c59f9f8ad56090f151cc09f52c9f76f (diff)
downloadscummvm-rg350-52e247e2397f189667d4637241c25050c6279224.tar.gz
scummvm-rg350-52e247e2397f189667d4637241c25050c6279224.tar.bz2
scummvm-rg350-52e247e2397f189667d4637241c25050c6279224.zip
MOHAWK: MYST: Make Dni/Atrus endings an enum
The global variable "ending" tracks various states that Atrus can be in. This variable determines what video of Atrus will be playing and if the brother books have been destroyed. Despite this variable being called ending there are other endings not captured by this variable (like the brother endings). Also change spelling of Dini to Dni for one usage of ActiveAge from a previous commit.
Diffstat (limited to 'engines/mohawk/myst_state.h')
-rw-r--r--engines/mohawk/myst_state.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/mohawk/myst_state.h b/engines/mohawk/myst_state.h
index 737db306ab..0eb7d56525 100644
--- a/engines/mohawk/myst_state.h
+++ b/engines/mohawk/myst_state.h
@@ -79,13 +79,23 @@ enum ActiveAge {
kMechanical = 3,
kChannelwood = 4,
kIntro = 5,
- kDini = 6,
+ kDni = 6,
kMystStart = 7,
kCredits = 8,
kSirrusEnding = 9,
kAchenarEnding = 10
};
+// Various states that Atrus can be in when in Dni
+enum DniEnding {
+ kDniNotVisited = 0, // Player hasn't been to Dni/K'veer yet
+ kAtrusWantsPage = 1, // Player is in Dni with the white page
+ kAtrusLeaves = 2, // Atrus leaves Dni after receiving the white page
+ kForgotPage = 3, // Player has entered Dni without bringing the white page
+ kBooksDestroyed = 4 // Atrus returns to Dni after previously leaving
+ // and destroying the books of his sons
+};
+
class MystGameState {
public:
MystGameState(MohawkEngine_Myst*, Common::SaveFileManager*);
@@ -120,7 +130,7 @@ public:
uint16 zipMode;
uint16 redPagesInBook;
uint16 bluePagesInBook;
- uint16 ending;
+ DniEnding ending;
} _globals;
/* 50 Myst Specific Variables :