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 
27 namespace M4 {
28 namespace Riddle {
29 namespace Rooms {
30 
31 class Room407 : public Room {
32 private:
33  int _val1 = 0;
34  int _val2 = 0;
35  int _val3 = 0;
36  int _val4 = 0;
37  int _val5 = 0;
38  int _val6 = 0;
39  int _val7 = 0;
40  int _val8 = 0;
41  int _val9 = 0;
42  int _val10 = 0;
43  int _xyzzy1 = 0;
44  int _xyzzy2 = 0;
45  int _xyzzy3 = 0;
46  int _xyzzy4 = 0;
47  int _xyzzy5 = 0;
48  int _xyzzy6 = 0;
49  int _xyzzy7 = 0;
50  int _xyzzy8 = 0;
51  int _xyzzy9 = 0;
52  int _xyzzy10 = 0;
53  int _frotz1 = 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 _frotz9 = 0;
62  int _frotz10 = 0;
63  int _int1 = 0;
64  int _int2 = 0;
65  int _int3 = 0;
66  int _int4 = 0;
67  int _int5 = 0;
68  int _int6 = 0;
69  int _int7 = 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 *_faucet1 = nullptr;
87  machine *_faucet2 = 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 *_handleInDrawer = nullptr;
102  machine *_tabletopPopup = nullptr;
103  machine *_tabletopPopupWithItems1 = nullptr;
104  machine *_tabletopPopupWithItems2 = nullptr;
105  machine *_tabletopPopupWithItems3 = nullptr;
106  machine *_pivotPopup = nullptr;
107  machine *_glassTopPopup = 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 fullglassPopup();
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 corkGlassJar();
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 takeLeverKey1();
241  void takeLeverKey2();
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 
253 public:
254  Room407() : Room() {}
255  ~Room407() override {}
256 
257  void init() override;
258  void daemon() override;
259  void pre_parser() override;
260  void parser() override;
261 };
262 
263 } // namespace Rooms
264 } // namespace Riddle
265 } // namespace M4
266 
267 #endif
Definition: ws_machine.h:153
Definition: room407.h:31
Definition: database.h:28
Definition: room.h:39