From 09c35e99b8d06a883eeab10a4f3955c0a3777973 Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Sat, 15 Jan 2011 19:11:53 +0000 Subject: MOHAWK: Implement Myst's clock tower gears puzzle svn-id: r55253 --- engines/mohawk/myst_stacks/myst.h | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'engines/mohawk/myst_stacks/myst.h') 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(); -- cgit v1.2.3