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