22 #ifndef MYST_SCRIPTS_STONESHIP_H 23 #define MYST_SCRIPTS_STONESHIP_H 25 #include "common/scummsys.h" 26 #include "common/util.h" 27 #include "mohawk/myst_scripts.h" 31 struct MystScriptEntry;
33 namespace MystStacks {
35 #define DECLARE_OPCODE(x) void x(uint16 var, const ArgumentsArray &args) 42 void disablePersistentScripts()
override;
43 void runPersistentScripts()
override;
47 uint16 getVar(uint16 var)
override;
48 void toggleVar(uint16 var)
override;
49 bool setVarValue(uint16 var, uint16 value)
override;
51 uint16 getMap()
override {
return 9933; }
53 DECLARE_OPCODE(o_pumpTurnOff);
54 DECLARE_OPCODE(o_brotherDoorOpen);
55 DECLARE_OPCODE(o_cabinBookMovie);
56 DECLARE_OPCODE(o_drawerOpenSirius);
57 DECLARE_OPCODE(o_drawerClose);
58 DECLARE_OPCODE(o_telescopeStart);
59 DECLARE_OPCODE(o_telescopeMove);
60 DECLARE_OPCODE(o_telescopeStop);
61 DECLARE_OPCODE(o_generatorStart);
62 DECLARE_OPCODE(o_generatorStop);
63 DECLARE_OPCODE(o_drawerOpenAchenar);
64 DECLARE_OPCODE(o_hologramPlayback);
65 DECLARE_OPCODE(o_hologramSelectionStart);
66 DECLARE_OPCODE(o_hologramSelectionMove);
67 DECLARE_OPCODE(o_hologramSelectionStop);
68 DECLARE_OPCODE(o_compassButton);
69 DECLARE_OPCODE(o_chestValveVideos);
70 DECLARE_OPCODE(o_chestDropKey);
71 DECLARE_OPCODE(o_trapLockOpen);
72 DECLARE_OPCODE(o_sideDoorsMovies);
73 DECLARE_OPCODE(o_cloudOrbEnter);
74 DECLARE_OPCODE(o_cloudOrbLeave);
75 DECLARE_OPCODE(o_drawerCloseOpened);
77 DECLARE_OPCODE(o_hologramDisplay_init);
78 DECLARE_OPCODE(o_hologramSelection_init);
79 DECLARE_OPCODE(o_battery_init);
80 DECLARE_OPCODE(o_tunnelEnter_init);
81 DECLARE_OPCODE(o_batteryGauge_init);
82 DECLARE_OPCODE(o_tunnel_init);
83 DECLARE_OPCODE(o_tunnelLeave_init);
84 DECLARE_OPCODE(o_chest_init);
85 DECLARE_OPCODE(o_telescope_init);
86 DECLARE_OPCODE(o_achenarDrawers_init);
87 DECLARE_OPCODE(o_cloudOrb_init);
89 void chargeBattery_run();
90 void batteryDeplete_run();
94 bool _batteryCharging;
95 bool _batteryDepleting;
96 uint32 _batteryNextTime;
98 bool _batteryGaugeRunning;
99 uint16 _batteryLastCharge;
101 void batteryGaugeUpdate();
102 void batteryGauge_run();
104 uint16 _cabinMystBookPresent;
106 uint16 _siriusDrawerDrugsOpen;
108 uint16 _brotherDoorOpen;
110 uint16 _chestDrawersOpen;
111 uint16 _chestAchenarBottomDrawerClosed;
112 void drawerClose(uint16 drawer);
114 uint16 _hologramTurnedOn;
117 uint16 _hologramDisplayPos;
120 uint32 _tunnelNextTime;
121 uint16 _tunnelAlarmSound;
122 uint16 _tunnelImagesCount;
123 uint16 _tunnelImages[2];
126 uint16 _telescopePosition;
127 uint16 _telescopePanorama;
128 uint16 _telescopeOldMouse;
129 uint16 _telescopeLighthouseOff;
130 uint16 _telescopeLighthouseOn;
131 bool _telescopeLighthouseState;
132 bool _telescopeRunning;
133 uint32 _telescopeNexTime;
134 void telescope_run();
135 void telescopeLighthouseDraw();
138 uint16 _cloudOrbSound;
139 uint16 _cloudOrbStopSound;
141 uint16 batteryRemainingCharge();
147 #undef DECLARE_OPCODE Definition: myst_areas.h:107
Definition: stoneship.h:37
Definition: myst_state.h:324
Definition: myst_scripts.h:60
Definition: myst_areas.h:154