File: room407.h

package info (click to toggle)
scummvm 2.9.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 450,268 kB
  • sloc: cpp: 4,297,604; asm: 28,322; python: 12,901; sh: 11,219; java: 8,477; xml: 7,843; perl: 2,633; ansic: 2,465; yacc: 1,670; javascript: 1,020; makefile: 933; lex: 578; awk: 275; objc: 82; sed: 11; php: 1
file content (267 lines) | stat: -rw-r--r-- 6,666 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
/* ScummVM - Graphic Adventure Engine
 *
 * ScummVM is the legal property of its developers, whose names
 * are too numerous to list here. Please refer to the COPYRIGHT
 * file distributed with this source distribution.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

#ifndef M4_RIDDLE_ROOMS_SECTION4_ROOM407_H
#define M4_RIDDLE_ROOMS_SECTION4_ROOM407_H

#include "m4/riddle/rooms/room.h"

namespace M4 {
namespace Riddle {
namespace Rooms {

class Room407 : public Room {
private:
	int _val1 = 0;
	int _val2 = 0;
	int _val3 = 0;
	int _val4 = 0;
	int _val5 = 0;
	int _val6 = 0;
	int _val7 = 0;
	int _val8 = 0;
	int _val9 = 0;
	int _val10 = 0;
	int _xyzzy1 = 0;
	int _xyzzy2 = 0;
	int _xyzzy3 = 0;
	int _xyzzy4 = 0;
	int _xyzzy5 = 0;
	int _xyzzy6 = 0;
	int _xyzzy7 = 0;
	int _xyzzy8 = 0;
	int _xyzzy9 = 0;
	int _xyzzy10 = 0;
	int _frotz1 = 0;
	int _frotz2 = 0;
	int _frotz3 = 0;
	int _frotz4 = 0;
	int _frotz5 = 0;
	int _frotz6 = 0;
	int _frotz7 = 0;
	int _frotz8 = 0;
	int _frotz9 = 0;
	int _frotz10 = 0;
	int _int1 = 0;
	int _int2 = 0;
	int _int3 = 0;
	int _int4 = 0;
	int _int5 = 0;
	int _int6 = 0;
	int _int7 = 0;
	int _buttonFrame1 = 0;
	int _buttonFrame2 = 0;
	int _buttonFrame3 = 0;
	int _buttonFrame4 = 0;
	bool _codeCorrect = false;
	int _val11 = 0;
	int _val15 = 0;
	int _val16 = 0;
	int _waterFlowTube = 0;
	int _waterFlowFaucet = 0;
	int _waterFlowStem = 0;
	machine *_bottle = nullptr;
	machine *_chart = nullptr;
	machine *_cpist = nullptr;
	machine *_drawer = nullptr;
	machine *_escape = nullptr;
	machine *_faucet1 = nullptr;
	machine *_faucet2 = nullptr;
	machine *_lever = nullptr;
	machine *_niche = nullptr;
	machine *_tpist = nullptr;
	machine *_pump = nullptr;
	machine *_bits = nullptr;
	machine *_star2 = nullptr;
	machine *_gears = nullptr;
	machine *_letter = nullptr;
	int _ripMedReach = 0;
	machine *_drawerPopup = nullptr;
	machine *_drawerPopupHose = nullptr;
	machine *_stopperInDrawer = nullptr;
	machine *_tubeInDrawer = nullptr;
	machine *_handleInDrawer = nullptr;
	machine *_tabletopPopup = nullptr;
	machine *_tabletopPopupWithItems1 = nullptr;
	machine *_tabletopPopupWithItems2 = nullptr;
	machine *_tabletopPopupWithItems3 = nullptr;
	machine *_pivotPopup = nullptr;
	machine *_glassTopPopup = nullptr;
	machine *_glassTopPopupWithItems1 = nullptr;
	machine *_glassTopPopupWithItems2 = nullptr;
	machine *_glassBottomWithItems1 = nullptr;
	machine *_glassBottomWithItems2 = nullptr;
	machine *_roofPiston = nullptr;
	machine *_roofPistonWithItems = nullptr;
	machine *_glassGone = nullptr;
	machine *_comboLockPopup = nullptr;
	int _407pu08a = 0;
	int _407pu08b = 0;
	int _407pu08c = 0;
	int _407pu08d = 0;
	machine *_lockButton1 = nullptr;
	machine *_lockButton2 = nullptr;
	machine *_lockButton3 = nullptr;
	machine *_lockButton4 = nullptr;
	int _ripEnters = 0;
	int _stair = 0;
	machine *_ripley = nullptr;
	machine *_microscopeCloseup = nullptr;
	int _ripHiHand1 = 0;
	int _ripHiHand2 = 0;
	int _ripMedHand1 = 0;
	int _ripLowHand1 = 0;
	int _placeLeverKey = 0;
	machine *_safariShadow = nullptr;
	int _rollStuff = 0;
	int _407rp98 = 0;
	int _407rp99 = 0;
	int _pump407 = 0;
	int _hangRip = 0;
	int _rptmhr11 = 0;
	int _407tpis2 = 0;
	int _ripHeadTurn = 0;
	int _jarWaterFallingLeft = 0;
	int _jarWaterFallingCentre = 0;
	int _jarWaterFallingRight = 0;
	machine *_jarLeft = nullptr;
	machine *_jarCentre = nullptr;
	machine *_jarRight = nullptr;
	machine *_sink = nullptr;
	int _407a = 0;
	int _407b = 0;
	int _407c = 0;
	int _407d = 0;
	int _407e = 0;
	int _407h = 0;
	int _407j = 0;
	int _407k = 0;
	int _407l = 0;
	int _407m = 0;
	int _407o = 0;
	int _407p = 0;
	int _407q = 0;
	int _407r = 0;
	int _407s = 0;
	int _exit = 0;

	void setHotspots();
	void lookItem(const char *item, const char *digi);
	void useMicroscope();
	void roofPistonPopup();
	void glassBottomPopup();
	void glassTopPopup();
	void glassGonePopup();
	void pivotPopup();
	void tabletopPopup();
	bool lookGlassJar();
	void fullglassPopup();
	bool lookEmeraldCork();
	void periodicTablePopup();
	bool lookLeverKey();
	void gardenHoseSurgicalTube();
	void gardenHoseSurgicalTube2();
	void surgicalTubeFaucetPipe();
	void surgicalTubeStem();
	void reachHand(int frame);
	void reachLeverKey();
	void faucetPipeGardenHose();
	void faucetPipeGlassJar();
	void gardenHoseFaucetPipe();
	void surgicalTubeGardenHose();
	void emeraldIronSupport();
	void placeLeverKey();
	void rubberPlugGlassJar();
	void rubberPlugGlassJar2();
	void corkGlassJar();
	void corkGlassJar2();
	void pumpGripsGlassJar();
	void periodicTableGlassJar();
	void surgicalTubeNozzles();
	void leverKeyTablePivot();
	void pumpRodBracket();
	void leverKey1();
	void leverKey2();
	void faucetHandleAirValve();
	void faucetPipeFaucetHandle1();
	void faucetPipeFaucetHandle2();
	void pumpRodPump();
	void pumpGripsPump();
	void useButton1();
	void useButton2();
	void useButton3();
	void useButton4();
	void checkCode();
	void useButtons();
	void useLeverKey();
	void useFaucet();
	void useValveHandle();
	bool usePump();
	void usePump2();
	void takeLetter();
	void takeFaucetPipe1();
	void takeFaucetPipe2();
	void takeFaucetPipe3();
	void takeSurgicalTube1();
	void takeSurgicalTube2();
	void takeSurgicalTube3();
	void takeGardenHose1();
	void takeGardenHose2();
	void takeGardenHose3();
	void takeGardenHose4();
	void takeGlassJar1();
	void takeGlassJar2();
	void takePeriodicTable1();
	void takePeriodicTable2();
	void takeJarGrips();
	void takeJarCork1();
	void takeJarCork2();
	void takeJarRubberPlug1();
	void takeJarRubberPlug2();
	void takeNozzlesTube();
	void takeLeverKey1();
	void takeLeverKey2();
	void takeLeverKey3();
	void takeAirValveHandle();
	void takeFaucetHandle();
	void takePumpRod1();
	void takePumpRod2();
	void takePumpRod3();
	void takePumpGrips1();
	void takePumpGrips2();
	void takeRubberPlug();
	void takeSurgicalTube();

public:
	Room407() : Room() {}
	~Room407() override {}

	void init() override;
	void daemon() override;
	void pre_parser() override;
	void parser() override;
};

} // namespace Rooms
} // namespace Riddle
} // namespace M4

#endif