From 52e247e2397f189667d4637241c25050c6279224 Mon Sep 17 00:00:00 2001 From: David Fioramonti Date: Thu, 26 Apr 2018 14:27:59 -0700 Subject: 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. --- engines/mohawk/myst_state.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'engines/mohawk/myst_state.h') 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 : -- cgit v1.2.3