ScummVM API documentation
room407.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef M4_RIDDLE_ROOMS_SECTION4_ROOM407_H
23#define M4_RIDDLE_ROOMS_SECTION4_ROOM407_H
24
25#include "m4/riddle/rooms/room.h"
26
27namespace M4 {
28namespace Riddle {
29namespace Rooms {
30
31class Room407 : public Room {
32private:
33 int _val1 = 0;
34 int _val2 = 0;
35 int _valveState2 = 0;
36 int _valveState1 = 0;
37 int _drawerState = 0;
38 int _val6 = 0;
39 int _val7 = 0;
40 int _faucetPipeState = 0;
41 int _airValveState = 0;
42 int _leverKeyState = 0;
43 int _rodState = 0;
44 int _hoseState = 0;
45 int _tubeState = 0;
46 int _pumpState = 0;
47 int _stopperState = 0;
48 int _periodicTableState = 0;
49 int _xyzzy7 = 0;
50 int _items2State = 0;
51 int _corkState = 0;
52 int _xyzzy10 = 0;
53 int _faucetHookedToJar = 0;
54 int _frotz2 = 0;
55 int _frotz3 = 0;
56 int _frotz4 = 0;
57 int _frotz5 = 0;
58 int _frotz6 = 0;
59 int _frotz7 = 0;
60 int _frotz8 = 0;
61 int _lookedAtLever = 0;
62 int _tabletopState = 0;
63 int _pivotState = 0;
64 int _fullGlassState = 0;
65 int _glassTopState = 0;
66 int _glassBottomState = 0;
67 int _roofPistonState = 0;
68 int _glassGoneState = 0;
69 int _comboLockState = 0;
70 int _buttonFrame1 = 0;
71 int _buttonFrame2 = 0;
72 int _buttonFrame3 = 0;
73 int _buttonFrame4 = 0;
74 bool _codeCorrect = false;
75 int _val11 = 0;
76 int _val15 = 0;
77 int _val16 = 0;
78 int _waterFlowTube = 0;
79 int _waterFlowFaucet = 0;
80 int _waterFlowStem = 0;
81 machine *_bottle = nullptr;
82 machine *_chart = nullptr;
83 machine *_cpist = nullptr;
84 machine *_drawer = nullptr;
85 machine *_escape = nullptr;
86 machine *_faucetPipe = nullptr;
87 machine *_airValve = nullptr;
88 machine *_lever = nullptr;
89 machine *_niche = nullptr;
90 machine *_tpist = nullptr;
91 machine *_pump = nullptr;
92 machine *_bits = nullptr;
93 machine *_star2 = nullptr;
94 machine *_gears = nullptr;
95 machine *_letter = nullptr;
96 int _ripMedReach = 0;
97 machine *_drawerPopup = nullptr;
98 machine *_drawerPopupHose = nullptr;
99 machine *_stopperInDrawer = nullptr;
100 machine *_tubeInDrawer = nullptr;
101 machine *_grips = nullptr;
102 machine *_tabletopPopup = nullptr;
103 machine *_tabletopPopupWithItems1 = nullptr;
104 machine *_tabletopPopupWithItems2 = nullptr;
105 machine *_tabletopPopupWithItems3 = nullptr;
106 machine *_pivotPopup = nullptr;
107 machine *_glassJarPopup = nullptr;
108 machine *_glassTopPopupWithItems1 = nullptr;
109 machine *_glassTopPopupWithItems2 = nullptr;
110 machine *_glassBottomWithItems1 = nullptr;
111 machine *_glassBottomWithItems2 = nullptr;
112 machine *_roofPiston = nullptr;
113 machine *_roofPistonWithItems = nullptr;
114 machine *_glassGone = nullptr;
115 machine *_comboLockPopup = nullptr;
116 int _407pu08a = 0;
117 int _407pu08b = 0;
118 int _407pu08c = 0;
119 int _407pu08d = 0;
120 machine *_lockButton1 = nullptr;
121 machine *_lockButton2 = nullptr;
122 machine *_lockButton3 = nullptr;
123 machine *_lockButton4 = nullptr;
124 int _ripEnters = 0;
125 int _stair = 0;
126 machine *_ripley = nullptr;
127 machine *_microscopeCloseup = nullptr;
128 int _ripHiHand1 = 0;
129 int _ripHiHand2 = 0;
130 int _ripMedHand1 = 0;
131 int _ripLowHand1 = 0;
132 int _placeLeverKey = 0;
133 machine *_safariShadow = nullptr;
134 int _rollStuff = 0;
135 int _407rp98 = 0;
136 int _407rp99 = 0;
137 int _pump407 = 0;
138 int _hangRip = 0;
139 int _rptmhr11 = 0;
140 int _407tpis2 = 0;
141 int _ripHeadTurn = 0;
142 int _jarWaterFallingLeft = 0;
143 int _jarWaterFallingCentre = 0;
144 int _jarWaterFallingRight = 0;
145 machine *_jarLeft = nullptr;
146 machine *_jarCentre = nullptr;
147 machine *_jarRight = nullptr;
148 machine *_sink = nullptr;
149 int _407a = 0;
150 int _407b = 0;
151 int _407c = 0;
152 int _407d = 0;
153 int _407e = 0;
154 int _407h = 0;
155 int _407j = 0;
156 int _407k = 0;
157 int _407l = 0;
158 int _407m = 0;
159 int _407o = 0;
160 int _407p = 0;
161 int _407q = 0;
162 int _407r = 0;
163 int _407s = 0;
164 int _exit = 0;
165
166 void setHotspots();
167 void lookItem(const char *item, const char *digi);
168 void useMicroscope();
169 void roofPistonPopup();
170 void glassBottomPopup();
171 void glassTopPopup();
172 void glassGonePopup();
173 void pivotPopup();
174 void tabletopPopup();
175 bool lookGlassJar();
176 void glassJarPopup();
177 bool lookEmeraldCork();
178 void periodicTablePopup();
179 bool lookLeverKey();
180 void gardenHoseSurgicalTube();
181 void gardenHoseSurgicalTube2();
182 void surgicalTubeFaucetPipe();
183 void surgicalTubeStem();
184 void reachHand(int frame);
185 void reachLeverKey();
186 void faucetPipeGardenHose();
187 void faucetPipeGlassJar();
188 void gardenHoseFaucetPipe();
189 void surgicalTubeGardenHose();
190 void emeraldIronSupport();
191 void placeLeverKey();
192 void rubberPlugGlassJar();
193 void rubberPlugGlassJar2();
194 void corkGlassJar1();
195 void corkGlassJar2();
196 void pumpGripsGlassJar();
197 void periodicTableGlassJar();
198 void surgicalTubeNozzles();
199 void leverKeyTablePivot();
200 void pumpRodBracket();
201 void leverKey1();
202 void leverKey2();
203 void faucetHandleAirValve();
204 void faucetPipeFaucetHandle1();
205 void faucetPipeFaucetHandle2();
206 void pumpRodPump();
207 void pumpGripsPump();
208 void useButton1();
209 void useButton2();
210 void useButton3();
211 void useButton4();
212 void checkCode();
213 void useButtons();
214 void useLeverKey();
215 void useFaucet();
216 void useValveHandle();
217 bool usePump();
218 void usePump2();
219 void takeLetter();
220 void takeFaucetPipe1();
221 void takeFaucetPipe2();
222 void takeFaucetPipe3();
223 void takeSurgicalTube1();
224 void takeSurgicalTube2();
225 void takeSurgicalTube3();
226 void takeGardenHose1();
227 void takeGardenHose2();
228 void takeGardenHose3();
229 void takeGardenHose4();
230 void takeGlassJar1();
231 void takeGlassJar2();
232 void takePeriodicTable1();
233 void takePeriodicTable2();
234 void takeJarGrips();
235 void takeJarCork1();
236 void takeJarCork2();
237 void takeJarRubberPlug1();
238 void takeJarRubberPlug2();
239 void takeNozzlesTube();
240 void takeLeverKeyFromWall();
241 void takeLeverKeyFromBench();
242 void takeLeverKey3();
243 void takeAirValveHandle();
244 void takeFaucetHandle();
245 void takePumpRod1();
246 void takePumpRod2();
247 void takePumpRod3();
248 void takePumpGrips1();
249 void takePumpGrips2();
250 void takeRubberPlug();
251 void takeSurgicalTube();
252
253public:
254 Room407() : Room() {}
255 ~Room407() override {}
256
257 void preload() override;
258 void init() override;
259 void daemon() override;
260 void pre_parser() override;
261 void parser() override;
262 void syncGame(Common::Serializer &s) override;
263};
264
265} // namespace Rooms
266} // namespace Riddle
267} // namespace M4
268
269#endif
Definition: serializer.h:80
Definition: room407.h:31
Definition: room.h:39
Definition: database.h:28
Definition: ws_machine.h:156