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