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 _407h = 0;
125  int _ripEnters = 0;
126  int _stair = 0;
127  machine *_ripley = nullptr;
128  machine *_microscopeCloseup = nullptr;
129  int _ripHiHand1 = 0;
130  int _ripHiHand2 = 0;
131  int _ripMedHand1 = 0;
132  int _ripLowHand1 = 0;
133  int _placeLeverKey = 0;
134  machine *_safariShadow = nullptr;
135  int _rollStuff = 0;
136  int _407rp98 = 0;
137  int _407rp99 = 0;
138  int _pump407 = 0;
139  int _hangRip = 0;
140  int _rptmhr11 = 0;
141 
142  void setHotspots();
143  void lookItem(const char *item, const char *digi);
144  void useMicroscope();
145  void roofPistonPopup();
146  void glassBottomPopup();
147  void glassTopPopup();
148  void glassGonePopup();
149  void pivotPopup();
150  void tabletopPopup();
151  bool lookGlassJar();
152  void fullglassPopup();
153  bool lookEmeraldCork();
154  void periodicTablePopup();
155  bool lookLeverKey();
156  void gardenHoseSurgicalTube();
157  void gardenHoseSurgicalTube2();
158  void surgicalTubeFaucetPipe();
159  void surgicalTubeStem();
160  void reachHand(int frame);
161  void reachLeverKey();
162  void faucetPipeGardenHose();
163  void faucetPipeGlassJar();
164  void gardenHoseFaucetPipe();
165  void surgicalTubeGardenHose();
166  void emeraldIronSupport();
167  void placeLeverKey();
168  void rubberPlugGlassJar();
169  void rubberPlugGlassJar2();
170  void corkGlassJar();
171  void corkGlassJar2();
172  void pumpGripsGlassJar();
173  void periodicTableGlassJar();
174  void surgicalTubeNozzles();
175  void leverKeyTablePivot();
176  void pumpRodBracket();
177  void leverKey1();
178  void leverKey2();
179  void faucetHandleAirValve();
180  void faucetPipeFaucetHandle1();
181  void faucetPipeFaucetHandle2();
182  void pumpRodPump();
183  void pumpGripsPump();
184  void useButton1();
185  void useButton2();
186  void useButton3();
187  void useButton4();
188  void checkCode();
189  void useButtons();
190  void useLeverKey();
191  void useFaucet();
192  void useValveHandle();
193  bool usePump();
194  void usePump2();
195  void takeLetter();
196  void takeFaucetPipe1();
197  void takeFaucetPipe2();
198  void takeFaucetPipe3();
199  void takeSurgicalTube1();
200  void takeSurgicalTube2();
201  void takeSurgicalTube3();
202  void takeGardenHose1();
203  void takeGardenHose2();
204  void takeGardenHose3();
205  void takeGardenHose4();
206  void takeGlassJar1();
207  void takeGlassJar2();
208  void takePeriodicTable1();
209  void takePeriodicTable2();
210  void takeJarGrips();
211  void takeJarCork1();
212  void takeJarCork2();
213  void takeJarRubberPlug1();
214  void takeJarRubberPlug2();
215  void takeNozzlesTube();
216  void takeLeverKey1();
217  void takeLeverKey2();
218  void takeLeverKey3();
219  void takeAirValveHandle();
220  void takeFaucetHandle();
221  void takePumpRod1();
222  void takePumpRod2();
223  void takePumpRod3();
224  void takePumpGrips1();
225  void takePumpGrips2();
226  void takeRubberPlug();
227  void takeSurgicalTube();
228 
229 public:
230  Room407() : Room() {}
231  ~Room407() override {}
232 
233  void preload() override;
234  void init() override;
235  void daemon() override;
236  void pre_parser() override;
237  void parser() override;
238 };
239 
240 } // namespace Rooms
241 } // namespace Riddle
242 } // namespace M4
243 
244 #endif
Definition: ws_machine.h:130
Definition: room407.h:31
Definition: database.h:28
Definition: room.h:35