diff options
author | Bastien Bouclet | 2011-01-15 19:11:53 +0000 |
---|---|---|
committer | Bastien Bouclet | 2011-01-15 19:11:53 +0000 |
commit | 09c35e99b8d06a883eeab10a4f3955c0a3777973 (patch) | |
tree | ad23150e1ffea66a8cefa849d183b8975bfcb89f /engines/mohawk/myst_stacks/myst.h | |
parent | 295550b26c2261f371bc86950ec768b1ef460fbd (diff) | |
download | scummvm-rg350-09c35e99b8d06a883eeab10a4f3955c0a3777973.tar.gz scummvm-rg350-09c35e99b8d06a883eeab10a4f3955c0a3777973.tar.bz2 scummvm-rg350-09c35e99b8d06a883eeab10a4f3955c0a3777973.zip |
MOHAWK: Implement Myst's clock tower gears puzzle
svn-id: r55253
Diffstat (limited to 'engines/mohawk/myst_stacks/myst.h')
-rw-r--r-- | engines/mohawk/myst_stacks/myst.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/engines/mohawk/myst_stacks/myst.h b/engines/mohawk/myst_stacks/myst.h index cbb81b2e07..1e70b9aaf2 100644 --- a/engines/mohawk/myst_stacks/myst.h +++ b/engines/mohawk/myst_stacks/myst.h @@ -71,6 +71,7 @@ private: void observatoryYearChange_run(); void observatoryTimeChange_run(); void greenBook_run(); + void clockGears_run(); DECLARE_OPCODE(o_libraryBookPageTurnLeft); DECLARE_OPCODE(o_libraryBookPageTurnRight); @@ -139,6 +140,13 @@ private: DECLARE_OPCODE(o_clockMinuteWheelStartTurn); DECLARE_OPCODE(o_clockWheelEndTurn); DECLARE_OPCODE(o_clockHourWheelStartTurn); + DECLARE_OPCODE(o_clockLeverStartMove); + DECLARE_OPCODE(o_clockLeverMove); + DECLARE_OPCODE(o_clockLeverEndMove); + DECLARE_OPCODE(o_clockResetLeverStartMove); + DECLARE_OPCODE(o_clockResetLeverMove); + DECLARE_OPCODE(o_clockResetLeverEndMove); + DECLARE_OPCODE(o_libraryCombinationBookStartRight); DECLARE_OPCODE(o_libraryCombinationBookStartLeft); DECLARE_OPCODE(o_observatoryTimeChangeStart); @@ -157,7 +165,7 @@ private: DECLARE_OPCODE(o_libraryBookcaseTransform_init); DECLARE_OPCODE(o_generatorControlRoom_init); DECLARE_OPCODE(o_fireplace_init); - DECLARE_OPCODE(opcode_212); + DECLARE_OPCODE(o_clockGears_init); DECLARE_OPCODE(opcode_213); DECLARE_OPCODE(o_observatory_init); DECLARE_OPCODE(opcode_215); @@ -216,6 +224,13 @@ private: uint16 _clockTurningWheel; + VideoHandle _clockGearsVideos[3]; // 148 to 156 + VideoHandle _clockWeightVideo; // 160 + uint16 _clockGearsPositions[3]; // 164 to 168 + uint16 _clockWeightPosition; // 172 + bool _clockMiddleGearMovedAlone; // 176 + bool _clockLeverPulled; // 328 + uint16 _dockVaultState; // 92 bool _towerRotationMapRunning; @@ -279,6 +294,13 @@ private: void clockWheelStartTurn(uint16 wheel); void clockWheelTurn(uint16 var); + void clockGearForwardOneStep(uint16 gear); + void clockWeightDownOneStep(); + void clockGearsCheckSolution(); + void clockReset(); + void clockResetWeight(); + void clockResetGear(uint16 gear); + void towerRotationMapRotate(); void towerRotationDrawBuildings(); uint16 towerRotationMapComputeAngle(); |