ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
phantom_scenes4.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 #ifdef ENABLE_MADSV2
23 
24 #ifndef MADS_PHANTOM_SCENES4_H
25 #define MADS_PHANTOM_SCENES4_H
26 
27 #include "common/serializer.h"
28 #include "mads/phantom/phantom_scenes.h"
29 
30 namespace MADS {
31 
32 namespace Phantom {
33 
34 class Scene4xx : public PhantomScene {
35 protected:
39  void sceneEntrySound();
40 
44  void setAAName();
45 
49  void setPlayerSpritesPrefix();
50 public:
51  Scene4xx(MADSEngine *vm) : PhantomScene(vm) {}
52 };
53 
54 class Scene401 : public Scene4xx {
55 private:
56  bool _anim0ActvFl;
57  bool _frameInRoomFl;
58  bool _takingFrameInRoomFl;
59 
60  int _redFrameHotspotId;
61  int _greenFrameHostpotId;
62  int _blueFrameHotspotId;
63  int _yellowFrameHotspotId;
64 
65 public:
66  Scene401(MADSEngine *vm);
67  void synchronize(Common::Serializer &s) override;
68 
69  void setup() override;
70  void enter() override;
71  void step() override;
72  void preActions() override;
73  void actions() override;
74 };
75 
76 class Scene403 : public Scene4xx {
77 private:
78  bool _frameInRoomFl;
79  bool _takingFrameInRoomFl;
80 
81  int _redFrameHotspotId;
82  int _greenFrameHostpotId;
83  int _blueFrameHotspotId;
84  int _yellowFrameHotspotId;
85 
86 public:
87  Scene403(MADSEngine *vm);
88  void synchronize(Common::Serializer &s) override;
89 
90  void setup() override;
91  void enter() override;
92  void step() override;
93  void preActions() override;
94  void actions() override;
95 };
96 
97 class Scene404 : public Scene4xx {
98 private:
99  bool _frameInRoomFl;
100  bool _takingFrameInRoomFl;
101  bool _anim0ActvFl;
102 
103  int _redFrameHotspotId;
104  int _greenFrameHostpotId;
105  int _blueFrameHotspotId;
106  int _yellowFrameHotspotId;
107 
108 public:
109  Scene404(MADSEngine *vm);
110  void synchronize(Common::Serializer &s) override;
111 
112  void setup() override;
113  void enter() override;
114  void step() override;
115  void preActions() override;
116  void actions() override;
117 };
118 
119 class Scene406 : public Scene4xx {
120 private:
121  bool _frameInRoomFl;
122  bool _takingFrameInRoomFl;
123 
124  int _redFrameHotspotId;
125  int _greenFrameHostpotId;
126  int _blueFrameHotspotId;
127  int _yellowFrameHotspotId;
128 
129 public:
130  Scene406(MADSEngine *vm);
131  void synchronize(Common::Serializer &s) override;
132 
133  void setup() override;
134  void enter() override;
135  void step() override;
136  void preActions() override;
137  void actions() override;
138 };
139 
140 class Scene407 : public Scene4xx {
141 private:
142  bool _frameInRoomFl;
143  bool _takingFrameInRoomFl;
144 
145  int _redFrameHotspotId;
146  int _greenFrameHotspotId;
147  int _blueFrameHotspotId;
148  int _yellowFrameHotspotId;
149 
150 public:
151  Scene407(MADSEngine *vm);
152  void synchronize(Common::Serializer &s) override;
153 
154  void setup() override;
155  void enter() override;
156  void step() override;
157  void preActions() override;
158  void actions() override;
159 };
160 
161 class Scene408 : public Scene4xx {
162 private:
163  bool _frameInRoomFl;
164  bool _takingFrameInRoomFl;
165 
166  int _redFrameHotspotId;
167  int _greenFrameHotspotId;
168  int _blueFrameHotspotId;
169  int _yellowFrameHotspotId;
170 
171 public:
172  Scene408(MADSEngine *vm);
173  void synchronize(Common::Serializer &s) override;
174 
175  void setup() override;
176  void enter() override;
177  void step() override;
178  void preActions() override;
179  void actions() override;
180 };
181 
182 class Scene409 : public Scene4xx {
183 private:
184  bool _frameInRoomFl;
185  bool _takingFrameInRoomFl;
186 
187  int _redFrameHotspotId;
188  int _greenFrameHotspotId;
189  int _blueFrameHotspotId;
190  int _yellowFrameHotspotId;
191 
192 public:
193  Scene409(MADSEngine *vm);
194  void synchronize(Common::Serializer &s) override;
195 
196  void setup() override;
197  void enter() override;
198  void step() override;
199  void preActions() override;
200  void actions() override;
201 };
202 
203 class Scene410 : public Scene4xx {
204 private:
205  int _skullSequence[26];
206  void getLeverInfo(Common::Point *pos, int *type, int lever_number, int *noun);
207 
208 public:
209  Scene410(MADSEngine *vm);
210  void synchronize(Common::Serializer &s) override;
211 
212  void setup() override;
213  void enter() override;
214  void step() override;
215  void preActions() override;
216  void actions() override;
217 };
218 
219 class Scene453 : public Scene4xx {
220 private:
221  bool _frameInRoomFl;
222  bool _takingFrameInRoomFl;
223 
224  int _redFrameHotspotId;
225  int _greenFrameHotspotId;
226  int _blueFrameHotspotId;
227  int _yellowFrameHotspotId;
228 
229 public:
230  Scene453(MADSEngine *vm);
231  void synchronize(Common::Serializer &s) override;
232 
233  void setup() override;
234  void enter() override;
235  void step() override;
236  void preActions() override;
237  void actions() override;
238 };
239 
240 class Scene456 : public Scene4xx {
241 private:
242  bool _frameInRoomFl;
243  bool _takingFrameInRoomFl;
244 
245  int _redFrameHotspotId;
246  int _greenFrameHotspotId;
247  int _blueFrameHotspotId;
248  int _yellowFrameHotspotId;
249 
250 public:
251  Scene456(MADSEngine *vm);
252  void synchronize(Common::Serializer &s) override;
253 
254  void setup() override;
255  void enter() override;
256  void step() override;
257  void preActions() override;
258  void actions() override;
259 };
260 } // End of namespace Phantom
261 } // End of namespace MADS
262 
263 #endif /* MADS_PHANTOM_SCENES4_H */
264 
265 #endif
Definition: serializer.h:79
Definition: rect.h:45
Definition: action.h:28