aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_stacks/mechanical.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk/myst_stacks/mechanical.h')
-rw-r--r--engines/mohawk/myst_stacks/mechanical.h57
1 files changed, 42 insertions, 15 deletions
diff --git a/engines/mohawk/myst_stacks/mechanical.h b/engines/mohawk/myst_stacks/mechanical.h
index 6a0aa30f5c..3bd7f2d71b 100644
--- a/engines/mohawk/myst_stacks/mechanical.h
+++ b/engines/mohawk/myst_stacks/mechanical.h
@@ -18,9 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * $URL$
- * $Id$
- *
*/
#ifndef MYST_SCRIPTS_MECHANICAL_H
@@ -52,23 +49,34 @@ private:
void toggleVar(uint16 var);
bool setVarValue(uint16 var, uint16 value);
- void opcode_202_run();
- void opcode_202_disable();
+ virtual uint16 getMap() { return 9931; }
+
+ void birdSing_run();
void elevatorRotation_run();
void elevatorGoMiddle_run();
- void opcode_205_run();
- void opcode_205_disable();
- void opcode_206_run();
- void opcode_206_disable();
- void opcode_209_run();
- void opcode_209_disable();
+ void fortressRotation_run();
+ void fortressSimulation_run();
DECLARE_OPCODE(o_throneEnablePassage);
+ DECLARE_OPCODE(o_birdCrankStart);
+ DECLARE_OPCODE(o_birdCrankStop);
DECLARE_OPCODE(o_snakeBoxTrigger);
DECLARE_OPCODE(o_fortressStaircaseMovie);
DECLARE_OPCODE(o_elevatorRotationStart);
DECLARE_OPCODE(o_elevatorRotationMove);
DECLARE_OPCODE(o_elevatorRotationStop);
+ DECLARE_OPCODE(o_fortressRotationSpeedStart);
+ DECLARE_OPCODE(o_fortressRotationSpeedMove);
+ DECLARE_OPCODE(o_fortressRotationSpeedStop);
+ DECLARE_OPCODE(o_fortressRotationBrakeStart);
+ DECLARE_OPCODE(o_fortressRotationBrakeMove);
+ DECLARE_OPCODE(o_fortressRotationBrakeStop);
+ DECLARE_OPCODE(o_fortressSimulationSpeedStart);
+ DECLARE_OPCODE(o_fortressSimulationSpeedMove);
+ DECLARE_OPCODE(o_fortressSimulationSpeedStop);
+ DECLARE_OPCODE(o_fortressSimulationBrakeStart);
+ DECLARE_OPCODE(o_fortressSimulationBrakeMove);
+ DECLARE_OPCODE(o_fortressSimulationBrakeStop);
DECLARE_OPCODE(o_elevatorWindowMovie);
DECLARE_OPCODE(o_elevatorGoMiddle);
DECLARE_OPCODE(o_elevatorTopMovie);
@@ -84,18 +92,31 @@ private:
DECLARE_OPCODE(o_throne_init);
DECLARE_OPCODE(o_fortressStaircase_init);
- DECLARE_OPCODE(opcode_202);
+ DECLARE_OPCODE(o_bird_init);
DECLARE_OPCODE(o_snakeBox_init);
DECLARE_OPCODE(o_elevatorRotation_init);
- DECLARE_OPCODE(opcode_205);
- DECLARE_OPCODE(opcode_206);
- DECLARE_OPCODE(opcode_209);
+ DECLARE_OPCODE(o_fortressRotation_init);
+ DECLARE_OPCODE(o_fortressSimulation_init);
+ DECLARE_OPCODE(o_fortressSimulationStartup_init);
MystGameState::Mechanical &_state;
bool _mystStaircaseState; // 76
+ bool _fortressRotationRunning;
+ uint16 _fortressRotationSpeed; // 78
+ uint16 _fortressRotationBrake; // 80
uint16 _fortressPosition; // 82
+ uint16 _fortressRotationSounds[4]; // 86 to 92
+ MystResourceType6 *_fortressRotationGears; // 172
+
+ bool _fortressSimulationRunning;
+ uint16 _fortressSimulationSpeed; // 96
+ uint16 _fortressSimulationBrake; // 98
+ uint16 _fortressSimulationStartSound1; // 102
+ uint16 _fortressSimulationStartSound2; // 100
+ MystResourceType6 *_fortressSimulationHolo; // 160
+ MystResourceType6 *_fortressSimulationStartup; // 164
uint16 _elevatorGoingDown; // 112
@@ -113,6 +134,12 @@ private:
uint16 _crystalLit; // 130
+ bool _birdSinging; // 144
+ uint32 _birdCrankStartTime; // 136
+ uint32 _birdSingEndTime; // 140
+ MystResourceType6 *_bird; // 152
+
+
MystResourceType6 *_snakeBox; // 156
};