ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
phantom_scenes2.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_SCENES2_H
25 #define MADS_PHANTOM_SCENES2_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 Scene2xx : public PhantomScene {
35 protected:
39  void sceneEntrySound();
40 
44  void setAAName();
45 
49  void setPlayerSpritesPrefix();
50 public:
51  Scene2xx(MADSEngine *vm) : PhantomScene(vm) {}
52 };
53 
54 class Scene201 : public Scene2xx {
55 private:
56  bool _anim0ActvFl;
57  bool _anim1ActvFl;
58  bool _needHoldFl;
59  int _sellerCount;
60  int _sellerStatus;
61  int _sellerFrame;
62  int _raoulFrame;
63  int _raoulStatus;
64 
65  void handleSellerAnimation();
66  void handleRaoulAnimation();
67  void handleConversation();
68 
69 public:
70  Scene201(MADSEngine *vm);
71  void synchronize(Common::Serializer &s) override;
72 
73  void setup() override;
74  void enter() override;
75  void step() override;
76  void preActions() override;
77  void actions() override;
78 };
79 
80 class Scene202 : public Scene2xx {
81 private:
82  bool _ticketGivenFl;
83  bool _anim0ActvFl;
84  bool _anim1ActvFl;
85  bool _skipWalkFl;
86  int _chandeliersPosX[5];
87  int _chandeliersHotspotId[5];
88  int _conversationCount;
89  int _usherStatus;
90  int _usherFrame;
91  int _usherCount;
92  int _degasStatus;
93  int _degasFrame;
94 
95  void handleConversation1();
96  void handleConversation2();
97  void handleUsherAnimation();
98  void handleDegasAnimation();
99  void handleChandeliersPositions();
100 
101 public:
102  Scene202(MADSEngine *vm);
103  void synchronize(Common::Serializer &s) override;
104 
105  void setup() override;
106  void enter() override;
107  void step() override;
108  void preActions() override;
109  void actions() override;
110 };
111 
112 class Scene203 : public Scene2xx {
113 private:
114  bool _anim0ActvFl;
115  bool _anim1ActvFl;
116  bool _anim2ActvFl;
117  bool _anim3ActvFl;
118  bool _showNoteFl;
119 
120  int _brieStatus;
121  int _brieFrame;
122  int _brieCount;
123  int _raoulStatus;
124  int _raoulFrame;
125  int _raoulCount;
126  int _richardStatus;
127  int _richardFrame;
128  int _daaeStatus;
129  int _daaeFrame;
130  int _conversationCount;
131 
132  void handleBrieConversation();
133  void handleRichardConversation();
134  void handleRichardAndDaaeConversation();
135  void handleBrieAnimation();
136  void handleRichardAnimation();
137  void handleRaoulAnimation();
138  void handleDaaeAnimation();
139 
140 public:
141  Scene203(MADSEngine *vm);
142  void synchronize(Common::Serializer &s) override;
143 
144  void setup() override;
145  void enter() override;
146  void step() override;
147  void preActions() override;
148  void actions() override;
149 };
150 
151 class Scene204 : public Scene2xx {
152 private:
153  bool _anim0ActvFl;
154  bool _anim1ActvFl;
155  bool _anim2ActvFl;
156  bool _anim3ActvFl;
157  bool _raoulDown;
158  bool _florentGone;
159  bool _skip1Fl;
160  bool _skip2Fl;
161  bool _skip3Fl;
162  bool _endGameFl;
163 
164  int _brieStatus;
165  int _brieFrame;
166  int _florStatus;
167  int _florFrame;
168  int _raoulStatus;
169  int _raoulFrame;
170  int _raoulCount;
171 
172  void handleConversation();
173  void handleBrieAnimation();
174  void handleFlorAnimation();
175  void handleRaoulAnimation();
176  void handleEndAnimation();
177 
178 public:
179  Scene204(MADSEngine *vm);
180  void synchronize(Common::Serializer &s) override;
181 
182  void setup() override;
183  void enter() override;
184  void step() override;
185  void preActions() override;
186  void actions() override;
187 };
188 
189 class Scene205 : public Scene2xx {
190 private:
191  bool _anim0ActvFl;
192  bool _anim1ActvFl;
193  bool _noConversationHold;
194  bool _giveTicketFl;
195 
196  int _richardFrame;
197  int _richardStatus;
198  int _richardCount;
199  int _giryFrame;
200  int _giryStatus;
201  int _giryCount;
202  int _conversationCounter;
203  int _lastRandom;
204 
205  void handleConversation18();
206  void handleConversation10();
207  void handleConversation11();
208  void handleRichardAnimation();
209  void handleGiryAnimation();
210 
211 public:
212  Scene205(MADSEngine *vm);
213  void synchronize(Common::Serializer &s) override;
214 
215  void setup() override;
216  void enter() override;
217  void step() override;
218  void preActions() override;
219  void actions() override;
220 };
221 
222 class Scene206 : public Scene2xx {
223 private:
224  bool _anim0ActvFl;
225  bool _skip1Fl;
226  bool _skip2Fl;
227 
228 public:
229  Scene206(MADSEngine *vm);
230  void synchronize(Common::Serializer &s) override;
231 
232  void setup() override;
233  void enter() override;
234  void step() override;
235  void preActions() override;
236  void actions() override;
237 };
238 
239 class Scene207 : public Scene2xx {
240 private:
241  bool _skip1Fl;
242  bool _anim0ActvFl;
243 
244 public:
245  Scene207(MADSEngine *vm);
246  void synchronize(Common::Serializer &s) override;
247 
248  void setup() override;
249  void enter() override;
250  void step() override;
251  void preActions() override;
252  void actions() override;
253 };
254 
255 class Scene208 : public Scene2xx {
256 private:
257  bool _skip1Fl;
258  bool _skip2Fl;
259 
260  int _topLeftPeopleFrame;
261  int _topRightPeopleFrame;
262  int _middleLeftPeopleFrame;
263  int _centerPeopleFrame;
264  int _middleRightPeopleFrame;
265  int _bottomLeftPeopleFrame;
266  int _bottomMiddlePeopleFrame;
267  int _bottomRightPeopleFrame;
268  int _direction;
269 
270  void animateTopLeftPeople();
271  void animateTopRightPeople();
272  void animateMiddleLeftPeople();
273  void animateCenterPeople();
274  void animateMiddleRightPeople();
275  void animateBottomLeftPeople();
276  void animateBottomMiddlePeople();
277  void animateBottomRightPeople();
278 
279 public:
280  Scene208(MADSEngine *vm);
281  void synchronize(Common::Serializer &s) override;
282 
283  void setup() override;
284  void enter() override;
285  void step() override;
286  void preActions() override;
287  void actions() override;
288 };
289 
290 class Scene250 : public Scene2xx {
291 public:
292  Scene250(MADSEngine *vm);
293  void synchronize(Common::Serializer &s) override;
294 
295  void setup() override;
296  void enter() override;
297  void step() override;
298  void preActions() override;
299  void actions() override;
300 };
301 
302 } // End of namespace Phantom
303 } // End of namespace MADS
304 
305 #endif /* MADS_PHANTOM_SCENES2_H */
306 
307 #endif
Definition: serializer.h:79
Definition: action.h:28