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