ScummVM API documentation
blueforce_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 TSAGE_BLUEFORCE_SCENES1_H
23 #define TSAGE_BLUEFORCE_SCENES1_H
24 
25 #include "common/scummsys.h"
26 #include "tsage/blue_force/blueforce_logic.h"
27 #include "tsage/blue_force/blueforce_speakers.h"
28 #include "tsage/converse.h"
29 #include "tsage/events.h"
30 #include "tsage/core.h"
31 #include "tsage/scenes.h"
32 #include "tsage/globals.h"
33 #include "tsage/sound.h"
34 
35 namespace TsAGE {
36 
37 namespace BlueForce {
38 
39 using namespace TsAGE;
40 
41 class Scene100: public SceneExt {
42  /* Support classes */
43  class Text: public SceneText {
44  public:
45  Common::String getClassName() override { return "BF100Text"; }
46  void dispatch() override;
47  };
48 
49  /* Actions */
50  class Action1: public ActionExt {
51  private:
52  void setTextStrings(const Common::String &msg1, const Common::String &msg2, Action *action);
53  public:
54  Text _sceneText1;
55  SceneText _sceneText2;
56  int _textHeight;
57 
58  Common::String getClassName() override { return "BF100Action1"; }
59  void synchronize(Serializer &s) override {
60  ActionExt::synchronize(s);
61  s.syncAsSint16LE(_textHeight);
62  }
63  void signal() override;
64  };
65  class Action2: public ActionExt {
66  public:
67  void signal() override;
68  };
69 public:
70  SequenceManager _sequenceManager;
71  Action1 _action1;
72  Action2 _action2;
73  ScenePalette _scenePalette;
74  NamedObject _object1, _object2, _object3, _object4, _object5;
75  int _index;
76 
77  Scene100();
78  void postInit(SceneObjectList *OwnerList = NULL) override;
79  void signal() override;
80 };
81 
82 class Scene109: public PalettedScene {
83  /* Actions */
84  class Action1: public Action {
85  public:
86  void signal() override;
87  };
88  class Action2: public Action {
89  public:
90  void signal() override;
91  };
92  class Action3: public Action {
93  public:
94  void signal() override;
95  };
96 
97 public:
98  SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
99  SequenceManager _sequenceManager4, _sequenceManager5, _sequenceManager6;
100  SequenceManager _sequenceManager7, _sequenceManager8;
101  SceneObject _object1, _object2, _protaginist2, _protaginist1, _cop1;
102  SceneObject _drunk, _cop2, _bartender, _beerSign, _animationInset;
103  IntroSceneText _text;
104  Action1 _action1;
105  Action2 _action2;
106  Action3 _action3;
107 public:
108  Scene109();
109 
110  void postInit(SceneObjectList *OwnerList = NULL) override;
111  void signal() override;
112 };
113 
114 class Scene110: public SceneExt {
115  /* Actions */
116  class Action1: public Action {
117  public:
118  void signal() override;
119  };
120  class Action2: public Action {
121  public:
122  void signal() override;
123  };
124  class Action3: public Action {
125  public:
126  void signal() override;
127  void dispatch() override;
128  };
129  class Action4: public Action {
130  public:
131  void signal() override;
132  void dispatch() override;
133  };
134  class Action5: public Action {
135  public:
136  void signal() override;
137  };
138 public:
139  NamedObject _object1, _object2, _object3, _object4, _object5, _object6, _object7, _object8, _object9, _object10;
140  ASound _sound;
141  Action1 _action1;
142  Action2 _action2;
143  Action3 _action3;
144  Action4 _action4;
145  Action5 _action5;
146 public:
147  void postInit(SceneObjectList *OwnerList = NULL) override;
148 };
149 
150 class Scene114: public SceneExt {
151  /* Objects */
152  class Vechile: public NamedObject {
153  public:
154  bool startAction(CursorType action, Event &event) override;
155  };
156  class Door: public NamedObject {
157  public:
158  bool startAction(CursorType action, Event &event) override;
159  };
160 public:
161  SequenceManager _sequenceManager1;
162  Vechile _vechile;
163  Door _door;
164  NamedObject _lyle;
165  NamedHotspot _item1;
166 public:
167  void postInit(SceneObjectList *OwnerList = NULL) override;
168  void signal() override;
169 };
170 
171 class Scene115: public SceneExt {
172  /* Objects */
173  class Kate: public NamedObject {
174  public:
175  bool startAction(CursorType action, Event &event) override;
176  };
177  class Tony: public NamedObject {
178  public:
179  int _talkToTonyCtr2;
180  bool startAction(CursorType action, Event &event) override;
181  };
182  class Object3: public NamedObject {
183  public:
184  bool startAction(CursorType action, Event &event) override;
185  };
186  class Object4: public NamedObject {
187  public:
188  bool startAction(CursorType action, Event &event) override;
189  };
190 
191  /* Custom class */
192  class EventHandler1: public EventHandler {
193  public:
194  Common::String getClassName() override { return "Scene115_EventHandler1"; }
195  void dispatch() override;
196  };
197 
198  /* Items */
199  class Jukebox: public NamedHotspot {
200  SequenceManager _sequenceManager6;
201  public:
202  int _jokeboxPlayingCtr;
203 
204  Jukebox();
205  bool startAction(CursorType action, Event &event) override;
206  void signal() override;
207  void synchronize(Serializer &s) override;
208  };
209  class Item10: public NamedHotspot {
210  public:
211  bool startAction(CursorType action, Event &event) override;
212  };
213  class Item14: public NamedHotspot {
214  public:
215  bool startAction(CursorType action, Event &event) override;
216  };
217 
218  /* Actions */
219  class Action1: public Action {
220  public:
221  void signal() override;
222  };
223  class Action2: public Action {
224  public:
225  void signal() override;
226  };
227  class Action3: public Action {
228  public:
229  void signal() override;
230  };
231  class Action4: public Action {
232  public:
233  void signal() override;
234  };
235  class Action5: public Action {
236  public:
237  void signal() override;
238  };
239  class Action6: public Action {
240  public:
241  void signal() override;
242  };
243  class Action7: public Action {
244  public:
245  void signal() override;
246  };
247  class Action8: public Action {
248  public:
249  void signal() override;
250  };
251  class Action9: public Action {
252  public:
253  void signal() override;
254  };
255 
256  SequenceManager _sequenceManager1;
257  SequenceManager _sequenceManager2;
258  SequenceManager _sequenceManager3;
259  SequenceManager _sequenceManager4;
260  SequenceManager _sequenceManager5;
261  Kate _kate;
262  Tony _tony;
263  Object3 _object3;
264  Object4 _object4;
265  SceneObject _object5, _object6, _neonSign, _object8, _object9;
266  SceneObject _object10, _object11, _object12, _object13;
267  Jukebox _itemJukebox;
268  EventHandler1 _eventHandler1;
269  NamedHotspot _item2, _item3, _item4, _item5, _item6, _item7, _item8, _item9;
270  Item10 _item10;
271  NamedHotspot _item11, _item12, _item13;
272  Item14 _item14;
273  Action1 _action1;
274  Action2 _action2;
275  Action3 _action3;
276  Action4 _action4;
277  Action5 _action5;
278  Action6 _action6;
279  Action7 _action7;
280  Action8 _action8;
281  Action9 _action9;
282  SpeakerGameText _gameTextSpeaker;
283  SpeakerKate _kateSpeaker;
284  SpeakerTony _tonySpeaker;
285  SpeakerJakeJacket _jakeJacketSpeaker;
286  SpeakerJakeUniform _jakeUniformSpeaker;
287  SpeakerLyleHat _lyleHatSpeaker;
288  ASound _sound1;
289  int _lineNumModifier;
290  int _jukeboxPlaying;
291  int _talkToTonyCtr;
292 public:
293  Scene115();
294  void synchronize(Serializer &s) override;
295  void postInit(SceneObjectList *OwnerList = NULL) override;
296  void signal() override;
297  void process(Event &event) override;
298 };
299 
300 class Scene125: public SceneExt {
301  class Action1: public Action {
302  public:
303  void signal() override;
304  };
305  class Action2: public Action {
306  public:
307  void signal() override;
308  void dispatch() override;
309  };
310  class Action3: public Action {
311  public:
312  void signal() override;
313  void dispatch() override;
314  };
315  class Action4: public Action {
316  public:
317  void signal() override;
318  void dispatch() override;
319  };
320  class Action5: public Action {
321  public:
322  void signal() override;
323  };
324  class Action6: public Action {
325  public:
326  void signal() override;
327  void dispatch() override;
328  };
329 
330 public:
331  Action1 _action1;
332  Action2 _action2;
333  Action3 _action3;
334  Action4 _action4;
335  Action5 _action5;
336  Action6 _action6;
337  NamedObject _object1, _object2, _object3, _object4, _object5;
338  NamedObject _object6, _object7, _object8, _object9;
339  ASoundExt _soundExt1;
340  ASoundExt _soundExt2;
341 
342  void postInit(SceneObjectList *OwnerList) override;
343 };
344 
345 class Scene140: public SceneExt {
346  class Action1: public Action {
347  public:
348  void signal() override;
349  };
350 public:
351  Action1 _action1;
352  ASoundExt _soundExt1;
353  NamedObject _object1;
354  NamedObject _object2;
355  IntroSceneText _text;
356 
357  void postInit(SceneObjectList *OwnerList) override;
358 };
359 
360 class Scene150: public SceneExt {
361  class Action1: public Action {
362  NamedObject _object2;
363  ASound _sound1;
364  public:
365  void signal() override;
366  };
367 public:
368  NamedObject _object1;
369  Action1 _action1;
370 
371  void postInit(SceneObjectList *OwnerList) override;
372 };
373 
374 class Scene160: public SceneExt {
375  class Action1: public Action {
376  public:
377  void signal() override;
378  };
379  class Action2: public Action {
380  public:
381  void signal() override;
382  void process(Event &event) override;
383  };
384  class Action3: public ActionExt {
385  public:
386  void signal() override;
387  };
388 public:
389  NamedObject _flag, _kid, _kidBody, _leftOfficer, _grandma, _rightOfficer;
390  ASound _sound1;
391  Action1 _action1;
392  Action2 _action2;
393  Action3 _action3;
394  IntroSceneText _text;
395 
396  void postInit(SceneObjectList *OwnerList) override;
397 };
398 
399 class Scene180: public SceneExt {
400  /* Objects */
401  class Vechile: public NamedObject {
402  public:
403  bool startAction(CursorType action, Event &event) override;
404  };
405 
406  /* Items */
407  class GarageExit: public NamedHotspot {
408  public:
409  bool startAction(CursorType action, Event &event) override;
410  };
411 public:
412  SequenceManager _sequenceManager;
413  SpeakerGameText _gameTextSpeaker;
414  NamedObject _object1;
415  Vechile _vechile;
416  NamedHotspot _driveway, _garage, _frontDoor, _house, _street;
417  NamedHotspot _lawn, _bushes, _palms, _fence, _steps;
418  NamedHotspot _curb, _sky;
419  GarageExit _garageExit;
420  ASoundExt _sound1;
421  SceneMessage _sceneMessage;
422  int _dispatchMode;
423 
424  Scene180();
425  void synchronize(Serializer &s) override;
426  void postInit(SceneObjectList *OwnerList = NULL) override;
427  void signal() override;
428  void process(Event &event) override;
429  void dispatch() override;
430 };
431 
432 class Scene190: public SceneExt {
433  /* Objects */
434  class LyleCar: public NamedObject {
435  public:
436  bool startAction(CursorType action, Event &event) override;
437  };
438 
439  /* Items */
440  class Item1: public NamedHotspot {
441  public:
442  bool startAction(CursorType action, Event &event) override;
443  };
444  class Item2: public NamedHotspot {
445  public:
446  bool startAction(CursorType action, Event &event) override;
447  };
448  class Exit: public NamedHotspot {
449  public:
450  bool startAction(CursorType action, Event &event) override;
451  };
452 
453  /* Actions */
454  class Action1: public Action {
455  public:
456  void signal() override;
457  };
458 public:
459  SequenceManager _sequenceManager;
460  FollowerObject _object1;
461  NamedObject _door, _flag;
462  LyleCar _lyleCar;
463  Item1 _item1;
464  Item2 _item2;
465  NamedHotspot _item3, _item4, _item5, _item6;
466  NamedHotspot _item7, _item8, _item9, _item10;
467  Exit _exit;
468  Action1 _action1;
469  ASoundExt _sound;
470  SpeakerGameText _speaker;
471  bool _fieldB52;
472 
473  Scene190();
474  void postInit(SceneObjectList *OwnerList = NULL) override;
475  void signal() override;
476  void process(Event &event) override;
477  void dispatch() override;
478  void synchronize(Serializer &s) override;
479 };
480 
481 } // End of namespace BlueForce
482 
483 } // End of namespace TsAGE
484 
485 #endif
Definition: blueforce_speakers.h:110
Definition: blueforce_scenes1.h:432
Definition: blueforce_speakers.h:347
Definition: str.h:59
Definition: blueforce_speakers.h:149
Definition: core.h:115
Definition: core.h:736
Definition: blueforce_scenes1.h:171
Definition: core.h:355
Definition: blueforce_logic.h:225
Definition: blueforce_logic.h:166
Definition: blueforce_speakers.h:57
Definition: core.h:134
Definition: blueforce_scenes1.h:374
Definition: sound.h:366
Definition: blueforce_logic.h:330
Definition: blueforce_speakers.h:102
Definition: blueforce_scenes1.h:399
Definition: blueforce_scenes1.h:114
Definition: sound.h:405
Definition: blueforce_logic.h:351
Definition: blueforce_scenes1.h:150
Definition: events.h:47
Definition: blueforce_scenes1.h:300
Definition: blueforce_logic.h:366
Definition: blueforce_dialogs.h:30
Definition: blueforce_logic.h:194
Definition: blueforce_scenes1.h:82
Definition: blueforce_speakers.h:339
Definition: saveload.h:63
Definition: blueforce_scenes1.h:41
Definition: core.h:163
Definition: core.h:519
Definition: blueforce_scenes1.h:360
Definition: core.h:625
Definition: converse.h:38
Definition: blueforce_scenes1.h:345
Definition: blueforce_logic.h:119