ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
phantom_scenes1.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_SCENES1_H
25 #define MADS_PHANTOM_SCENES1_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 Scene1xx : public PhantomScene {
35 protected:
39  void sceneEntrySound();
40 
44  void setAAName();
45 
49  void setPlayerSpritesPrefix();
50 public:
51  Scene1xx(MADSEngine *vm) : PhantomScene(vm) {}
52 };
53 
54 class Scene101 : public Scene1xx {
55 private:
56  int _chanStatus;
57  int _wipeStatus;
58  int _callingStatus;
59  int _chandelierStatus;
60  int _callingFrame;
61  int _chandelierFrame;
62  int _talkCounter;
63  int _convCounter;
64  int _brieAnimId;
65  bool _startWalkingFl;
66  bool _startWalking0Fl;
67  bool _anim0Running;
68  bool _anim1Running;
69  bool _startSittingFl;
70 public:
71  Scene101(MADSEngine *vm);
72  void synchronize(Common::Serializer &s) override;
73 
74  void setup() override;
75  void enter() override;
76  void step() override;
77  void preActions() override;
78  void actions() override;
79 
80  void handleConversation0();
81  void handleConversation1();
82  void handleAnimation0();
83  void handleAnimation1();
84 };
85 
86 class Scene102 : public Scene1xx {
87 private:
88  bool _anim0Running;
89 
90 public:
91  Scene102(MADSEngine *vm);
92  void synchronize(Common::Serializer &s) override;
93 
94  void setup() override;
95  void enter() override;
96  void step() override;
97  void preActions() override;
98  void actions() override;
99 };
100 
101 class Scene103 : public Scene1xx {
102 private:
103  int _jacquesAction;
104  int _lastRandom;
105  int _standPosition;
106  int _hotspotPrompt1;
107  int _hotspotPrompt2;
108  int _hotspotPrompt3;
109  int _hotspotPrompt4;
110  int _hotspotPrompt5;
111  int _hotspotRightFloor1;
112  int _hotspotRightFloor2;
113  int _hotspotLeftFloor1;
114  int _hotspotLeftFloor2;
115  int _hotspotGentleman;
116  int _convCount;
117  int _lastStairFrame;
118  int _lastJacquesFrame;
119  int _talkCount;
120 
121  bool _anim0ActvFl;
122  bool _anim1ActvFl;
123  bool _anim2ActvFl;
124  bool _anim3ActvFl;
125  bool _anim4ActvFl;
126  bool _anim5ActvFl;
127  bool _anim6ActvFl;
128  bool _climbThroughTrapFl;
129  bool _guardFrameFl;
130  bool _sitFl;
131 
132  void adjustRails(int variant);
133  void handleJacquesAnim();
134  void climbRightStairs();
135  void climbLeftStairs();
136  void descendRightStairs();
137  void descendLeftStairs();
138  void process_conv_jacques();
139 
140 public:
141  Scene103(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 Scene104 : public Scene1xx {
152 private:
153  bool _anim0ActvFl;
154  bool _anim1ActvFl;
155  bool _anim2ActvFl;
156  bool _needToGetUp;
157  bool _needToStandUp;
158  bool _needToTalk;
159  bool _sittingUp;
160  bool _beforeSheLeaves;
161  bool _beforeHeLeaves;
162 
163  int _walkStatus;
164  int _walkFrame;
165  int _coupleStatus;
166  int _coupleFrame;
167  int _richStatus;
168  int _richFrame;
169  int _manTalkCount;
170  int _womanTalkCount;
171  int _lookCount;
172  int _richTalkCount;
173  int _lastPlayerFrame;
174 
175  void cleanInventory();
176  void processConversations();
177  void handleWalkAnimation();
178  void handleCoupleAnimations();
179  void handleRichAnimations();
180  void handlePlayerWalk();
181 
182 public:
183  Scene104(MADSEngine *vm);
184  void synchronize(Common::Serializer &s) override;
185 
186  void setup() override;
187  void enter() override;
188  void step() override;
189  void preActions() override;
190  void actions() override;
191 };
192 
193 class Scene105 : public Scene1xx {
194 public:
195  Scene105(MADSEngine *vm);
196  void synchronize(Common::Serializer &s) override;
197 
198  void setup() override;
199  void enter() override;
200  void step() override;
201  void preActions() override;
202  void actions() override;
203 };
204 
205 class Scene106 : public Scene1xx {
206 private:
207  int _sandbagHostpotId;
208 public:
209  Scene106(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 Scene107 : public Scene1xx {
220 public:
221  Scene107(MADSEngine *vm);
222  void synchronize(Common::Serializer &s) override;
223 
224  void setup() override;
225  void enter() override;
226  void step() override;
227  void preActions() override;
228  void actions() override;
229 };
230 
231 class Scene108 : public Scene1xx {
232 private:
233  bool _anim0ActvFl;
234  bool _handRaisedFl;
235  int _shutUpCount;
236  int _maxTalkCount;
237  int _charAction;
238  int _charFrame;
239  int _charTalkCount;
240  int _charHotspotId;
241  int _conversationCount;
242  int _prevShutUpFrame;
243 
244  void handleCharAnimation();
245  void handleCharlesConversation();
246 
247 public:
248  Scene108(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 class Scene109 : public Scene1xx {
259 private:
260  bool _anim0ActvFl;
261  bool _anim1ActvFl;
262  bool _anim2ActvFl;
263  bool _anim3ActvFl;
264  int _currentFloor;
265 
266 public:
267  Scene109(MADSEngine *vm);
268  void synchronize(Common::Serializer &s) override;
269 
270  void setup() override;
271  void enter() override;
272  void step() override;
273  void preActions() override;
274  void actions() override;
275 };
276 
277 class Scene110 : public Scene1xx {
278 public:
279  Scene110(MADSEngine *vm);
280  void synchronize(Common::Serializer &s) override;
281 
282  void setup() override;
283  void enter() override;
284  void step() override;
285  void preActions() override;
286  void actions() override;
287 };
288 
289 class Scene111 : public Scene1xx {
290 private:
291  bool _removeAxe;
292  bool _anim0ActvFl;
293  bool _anim1ActvFl;
294  bool _closedFl;
295  int _listenFrame;
296  int _listenStatus;
297 
298  void handleListenAnimation();
299  void handleListenConversation();
300 
301 public:
302  Scene111(MADSEngine *vm);
303  void synchronize(Common::Serializer &s) override;
304 
305  void setup() override;
306  void enter() override;
307  void step() override;
308  void preActions() override;
309  void actions() override;
310 };
311 
312 class Scene112 : public Scene1xx {
313 private:
314  bool _anim0ActvFl;
315  bool _anim1ActvFl;
316 
317  int _raoulAction;
318  int _raoulFrame;
319  int _didOptionFl;
320  int _julieFrame;
321  int _julieAction;
322  int _julieCounter;
323  int _julieHotspotId;
324 
325  void handleConversation();
326  void handleJulieAnimation();
327  void handleRaoulChair();
328 
329 public:
330  Scene112(MADSEngine *vm);
331  void synchronize(Common::Serializer &s) override;
332 
333  void setup() override;
334  void enter() override;
335  void step() override;
336  void preActions() override;
337  void actions() override;
338 };
339 
340 class Scene113 : public Scene1xx {
341 private:
342  bool _standingAndTalking;
343  bool _dayWantsToTalk;
344  bool _musicPlaying;
345  bool _afterKissFl;
346  bool _anim0ActvFl;
347  bool _anim1ActvFl;
348  bool _anim2ActvFl;
349  bool _anim3ActvFl;
350  bool _anim4ActvFl;
351  bool _prevent1;
352  bool _prevent2;
353  bool _raoulStandingFl;
354  bool _armsOutFl;
355 
356  int _christineHotspotId1;
357  int _christineHotspotId2;
358  int _dayStatus;
359  int _dayFrame;
360  int _dayCount;
361  int _florentStatus;
362  int _florentFrame;
363  int _florentCount;
364  int _julieStatus;
365  int _julieFrame;
366  int _julieCount;
367  int _raoulAction;
368  int _raoulFrame;
369  int _raoulCount;
370  int _lastDayResetFrame;
371  int _standCount;
372 
373  void handleFlorentAnimation();
374  void handleDayAnimation();
375  void handleRaoulAnimation();
376  void handleRaoulAnimation2();
377  void handleJulieAnimation();
378  void handleDeadConversation();
379  void handleFlorentConversation();
380  void handleLoveConversation();
381 
382 public:
383  Scene113(MADSEngine *vm);
384  void synchronize(Common::Serializer &s) override;
385 
386  void setup() override;
387  void enter() override;
388  void step() override;
389  void preActions() override;
390  void actions() override;
391 };
392 
393 class Scene114 : public Scene1xx {
394 public:
395  Scene114(MADSEngine *vm);
396  void synchronize(Common::Serializer &s) override;
397 
398  void setup() override;
399  void enter() override;
400  void step() override;
401  void preActions() override;
402  void actions() override;
403 };
404 
405 class Scene150 : public Scene1xx {
406 public:
407  Scene150(MADSEngine *vm);
408  void synchronize(Common::Serializer &s) override;
409 
410  void setup() override;
411  void enter() override;
412  void step() override;
413  void preActions() override;
414  void actions() override;
415 };
416 } // End of namespace Phantom
417 } // End of namespace MADS
418 
419 #endif /* MADS_PHANTOM_SCENES1_H */
420 
421 #endif
Definition: serializer.h:79
Definition: action.h:28