aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_stacks
diff options
context:
space:
mode:
authorBastien Bouclet2018-03-31 12:52:08 +0200
committerBastien Bouclet2018-03-31 13:36:09 +0200
commit84b2dc5cc85721570aa7aafdd9e3e96f0f04a025 (patch)
tree0326a67ec3cfda91f2419353fdd30b069d9e65c3 /engines/mohawk/myst_stacks
parent494fd3bb52e054969eb94ed72dc2d12a6e412fd1 (diff)
downloadscummvm-rg350-84b2dc5cc85721570aa7aafdd9e3e96f0f04a025.tar.gz
scummvm-rg350-84b2dc5cc85721570aa7aafdd9e3e96f0f04a025.tar.bz2
scummvm-rg350-84b2dc5cc85721570aa7aafdd9e3e96f0f04a025.zip
MOHAWK: Fix some clang-tidy warnings
Diffstat (limited to 'engines/mohawk/myst_stacks')
-rw-r--r--engines/mohawk/myst_stacks/channelwood.cpp8
-rw-r--r--engines/mohawk/myst_stacks/channelwood.h6
-rw-r--r--engines/mohawk/myst_stacks/credits.cpp6
-rw-r--r--engines/mohawk/myst_stacks/credits.h4
-rw-r--r--engines/mohawk/myst_stacks/demo.cpp8
-rw-r--r--engines/mohawk/myst_stacks/demo.h6
-rw-r--r--engines/mohawk/myst_stacks/dni.cpp10
-rw-r--r--engines/mohawk/myst_stacks/dni.h4
-rw-r--r--engines/mohawk/myst_stacks/intro.cpp7
-rw-r--r--engines/mohawk/myst_stacks/intro.h4
-rw-r--r--engines/mohawk/myst_stacks/makingof.cpp3
-rw-r--r--engines/mohawk/myst_stacks/makingof.h4
-rw-r--r--engines/mohawk/myst_stacks/mechanical.cpp36
-rw-r--r--engines/mohawk/myst_stacks/mechanical.h6
-rw-r--r--engines/mohawk/myst_stacks/myst.cpp41
-rw-r--r--engines/mohawk/myst_stacks/myst.h10
-rw-r--r--engines/mohawk/myst_stacks/preview.cpp11
-rw-r--r--engines/mohawk/myst_stacks/preview.h4
-rw-r--r--engines/mohawk/myst_stacks/selenitic.cpp39
-rw-r--r--engines/mohawk/myst_stacks/selenitic.h6
-rw-r--r--engines/mohawk/myst_stacks/slides.cpp8
-rw-r--r--engines/mohawk/myst_stacks/slides.h4
-rw-r--r--engines/mohawk/myst_stacks/stoneship.cpp33
-rw-r--r--engines/mohawk/myst_stacks/stoneship.h6
24 files changed, 218 insertions, 56 deletions
diff --git a/engines/mohawk/myst_stacks/channelwood.cpp b/engines/mohawk/myst_stacks/channelwood.cpp
index 17df749c74..8d95be0f79 100644
--- a/engines/mohawk/myst_stacks/channelwood.cpp
+++ b/engines/mohawk/myst_stacks/channelwood.cpp
@@ -37,7 +37,13 @@ namespace Mohawk {
namespace MystStacks {
Channelwood::Channelwood(MohawkEngine_Myst *vm) :
- MystScriptParser(vm), _state(vm->_gameState->_channelwood) {
+ MystScriptParser(vm),
+ _state(vm->_gameState->_channelwood),
+ _valveVar(0),
+ _siriusDrawerState(0),
+ _doorOpened(0),
+ _leverPulled(false),
+ _leverAction(nullptr) {
setupOpcodes();
}
diff --git a/engines/mohawk/myst_stacks/channelwood.h b/engines/mohawk/myst_stacks/channelwood.h
index 6b8ba9dff7..3302a8e17b 100644
--- a/engines/mohawk/myst_stacks/channelwood.h
+++ b/engines/mohawk/myst_stacks/channelwood.h
@@ -37,8 +37,8 @@ namespace MystStacks {
class Channelwood : public MystScriptParser {
public:
- Channelwood(MohawkEngine_Myst *vm);
- ~Channelwood();
+ explicit Channelwood(MohawkEngine_Myst *vm);
+ ~Channelwood() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
@@ -49,7 +49,7 @@ private:
void toggleVar(uint16 var) override;
bool setVarValue(uint16 var, uint16 value) override;
- virtual uint16 getMap() override { return 9932; }
+ uint16 getMap() override { return 9932; }
DECLARE_OPCODE(o_bridgeToggle);
DECLARE_OPCODE(o_pipeExtend);
diff --git a/engines/mohawk/myst_stacks/credits.cpp b/engines/mohawk/myst_stacks/credits.cpp
index ba49ac2201..2d3b3669c2 100644
--- a/engines/mohawk/myst_stacks/credits.cpp
+++ b/engines/mohawk/myst_stacks/credits.cpp
@@ -34,9 +34,11 @@ namespace MystStacks {
// NOTE: Credits Start Card is 10000
-Credits::Credits(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
+Credits::Credits(MohawkEngine_Myst *vm) :
+ MystScriptParser(vm),
+ _creditsRunning(false),
+ _curImage(0) {
setupOpcodes();
- _curImage = 0;
}
Credits::~Credits() {
diff --git a/engines/mohawk/myst_stacks/credits.h b/engines/mohawk/myst_stacks/credits.h
index bea5381534..966d93068a 100644
--- a/engines/mohawk/myst_stacks/credits.h
+++ b/engines/mohawk/myst_stacks/credits.h
@@ -37,8 +37,8 @@ namespace MystStacks {
class Credits : public MystScriptParser {
public:
- Credits(MohawkEngine_Myst *vm);
- ~Credits();
+ explicit Credits(MohawkEngine_Myst *vm);
+ ~Credits() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
diff --git a/engines/mohawk/myst_stacks/demo.cpp b/engines/mohawk/myst_stacks/demo.cpp
index 7ae55686c5..d2ba70c198 100644
--- a/engines/mohawk/myst_stacks/demo.cpp
+++ b/engines/mohawk/myst_stacks/demo.cpp
@@ -30,10 +30,12 @@
namespace Mohawk {
namespace MystStacks {
-Demo::Demo(MohawkEngine_Myst *vm) : Intro(vm) {
+Demo::Demo(MohawkEngine_Myst *vm) :
+ Intro(vm),
+ _returnToMenuRunning(false),
+ _returnToMenuStep(0),
+ _returnToMenuNextTime(0) {
setupOpcodes();
-
- _returnToMenuStep = 0;
}
Demo::~Demo() {
diff --git a/engines/mohawk/myst_stacks/demo.h b/engines/mohawk/myst_stacks/demo.h
index 337ddaae98..acb224b6cf 100644
--- a/engines/mohawk/myst_stacks/demo.h
+++ b/engines/mohawk/myst_stacks/demo.h
@@ -37,8 +37,8 @@ namespace MystStacks {
class Demo : public Intro {
public:
- Demo(MohawkEngine_Myst *vm);
- ~Demo();
+ explicit Demo(MohawkEngine_Myst *vm);
+ ~Demo() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
@@ -52,8 +52,6 @@ private:
DECLARE_OPCODE(o_returnToMenu_init);
- DECLARE_OPCODE(opcode_300);
-
bool _returnToMenuRunning;
uint16 _returnToMenuStep; // 42
uint32 _returnToMenuNextTime; // 6
diff --git a/engines/mohawk/myst_stacks/dni.cpp b/engines/mohawk/myst_stacks/dni.cpp
index ba53c70037..7c226ede40 100644
--- a/engines/mohawk/myst_stacks/dni.cpp
+++ b/engines/mohawk/myst_stacks/dni.cpp
@@ -34,9 +34,15 @@ namespace Mohawk {
namespace MystStacks {
Dni::Dni(MohawkEngine_Myst *vm) :
- MystScriptParser(vm) {
+ MystScriptParser(vm),
+ _notSeenAtrus(true),
+ _atrusRunning(false),
+ _waitForLoop(false),
+ _atrusLeft(false),
+ _atrusLeftTime(0),
+ _loopStart(0),
+ _loopEnd(0) {
setupOpcodes();
- _notSeenAtrus = true;
}
Dni::~Dni() {
diff --git a/engines/mohawk/myst_stacks/dni.h b/engines/mohawk/myst_stacks/dni.h
index 7ba49b1936..30c9329fe6 100644
--- a/engines/mohawk/myst_stacks/dni.h
+++ b/engines/mohawk/myst_stacks/dni.h
@@ -37,8 +37,8 @@ namespace MystStacks {
class Dni : public MystScriptParser {
public:
- Dni(MohawkEngine_Myst *vm);
- ~Dni();
+ explicit Dni(MohawkEngine_Myst *vm);
+ ~Dni() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
diff --git a/engines/mohawk/myst_stacks/intro.cpp b/engines/mohawk/myst_stacks/intro.cpp
index 2b431e834a..44be90b5f4 100644
--- a/engines/mohawk/myst_stacks/intro.cpp
+++ b/engines/mohawk/myst_stacks/intro.cpp
@@ -31,7 +31,12 @@
namespace Mohawk {
namespace MystStacks {
-Intro::Intro(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
+Intro::Intro(MohawkEngine_Myst *vm) :
+ MystScriptParser(vm),
+ _introMoviesRunning(false),
+ _introStep(0),
+ _linkBookRunning(false),
+ _linkBookMovie(nullptr) {
setupOpcodes();
}
diff --git a/engines/mohawk/myst_stacks/intro.h b/engines/mohawk/myst_stacks/intro.h
index 938a30e691..ec78199802 100644
--- a/engines/mohawk/myst_stacks/intro.h
+++ b/engines/mohawk/myst_stacks/intro.h
@@ -38,8 +38,8 @@ namespace MystStacks {
class Intro : public MystScriptParser {
public:
- Intro(MohawkEngine_Myst *vm);
- ~Intro();
+ explicit Intro(MohawkEngine_Myst *vm);
+ ~Intro() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
diff --git a/engines/mohawk/myst_stacks/makingof.cpp b/engines/mohawk/myst_stacks/makingof.cpp
index 2907c53231..4e0ce516b8 100644
--- a/engines/mohawk/myst_stacks/makingof.cpp
+++ b/engines/mohawk/myst_stacks/makingof.cpp
@@ -30,7 +30,8 @@
namespace Mohawk {
namespace MystStacks {
-MakingOf::MakingOf(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
+MakingOf::MakingOf(MohawkEngine_Myst *vm) :
+ MystScriptParser(vm) {
setupOpcodes();
}
diff --git a/engines/mohawk/myst_stacks/makingof.h b/engines/mohawk/myst_stacks/makingof.h
index cdc64d2991..f65c9696c3 100644
--- a/engines/mohawk/myst_stacks/makingof.h
+++ b/engines/mohawk/myst_stacks/makingof.h
@@ -37,8 +37,8 @@ namespace MystStacks {
class MakingOf : public MystScriptParser {
public:
- MakingOf(MohawkEngine_Myst *vm);
- ~MakingOf();
+ explicit MakingOf(MohawkEngine_Myst *vm);
+ ~MakingOf() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
diff --git a/engines/mohawk/myst_stacks/mechanical.cpp b/engines/mohawk/myst_stacks/mechanical.cpp
index bd5406a4f1..5e920f91bc 100644
--- a/engines/mohawk/myst_stacks/mechanical.cpp
+++ b/engines/mohawk/myst_stacks/mechanical.cpp
@@ -36,23 +36,53 @@ namespace Mohawk {
namespace MystStacks {
Mechanical::Mechanical(MohawkEngine_Myst *vm) :
- MystScriptParser(vm), _state(vm->_gameState->_mechanical) {
+ MystScriptParser(vm),
+ _state(vm->_gameState->_mechanical) {
setupOpcodes();
_elevatorGoingMiddle = false;
_elevatorPosition = 0;
+ _elevatorGoingDown = 0;
+ _elevatorRotationSpeed = 0;
+ _elevatorRotationGearPosition = 0;
+ _elevatorRotationSoundId = 0;
+ _elevatorRotationLeverMoving = false;
+ _elevatorTooLate = false;
+ _elevatorInCabin = false;
+ _elevatorTopCounter = 0;
+ _elevatorNextTime = 0;
_crystalLit = 0;
_mystStaircaseState = false;
_fortressPosition = 0;
- _fortressRotationSpeed = 0;
- _fortressSimulationSpeed = 0;
_gearsWereRunning = false;
_fortressRotationShortMovieWorkaround = false;
_fortressRotationShortMovieCount = 0;
_fortressRotationShortMovieLast = 0;
+
+ _fortressRotationRunning = false;
+ _fortressRotationSpeed = 0;
+ _fortressRotationBrake = 0;
+ _fortressRotationGears = nullptr;
+
+ _fortressSimulationRunning = false;
+ _fortressSimulationInit = false;
+ _fortressSimulationSpeed = 0;
+ _fortressSimulationBrake = 0;
+ _fortressSimulationStartSound1 = 0;
+ _fortressSimulationStartSound2 = 0;
+ _fortressSimulationHolo = nullptr;
+ _fortressSimulationStartup = nullptr;
+ _fortressSimulationHoloRate = 0;
+
+ _birdSinging = false;
+ _birdCrankStartTime = 0;
+ _birdSingEndTime = 0;
+ _bird = nullptr;
+
+ _snakeBox = nullptr;
}
Mechanical::~Mechanical() {
diff --git a/engines/mohawk/myst_stacks/mechanical.h b/engines/mohawk/myst_stacks/mechanical.h
index 46cfe687a0..52cd7e7732 100644
--- a/engines/mohawk/myst_stacks/mechanical.h
+++ b/engines/mohawk/myst_stacks/mechanical.h
@@ -37,8 +37,8 @@ namespace MystStacks {
class Mechanical : public MystScriptParser {
public:
- Mechanical(MohawkEngine_Myst *vm);
- ~Mechanical();
+ explicit Mechanical(MohawkEngine_Myst *vm);
+ ~Mechanical() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
@@ -49,7 +49,7 @@ private:
void toggleVar(uint16 var) override;
bool setVarValue(uint16 var, uint16 value) override;
- virtual uint16 getMap() override { return 9931; }
+ uint16 getMap() override { return 9931; }
void birdSing_run();
void elevatorRotation_run();
diff --git a/engines/mohawk/myst_stacks/myst.cpp b/engines/mohawk/myst_stacks/myst.cpp
index dbc4ff55b8..764fb04eda 100644
--- a/engines/mohawk/myst_stacks/myst.cpp
+++ b/engines/mohawk/myst_stacks/myst.cpp
@@ -37,7 +37,8 @@ namespace Mohawk {
namespace MystStacks {
Myst::Myst(MohawkEngine_Myst *vm) :
- MystScriptParser(vm), _state(_vm->_gameState->_myst) {
+ MystScriptParser(vm),
+ _state(_vm->_gameState->_myst) {
setupOpcodes();
// Card ID preinitialized by the engine for use by opcode 18
@@ -45,22 +46,56 @@ Myst::Myst(MohawkEngine_Myst *vm) :
_savedCardId = 4329;
_towerRotationBlinkLabel = false;
+ _towerRotationSpeed = 0;
+ _towerRotationMapClicked = false;
+ _towerRotationOverSpot = false;
+
_libraryBookcaseChanged = false;
_dockVaultState = 0;
+
_cabinDoorOpened = 0;
_cabinHandleDown = 0;
_cabinMatchState = 2;
_cabinGaugeMovieEnabled = false;
+
+ _boilerPressureIncreasing = false;
+ _boilerPressureDecreasing = false;
+ _basementPressureIncreasing = false;
+ _basementPressureDecreasing = false;
+
_matchBurning = false;
+ _matchGoOutCnt = 0;
+ _matchGoOutTime = 0;
+
_tree = nullptr;
_treeAlcove = nullptr;
_treeStopped = false;
_treeMinPosition = 0;
+ _treeMinAccessiblePosition = 0;
+ _treeMaxAccessiblePosition = 0;
+
_imagerValidationStep = 0;
- _observatoryCurrentSlider = nullptr;
_butterfliesMoviePlayed = false;
_state.treeLastMoveTime = _vm->_system->getMillis();
_rocketPianoSound = 0;
+
+ _observatoryRunning = false;
+ _observatoryMonthChanging = false;
+ _observatoryDayChanging = false;
+ _observatoryYearChanging = false;
+ _observatoryTimeChanging = false;
+ _observatoryVisualizer = nullptr;
+ _observatoryGoButton = nullptr;
+ _observatoryCurrentSlider = nullptr;
+ _observatoryDaySlider = nullptr;
+ _observatoryMonthSlider = nullptr;
+ _observatoryYearSlider = nullptr;
+ _observatoryTimeSlider = nullptr;
+ _observatoryLastTime = 0;
+ _observatoryNotInitialized = true;
+ _observatoryIncrement = 0;
+
+ _greenBookRunning = false;
}
Myst::~Myst() {
@@ -2260,7 +2295,7 @@ void Myst::o_rocketPianoMove(uint16 var, const ArgumentsArray &args) {
if (piano.contains(mouse)) {
MystArea *resource = _vm->forceUpdateClickedResource();
- if (resource && resource->type == kMystAreaDrag) {
+ if (resource && resource->hasType(kMystAreaDrag)) {
// Press new key
key = static_cast<MystAreaDrag *>(resource);
src = key->getSubImage(1).rect;
diff --git a/engines/mohawk/myst_stacks/myst.h b/engines/mohawk/myst_stacks/myst.h
index 210012616f..2cffb39ac3 100644
--- a/engines/mohawk/myst_stacks/myst.h
+++ b/engines/mohawk/myst_stacks/myst.h
@@ -37,11 +37,11 @@ namespace MystStacks {
class Myst : public MystScriptParser {
public:
- Myst(MohawkEngine_Myst *vm);
- ~Myst();
+ explicit Myst(MohawkEngine_Myst *vm);
+ ~Myst() override;
- virtual void disablePersistentScripts() override;
- virtual void runPersistentScripts() override;
+ void disablePersistentScripts() override;
+ void runPersistentScripts() override;
protected:
void setupOpcodes();
@@ -49,7 +49,7 @@ protected:
void toggleVar(uint16 var) override;
bool setVarValue(uint16 var, uint16 value) override;
- virtual uint16 getMap() override { return 9934; }
+ uint16 getMap() override { return 9934; }
void towerRotationMap_run();
virtual void libraryBookcaseTransform_run();
diff --git a/engines/mohawk/myst_stacks/preview.cpp b/engines/mohawk/myst_stacks/preview.cpp
index bc0dd04360..49fef62ad6 100644
--- a/engines/mohawk/myst_stacks/preview.cpp
+++ b/engines/mohawk/myst_stacks/preview.cpp
@@ -34,9 +34,18 @@
namespace Mohawk {
namespace MystStacks {
-Preview::Preview(MohawkEngine_Myst *vm) : Myst(vm) {
+Preview::Preview(MohawkEngine_Myst *vm) :
+ Myst(vm) {
setupOpcodes();
_vm->_cursor->hideCursor();
+
+ _libraryState = 0;
+ _library = nullptr;
+
+ _speechRunning = false;
+ _speechStep = 0;
+ _currentCue = 0;
+ _speechNextTime = 0;
}
Preview::~Preview() {
diff --git a/engines/mohawk/myst_stacks/preview.h b/engines/mohawk/myst_stacks/preview.h
index 6c0fe83b42..a27fec7cd1 100644
--- a/engines/mohawk/myst_stacks/preview.h
+++ b/engines/mohawk/myst_stacks/preview.h
@@ -39,8 +39,8 @@ namespace MystStacks {
class Preview : public Myst {
public:
- Preview(MohawkEngine_Myst *vm);
- ~Preview();
+ explicit Preview(MohawkEngine_Myst *vm);
+ ~Preview() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
diff --git a/engines/mohawk/myst_stacks/selenitic.cpp b/engines/mohawk/myst_stacks/selenitic.cpp
index 0f1949f128..246315013b 100644
--- a/engines/mohawk/myst_stacks/selenitic.cpp
+++ b/engines/mohawk/myst_stacks/selenitic.cpp
@@ -36,15 +36,48 @@ namespace Mohawk {
namespace MystStacks {
Selenitic::Selenitic(MohawkEngine_Myst *vm) :
- MystScriptParser(vm), _state(vm->_gameState->_selenitic) {
+ MystScriptParser(vm),
+ _state(vm->_gameState->_selenitic) {
setupOpcodes();
+
_mazeRunnerPosition = 288;
_mazeRunnerDirection = 8;
_mazeRunnerDoorOpened = false;
+ _mazeRunnerWindow = nullptr;
+ _mazeRunnerCompass = nullptr;
+ _mazeRunnerLight = nullptr;
+ _mazeRunnerRightButton = nullptr;
+ _mazeRunnerLeftButton = nullptr;
+ _soundReceiverRunning = false;
_soundReceiverDirection = 0;
_soundReceiverStartTime = 0;
_soundReceiverNearBlinkCounter = 0;
+ _soundReceiverSigmaPressed = false;
+
+ for (uint i = 0; i < ARRAYSIZE(_soundReceiverSources); i++) {
+ _soundReceiverSources[i] = nullptr;
+ }
+
+ _soundReceiverCurrentSource = nullptr;
+ _soundReceiverPosition = nullptr;
+ _soundReceiverSpeed = 0;
+ _soundReceiverViewer = nullptr;
+ _soundReceiverRightButton = nullptr;
+ _soundReceiverLeftButton = nullptr;
+ _soundReceiverAngle1 = nullptr;
+ _soundReceiverAngle2 = nullptr;
+ _soundReceiverAngle3 = nullptr;
+ _soundReceiverAngle4 = nullptr;
+ _soundReceiverSigmaButton = nullptr;
+
+ _soundLockSoundId = 0;
+ _soundLockSlider1 = nullptr;
+ _soundLockSlider2 = nullptr;
+ _soundLockSlider3 = nullptr;
+ _soundLockSlider4 = nullptr;
+ _soundLockSlider5 = nullptr;
+ _soundLockButton = nullptr;
}
Selenitic::~Selenitic() {
@@ -1072,7 +1105,7 @@ void Selenitic::o_soundReceiver_init(uint16 var, const ArgumentsArray &args) {
void Selenitic::o_soundLock_init(uint16 var, const ArgumentsArray &args) {
for (uint i = 0; i < _vm->_resources.size(); i++) {
- if (_vm->_resources[i]->type == kMystAreaSlider) {
+ if (_vm->_resources[i]->hasType(kMystAreaSlider)) {
switch (_vm->_resources[i]->getImageSwitchVar()) {
case 20:
_soundLockSlider1 = _vm->getViewResource<MystAreaSlider>(i);
@@ -1095,7 +1128,7 @@ void Selenitic::o_soundLock_init(uint16 var, const ArgumentsArray &args) {
_soundLockSlider5->setStep(_state.soundLockSliderPositions[4]);
break;
}
- } else if (_vm->_resources[i]->type == kMystAreaImageSwitch && _vm->_resources[i]->getImageSwitchVar() == 28) {
+ } else if (_vm->_resources[i]->hasType(kMystAreaImageSwitch) && _vm->_resources[i]->getImageSwitchVar() == 28) {
_soundLockButton = _vm->getViewResource<MystAreaImageSwitch>(i);
}
}
diff --git a/engines/mohawk/myst_stacks/selenitic.h b/engines/mohawk/myst_stacks/selenitic.h
index 341886d20b..1dc1505ec2 100644
--- a/engines/mohawk/myst_stacks/selenitic.h
+++ b/engines/mohawk/myst_stacks/selenitic.h
@@ -38,8 +38,8 @@ namespace MystStacks {
class Selenitic : public MystScriptParser {
public:
- Selenitic(MohawkEngine_Myst *vm);
- ~Selenitic();
+ explicit Selenitic(MohawkEngine_Myst *vm);
+ ~Selenitic() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
@@ -50,7 +50,7 @@ private:
void toggleVar(uint16 var) override;
bool setVarValue(uint16 var, uint16 value) override;
- virtual uint16 getMap() override { return 9930; }
+ uint16 getMap() override { return 9930; }
DECLARE_OPCODE(o_mazeRunnerMove);
DECLARE_OPCODE(o_mazeRunnerSoundRepeat);
diff --git a/engines/mohawk/myst_stacks/slides.cpp b/engines/mohawk/myst_stacks/slides.cpp
index f8c388d7bc..25d5cf480d 100644
--- a/engines/mohawk/myst_stacks/slides.cpp
+++ b/engines/mohawk/myst_stacks/slides.cpp
@@ -33,9 +33,15 @@
namespace Mohawk {
namespace MystStacks {
-Slides::Slides(MohawkEngine_Myst *vm) : MystScriptParser(vm) {
+Slides::Slides(MohawkEngine_Myst *vm) :
+ MystScriptParser(vm) {
setupOpcodes();
+
_vm->_cursor->hideCursor();
+
+ _cardSwapEnabled = false;
+ _nextCardID = 0;
+ _nextCardTime = 0;
}
Slides::~Slides() {
diff --git a/engines/mohawk/myst_stacks/slides.h b/engines/mohawk/myst_stacks/slides.h
index 63fd9c823e..6970c3b3f0 100644
--- a/engines/mohawk/myst_stacks/slides.h
+++ b/engines/mohawk/myst_stacks/slides.h
@@ -37,8 +37,8 @@ namespace MystStacks {
class Slides : public MystScriptParser {
public:
- Slides(MohawkEngine_Myst *vm);
- ~Slides();
+ explicit Slides(MohawkEngine_Myst *vm);
+ ~Slides() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
diff --git a/engines/mohawk/myst_stacks/stoneship.cpp b/engines/mohawk/myst_stacks/stoneship.cpp
index 534efe7197..046aa5f9e7 100644
--- a/engines/mohawk/myst_stacks/stoneship.cpp
+++ b/engines/mohawk/myst_stacks/stoneship.cpp
@@ -37,10 +37,14 @@ namespace Mohawk {
namespace MystStacks {
Stoneship::Stoneship(MohawkEngine_Myst *vm) :
- MystScriptParser(vm), _state(vm->_gameState->_stoneship) {
+ MystScriptParser(vm),
+ _state(vm->_gameState->_stoneship) {
setupOpcodes();
_tunnelRunning = false;
+ _tunnelNextTime = 0;
+ _tunnelAlarmSound = 0;
+ _tunnelImagesCount = 0;
_state.lightState = 0;
_state.generatorDepletionTime = 0;
@@ -61,6 +65,31 @@ Stoneship::Stoneship(MohawkEngine_Myst *vm) :
_state.generatorPowerAvailable = 2;
else
_state.generatorPowerAvailable = 0;
+
+ _batteryCharging = false;
+ _batteryDepleting = false;
+ _batteryNextTime = 0;
+ _batteryLastCharge = 0;
+ _batteryGaugeRunning = false;
+ _batteryGauge = nullptr;
+
+ _hologramTurnedOn = 0;
+ _hologramDisplay = nullptr;
+ _hologramSelection = nullptr;
+ _hologramDisplayPos = 0;
+
+ _telescopeRunning = false;
+ _telescopePosition = 0;
+ _telescopePanorama = 0;
+ _telescopeOldMouse = 0;
+ _telescopeLighthouseOff = 0;
+ _telescopeLighthouseOn = 0;
+ _telescopeLighthouseState = false;
+ _telescopeNexTime = 0;
+
+ _cloudOrbMovie = nullptr;
+ _cloudOrbSound = 0;
+ _cloudOrbStopSound = 0;
}
Stoneship::~Stoneship() {
@@ -399,7 +428,7 @@ void Stoneship::o_pumpTurnOff(uint16 var, const ArgumentsArray &args) {
for (uint i = 0; i < _vm->_resources.size(); i++) {
MystArea *resource = _vm->_resources[i];
- if (resource->type == kMystAreaImageSwitch && resource->getImageSwitchVar() == buttonVar) {
+ if (resource->hasType(kMystAreaImageSwitch) && resource->getImageSwitchVar() == buttonVar) {
static_cast<MystAreaImageSwitch *>(resource)->drawConditionalDataToScreen(0, true);
break;
}
diff --git a/engines/mohawk/myst_stacks/stoneship.h b/engines/mohawk/myst_stacks/stoneship.h
index dca7ce8fd3..64f58ec427 100644
--- a/engines/mohawk/myst_stacks/stoneship.h
+++ b/engines/mohawk/myst_stacks/stoneship.h
@@ -37,8 +37,8 @@ namespace MystStacks {
class Stoneship : public MystScriptParser {
public:
- Stoneship(MohawkEngine_Myst *vm);
- ~Stoneship();
+ explicit Stoneship(MohawkEngine_Myst *vm);
+ ~Stoneship() override;
void disablePersistentScripts() override;
void runPersistentScripts() override;
@@ -49,7 +49,7 @@ private:
void toggleVar(uint16 var) override;
bool setVarValue(uint16 var, uint16 value) override;
- virtual uint16 getMap() override { return 9933; }
+ uint16 getMap() override { return 9933; }
DECLARE_OPCODE(o_pumpTurnOff);
DECLARE_OPCODE(o_brotherDoorOpen);