[Scummvm-git-logs] scummvm master -> ab7cdc5907910e2c72bad80fb6ef6161ab7a0990
bgK
bastien.bouclet at gmail.com
Thu Apr 26 22:09:51 CEST 2018
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ab7cdc5907 MOHAWK: MYST: Make global currentAge an enum
Commit: ab7cdc5907910e2c72bad80fb6ef6161ab7a0990
https://github.com/scummvm/scummvm/commit/ab7cdc5907910e2c72bad80fb6ef6161ab7a0990
Author: David Fioramonti (dafioram at gmail.com)
Date: 2018-04-26T22:09:46+02:00
Commit Message:
MOHAWK: MYST: Make global currentAge an enum
This global basically tracks what age/book/stack
the player is in.
It is also used to change stacks via
MohawkEngine_Myst::changeToStack() by
being an index for MystScriptParser::_stackMap
and MystScriptParser::_startCard.
E.x., instead of _global.currentAge = 2
now _global.currentAge = kMystLibrary.
Also two of the endings are considered Ages
instead of being apart of _global.ending.
Changed paths:
engines/mohawk/myst.cpp
engines/mohawk/myst_stacks/intro.cpp
engines/mohawk/myst_stacks/myst.cpp
engines/mohawk/myst_stacks/preview.cpp
engines/mohawk/myst_state.cpp
engines/mohawk/myst_state.h
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index 730c979..b86e337 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -550,18 +550,18 @@ void MohawkEngine_Myst::changeToStack(uint16 stack, uint16 card, uint16 linkSrcS
switch (_curStack) {
case kChannelwoodStack:
- _gameState->_globals.currentAge = 4;
+ _gameState->_globals.currentAge = kChannelwood;
_scriptParser = new MystStacks::Channelwood(this);
break;
case kCreditsStack:
_scriptParser = new MystStacks::Credits(this);
break;
case kDemoStack:
- _gameState->_globals.currentAge = 0;
+ _gameState->_globals.currentAge = kSelenitic;
_scriptParser = new MystStacks::Demo(this);
break;
case kDniStack:
- _gameState->_globals.currentAge = 6;
+ _gameState->_globals.currentAge = kDini;
_scriptParser = new MystStacks::Dni(this);
break;
case kIntroStack:
@@ -571,26 +571,26 @@ void MohawkEngine_Myst::changeToStack(uint16 stack, uint16 card, uint16 linkSrcS
_scriptParser = new MystStacks::MakingOf(this);
break;
case kMechanicalStack:
- _gameState->_globals.currentAge = 3;
+ _gameState->_globals.currentAge = kMechanical;
_scriptParser = new MystStacks::Mechanical(this);
break;
case kMystStack:
- _gameState->_globals.currentAge = 2;
+ _gameState->_globals.currentAge = kMystLibrary;
_scriptParser = new MystStacks::Myst(this);
break;
case kDemoPreviewStack:
_scriptParser = new MystStacks::Preview(this);
break;
case kSeleniticStack:
- _gameState->_globals.currentAge = 0;
+ _gameState->_globals.currentAge = kSelenitic;
_scriptParser = new MystStacks::Selenitic(this);
break;
case kDemoSlidesStack:
- _gameState->_globals.currentAge = 1;
+ _gameState->_globals.currentAge = kStoneship;
_scriptParser = new MystStacks::Slides(this);
break;
case kStoneshipStack:
- _gameState->_globals.currentAge = 1;
+ _gameState->_globals.currentAge = kStoneship;
_scriptParser = new MystStacks::Stoneship(this);
break;
default:
@@ -690,7 +690,7 @@ void MohawkEngine_Myst::changeToCard(uint16 card, TransitionType transition) {
// The demo resets the cursor at each card change except when in the library
if (getFeatures() & GF_DEMO
- && _gameState->_globals.currentAge != 2) {
+ && _gameState->_globals.currentAge != kMystLibrary) {
_cursor->setDefaultCursor();
}
@@ -1208,22 +1208,22 @@ void MohawkEngine_Myst::dropPage() {
_gameState->_globals.heldPage = kNoPage;
// Redraw page area
- if (whitePage && _gameState->_globals.currentAge == 2) {
+ if (whitePage && _gameState->_globals.currentAge == kMystLibrary) {
_scriptParser->toggleVar(41);
redrawArea(41);
} else if (bluePage) {
if (page == kBlueFirePlacePage) {
- if (_gameState->_globals.currentAge == 2)
+ if (_gameState->_globals.currentAge == kMystLibrary)
redrawArea(24);
} else {
redrawArea(103);
}
} else if (redPage) {
if (page == kRedFirePlacePage) {
- if (_gameState->_globals.currentAge == 2)
+ if (_gameState->_globals.currentAge == kMystLibrary)
redrawArea(25);
} else if (page == kRedStoneshipPage) {
- if (_gameState->_globals.currentAge == 1)
+ if (_gameState->_globals.currentAge == kStoneship)
redrawArea(35);
} else {
redrawArea(102);
diff --git a/engines/mohawk/myst_stacks/intro.cpp b/engines/mohawk/myst_stacks/intro.cpp
index 44be90b..9e03713 100644
--- a/engines/mohawk/myst_stacks/intro.cpp
+++ b/engines/mohawk/myst_stacks/intro.cpp
@@ -71,7 +71,7 @@ void Intro::runPersistentScripts() {
uint16 Intro::getVar(uint16 var) {
switch(var) {
case 0:
- if (_globals.currentAge == 9 || _globals.currentAge == 10)
+ if (_globals.currentAge == kSirrusEnding || _globals.currentAge == kAchenarEnding)
return 2;
else
return _globals.currentAge;
diff --git a/engines/mohawk/myst_stacks/myst.cpp b/engines/mohawk/myst_stacks/myst.cpp
index ebcdd17..4a45235 100644
--- a/engines/mohawk/myst_stacks/myst.cpp
+++ b/engines/mohawk/myst_stacks/myst.cpp
@@ -1208,9 +1208,9 @@ void Myst::o_bookGivePage(uint16 var, const ArgumentsArray &args) {
if (mask == 32) {
// You lose!
if (var == 100)
- _globals.currentAge = 9;
+ _globals.currentAge = kSirrusEnding;
else
- _globals.currentAge = 10;
+ _globals.currentAge = kAchenarEnding;
_vm->changeToCard(cardIdLose, kTransitionDissolve);
} else {
diff --git a/engines/mohawk/myst_stacks/preview.cpp b/engines/mohawk/myst_stacks/preview.cpp
index 49fef62..348a195 100644
--- a/engines/mohawk/myst_stacks/preview.cpp
+++ b/engines/mohawk/myst_stacks/preview.cpp
@@ -93,7 +93,7 @@ void Preview::o_stayHere(uint16 var, const ArgumentsArray &args) {
void Preview::o_speechStop(uint16 var, const ArgumentsArray &args) {
_vm->_sound->stopSpeech();
_speechRunning = false;
- _globals.currentAge = 2;
+ _globals.currentAge = kMystLibrary;
}
void Preview::speechUpdateCue() {
@@ -205,7 +205,7 @@ void Preview::speech_run() {
_vm->changeToCard(4329, kTransitionDissolve);
_speechRunning = false;
- _globals.currentAge = 2;
+ _globals.currentAge = kMystLibrary;
_vm->_cursor->showCursor();
break;
diff --git a/engines/mohawk/myst_state.cpp b/engines/mohawk/myst_state.cpp
index 2038933..f1b0b9d 100644
--- a/engines/mohawk/myst_state.cpp
+++ b/engines/mohawk/myst_state.cpp
@@ -78,7 +78,7 @@ MystGameState::MystGameState(MohawkEngine_Myst *vm, Common::SaveFileManager *sav
// Unknown
_globals.u0 = 2;
// Current Age / Stack - Start in Myst
- _globals.currentAge = 7;
+ _globals.currentAge = kMystStart;
_globals.u1 = 1;
// Library Bookcase Door - Default to Up
diff --git a/engines/mohawk/myst_state.h b/engines/mohawk/myst_state.h
index fa01d03..737db30 100644
--- a/engines/mohawk/myst_state.h
+++ b/engines/mohawk/myst_state.h
@@ -71,6 +71,21 @@ enum HeldPage {
kWhitePage = 13
};
+// Age the player is in
+enum ActiveAge {
+ kSelenitic = 0,
+ kStoneship = 1,
+ kMystLibrary = 2,
+ kMechanical = 3,
+ kChannelwood = 4,
+ kIntro = 5,
+ kDini = 6,
+ kMystStart = 7,
+ kCredits = 8,
+ kSirrusEnding = 9,
+ kAchenarEnding = 10
+};
+
class MystGameState {
public:
MystGameState(MohawkEngine_Myst*, Common::SaveFileManager*);
@@ -98,7 +113,7 @@ public:
*/
struct Globals {
uint16 u0;
- uint16 currentAge;
+ ActiveAge currentAge;
HeldPage heldPage;
uint16 u1;
uint16 transitions;
More information about the Scummvm-git-logs
mailing list