ScummVM API documentation
blueforce_scenes8.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_SCENES8_H
23 #define TSAGE_BLUEFORCE_SCENES8_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 Scene800: public SceneExt {
42  /* Actions */
43  class Action1 : public Action {
44  public:
45  void signal() override;
46  };
47 
48  /* Items */
49  class Item1: public SceneHotspot {
50  public:
51  bool startAction(CursorType action, Event &event) override;
52  };
53  class Item2: public SceneHotspot {
54  public:
55  bool startAction(CursorType action, Event &event) override;
56  };
57 
58  /* Objects */
59  class Doorway: public NamedObject {
60  public:
61  bool startAction(CursorType action, Event &event) override;
62  };
63  class Car1: public NamedObject {
64  public:
65  bool startAction(CursorType action, Event &event) override;
66  };
67  class Motorcycle: public NamedObject {
68  public:
69  bool startAction(CursorType action, Event &event) override;
70  };
71  class Lyle: public NamedObject {
72  public:
73  bool startAction(CursorType action, Event &event) override;
74  };
75  class Car2: public NamedObject {
76  public:
77  bool startAction(CursorType action, Event &event) override;
78  };
79 
80 public:
81  Action1 _action1;
82  SequenceManager _sequenceManager;
83  SpeakerJakeJacket _jakeJacketSpeaker;
84  SpeakerLyleHat _lyleHatSpeaker;
85  SpeakerGameText _gameTextSpeaker;
86  Doorway _doorway;
87  Car1 _car1;
88  Motorcycle _motorcycle;
89  Lyle _lyle;
90  Car2 _car2;
91  NamedObject _object6;
92  Item1 _item1;
93  Item2 _item2;
94  SceneText _text;
95 
96  void postInit(SceneObjectList *OwnerList = NULL) override;
97  void signal() override;
98  void dispatch() override;
99 };
100 
101 class Scene810: public SceneExt {
102  /* Actions */
103  class Action1: public Action {
104  public:
105  void signal() override;
106  };
107  class Action2: public Action {
108  public:
109  void signal() override;
110  };
111 
112  /* Items */
113  class Map: public SceneHotspot {
114  public:
115  bool startAction(CursorType action, Event &event) override;
116  };
117  class Window: public SceneHotspot {
118  public:
119  bool startAction(CursorType action, Event &event) override;
120  };
121  class Bookcase: public SceneHotspot {
122  public:
123  bool startAction(CursorType action, Event &event) override;
124  };
125  class FaxMachine: public SceneHotspot {
126  public:
127  bool startAction(CursorType action, Event &event) override;
128  };
129  class GarbageCan: public SceneHotspot {
130  public:
131  bool startAction(CursorType action, Event &event) override;
132  };
133  class FileCabinets: public SceneHotspot {
134  public:
135  bool startAction(CursorType action, Event &event) override;
136  };
137  class CoffeeMaker: public SceneHotspot {
138  public:
139  bool startAction(CursorType action, Event &event) override;
140  };
141  class Shelves: public SceneHotspot {
142  public:
143  bool startAction(CursorType action, Event &event) override;
144  };
145  class MicroficheReader: public SceneHotspot {
146  public:
147  bool startAction(CursorType action, Event &event) override;
148  };
149  class Item10: public SceneHotspot {
150  public:
151  bool startAction(CursorType action, Event &event) override;
152  };
153  class Pictures: public SceneHotspot {
154  public:
155  bool startAction(CursorType action, Event &event) override;
156  };
157  class Item12: public SceneHotspot {
158  public:
159  bool startAction(CursorType action, Event &event) override;
160  };
161  class Background: public SceneHotspot {
162  public:
163  bool startAction(CursorType action, Event &event) override;
164  };
165  class Desk: public SceneHotspot {
166  public:
167  bool startAction(CursorType action, Event &event) override;
168  };
169  class Exit: public NamedHotspot {
170  public:
171  bool startAction(CursorType action, Event &event) override;
172  };
173 
174  /* Objects */
175  class Lyle: public NamedObjectExt {
176  public:
177  bool startAction(CursorType action, Event &event) override;
178  };
179  class Chair: public NamedObject {
180  public:
181  bool startAction(CursorType action, Event &event) override;
182  };
183  class Object3: public NamedObject {
184  public:
185  bool startAction(CursorType action, Event &event) override;
186  };
187  class FaxMachineInset: public FocusObject {
188  public:
189  bool startAction(CursorType action, Event &event) override;
190  };
191  class Object5: public NamedObject {
192  public:
193  bool startAction(CursorType action, Event &event) override;
194  };
195  class Object7: public NamedObject {
196  public:
197  bool startAction(CursorType action, Event &event) override;
198  };
199 public:
200  Action1 _action1;
201  Action2 _action2;
202  SequenceManager _sequenceManager1, _sequenceManager2;
203  SpeakerGameText _gameTextSpeaker;
204  SpeakerJakeJacket _jakeJacketSpeaker;
205  SpeakerJakeUniform _jakeUniformSpeaker;
206  SpeakerLyleHat _lyleHatSpeaker;
207  Lyle _lyle;
208  Chair _chair;
209  Object3 _object3;
210  FaxMachineInset _faxMachineInset;
211  Object5 _object5;
212  NamedObject _object6;
213  Object7 _object7;
214  Map _map;
215  Window _window;
216  Bookcase _bookcase;
217  FaxMachine _faxMachine;
218  GarbageCan _garbageCan;
219  FileCabinets _fileCabinets;
220  CoffeeMaker _coffeeMaker;
221  Shelves _shelves;
222  MicroficheReader _microficheReader;
223  Item10 _item10;
224  Pictures _pictures;
225  Item12 _item12;
226  Background _background;
227  Desk _desk;
228  Exit _exit;
229  ASoundExt _sound1;
230  Rect _rect1, _rect2, _rect3;
231  int _fieldA70, _fieldA74;
232 
233  Scene810();
234  void synchronize(Serializer &s) override;
235  void postInit(SceneObjectList *OwnerList = NULL) override;
236  void signal() override;
237  void process(Event &event) override;
238  void dispatch() override;
239 };
240 
241 class Scene820: public SceneExt {
242  /* Objects */
243  class PowerButton: public NamedObject {
244  public:
245  bool startAction(CursorType action, Event &event) override;
246  };
247  class ForwardButton: public NamedObject {
248  public:
249  bool startAction(CursorType action, Event &event) override;
250  };
251  class BackButton: public NamedObject {
252  public:
253  bool startAction(CursorType action, Event &event) override;
254  };
255 public:
256  SequenceManager _sequenceManager;
257  ASoundExt _sound1;
258  SpeakerGameText _gameTextSpeaker;
259  PowerButton _powerButton;
260  BackButton _backButton;
261  ForwardButton _forwardButton;
262  NamedObject _object4, _object5;
263  NamedHotspot _item1;
264  int _pageNumber;
265 
266  Scene820();
267  void synchronize(Serializer &s) override;
268  void postInit(SceneObjectList *OwnerList = NULL) override;
269  void signal() override;
270 };
271 
272 class Scene830: public PalettedScene {
273  /* Items */
274  class SouthEastExit: public NamedHotspot {
275  public:
276  bool startAction(CursorType action, Event &event) override;
277  };
278  class NoteBoard: public NamedHotspot {
279  public:
280  bool startAction(CursorType action, Event &event) override;
281  };
282 
283  /* Objects */
284  class Lyle: public NamedObject {
285  public:
286  bool startAction(CursorType action, Event &event) override;
287  };
288  class Door: public NamedObject {
289  public:
290  bool startAction(CursorType action, Event &event) override;
291  };
292  class RentalBoat: public NamedObject {
293  public:
294  bool startAction(CursorType action, Event &event) override;
295  };
296  class Object5: public NamedObject {
297  public:
298  bool startAction(CursorType action, Event &event) override;
299  };
300 
301 public:
302  SequenceManager _sequenceManager;
303  SpeakerGameText _gameTextSpeaker;
304  SpeakerJakeJacket _jakeJacketSpeaker;
305  SpeakerLyleHat _lyleHatSpeaker;
306  NamedObject _object1, _lyle, _object6;
307  Door _door;
308  RentalBoat _rentalBoat;
309  Object5 _object5;
310  SouthEastExit _seExit;
311  NoteBoard _noteBoard;
312  NamedHotspot _item2, _item4, _item5;
313  NamedHotspot _item6, _item7, _item8;
314  ASoundExt _sound1;
315  int _field18A4, _field18A6, _field18A8, _field18AA, _field18AC;
316 
317  Scene830();
318  void synchronize(Serializer &s) override;
319  void postInit(SceneObjectList *OwnerList = NULL) override;
320  void remove() override;
321  void signal() override;
322  void process(Event &event) override;
323  void dispatch() override;
324 };
325 
326 class Scene840: public PalettedScene {
327  /* Items */
328  class Coins: public NamedHotspot {
329  public:
330  bool startAction(CursorType action, Event &event) override;
331  };
332  class Exit: public NamedHotspot {
333  public:
334  bool startAction(CursorType action, Event &event) override;
335  };
336 
337  /* Objects */
338  class BoatKeysInset: public FocusObject {
339  class RentalKeys: public NamedObject {
340  public:
341  bool startAction(CursorType action, Event &event) override;
342  };
343  class WaveKeys: public NamedObject {
344  public:
345  bool startAction(CursorType action, Event &event) override;
346  };
347  public:
348  RentalKeys _rentalKeys;
349  WaveKeys _waveKeys;
350  bool _usedRentalKeys,_usedWaveKeys;
351 
352  void synchronize(Serializer &s) override;
353  void postInit(SceneObjectList *OwnerList = NULL) override;
354  void remove() override;
355  void process(Event &event) override;
356  bool startAction(CursorType action, Event &event) override;
357  };
358  class BoatKeys: public NamedObject {
359  public:
360  bool startAction(CursorType action, Event &event) override;
361  };
362  class Carter: public NamedObject {
363  public:
364  bool startAction(CursorType action, Event &event) override;
365  };
366 
367 public:
368  SequenceManager _sequenceManager1, _sequenceManager2;
369  NamedObject _object1;
370  BoatKeysInset _boatKeysInset;
371  NamedObject _doors;
372  BoatKeys _boatKeys;
373  Carter _carter;
374  NamedObject _lyle;
375  Coins _coins;
376  NamedHotspot _item2, _item3, _item4, _item5, _item6;
377  NamedHotspot _item7, _item8, _item9, _item10, _item11;
378  NamedHotspot _item12, _item13, _item14, _item15;
379  NamedHotspot _item16, _item17, _item18;
380  Exit _exit;
381  SpeakerGameText _gameTextSpeaker;
382  SpeakerJakeJacket _jakeJacketSpeaker;
383  SpeakerJakeUniform _jakeUniformSpeaker;
384  SpeakerCarter _carterSpeaker;
385  int _field1ABA, _field1ABC, _field1ABE, _field1AC0;
386  int _field1AC2, _field1AC4, _field1AC6;
387 
388  Scene840();
389  void synchronize(Serializer &s) override;
390  void postInit(SceneObjectList *OwnerList = NULL) override;
391  void signal() override;
392  void process(Event &event) override;
393  void dispatch() override;
394 };
395 
396 class Scene850: public SceneExt {
397  /* Timers */
398  class Timer1: public Timer {
399  public:
400  void signal() override;
401  };
402 public:
403  SequenceManager _sequenceManager;
404  Timer1 _timer;
405  NamedObject _object1;
406  ASoundExt _sound1;
407 
408  void postInit(SceneObjectList *OwnerList = NULL) override;
409  void remove() override;
410  void signal() override;
411 };
412 
413 class Scene860: public SceneExt {
414  /* Actions */
415  class Action1: public Action {
416  public:
417  void signal() override;
418  };
419 public:
420  SequenceManager _sequenceManager;
421  NamedObject _deadBody, _object2;
422  NamedHotspot _item1;
423  Action1 _action1;
424  Rect _swRect, _neRect, _yachtRect;
425  ASoundExt _sound1;
426  int _field87E, _field880, _field886, _field888;
427  Common::Point _destPos;
428 
429  Scene860();
430  void synchronize(Serializer &s) override;
431  void postInit(SceneObjectList *OwnerList = NULL) override;
432  void signal() override;
433  void process(Event &event) override;
434  void dispatch() override;
435 };
436 
437 class Scene870: public SceneExt {
438  /* Actions */
439  class Action1: public Action {
440  public:
441  void signal() override;
442  };
443 
444  /* Objects */
445  class Lyle: public NamedObjectExt {
446  public:
447  bool startAction(CursorType action, Event &event) override;
448  };
449  class Green: public NamedObjectExt {
450  public:
451  bool startAction(CursorType action, Event &event) override;
452  };
453  class CrateInset: public FocusObject {
454  class Jar: public NamedObjectExt {
455  public:
456  bool startAction(CursorType action, Event &event) override;
457  };
458  class Rags: public NamedObjectExt {
459  public:
460  bool startAction(CursorType action, Event &event) override;
461  };
462  private:
463  void initContents();
464  public:
465  Jar _jar;
466  Rags _rags;
467 
468  void postInit(SceneObjectList *OwnerList = NULL) override;
469  void remove() override;
470  bool startAction(CursorType action, Event &event) override;
471  };
472 
473  /* Items */
474  class Boat: public NamedHotspot {
475  public:
476  bool startAction(CursorType action, Event &event) override;
477  };
478  class Crate: public NamedHotspot {
479  public:
480  bool startAction(CursorType action, Event &event) override;
481  };
482  class Exit: public NamedHotspot {
483  public:
484  bool startAction(CursorType action, Event &event) override;
485  };
486 public:
487  SequenceManager _sequenceManager;
488  SpeakerGameText _gameTextSpeaker;
489  SpeakerJakeJacket _jakeJacketSpeaker;
490  SpeakerLyleHat _lyleHatSpeaker;
491  SpeakerGreen _greenSpeaker;
492  Boat _boat;
493  Crate _crate;
494  Exit _exit;
495  NamedObject _yacht;
496  Lyle _lyle;
497  Green _green;
498  NamedObject _object4, _object5, _object6;
499  CrateInset _crateInset;
500  NamedHotspot _lumber, _firePit, _water, _boulders;
501  NamedHotspot _palmTrees, _sand, _farShore, _item11;
502  Action1 _action1;
503  int _field1662, _field1664;
504 
505  Scene870();
506  void synchronize(Serializer &s) override;
507  void postInit(SceneObjectList *OwnerList = NULL) override;
508  void remove() override;
509  void signal() override;
510  void process(Event &event) override;
511  void dispatch() override;
512 
513  void startStrip(int stripNumber);
514 };
515 
516 class Scene880: public SceneExt {
517  /* Actions */
518  class Action1: public Action {
519  private:
520  static void SequenceManager_callbackProc(int v1, int v2);
521  public:
522  void signal() override;
523  };
524 
525  /* Objects */
526  class Object4: public NamedObjectExt {
527  public:
528  bool startAction(CursorType action, Event &event) override;
529  };
530 
531  /* Items */
532  class NorthExit: public NamedHotspot {
533  public:
534  bool startAction(CursorType action, Event &event) override;
535  };
536  class SouthEastExit: public NamedHotspot {
537  public:
538  bool startAction(CursorType action, Event &event) override;
539  };
540 private:
541  static void handleAction(Action *action);
542 public:
543  SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
544  SpeakerGameText _gameTextSpeaker;
545  SpeakerJakeJacket _jakeJacketSpeaker;
546  SpeakerLyleHat _lyleHatSpeaker;
547  Action1 _action1;
548  NamedObject _object1, _object2, _object3;
549  Object4 _object4;
550  NamedObject _object5, _object6, _object7;
551  NamedHotspot _background;
552  NorthExit _northExit;
553  SouthEastExit _seExit;
554  int _seqNumber;
555 
556  Scene880();
557  void synchronize(Serializer &s) override;
558  void postInit(SceneObjectList *OwnerList = NULL) override;
559  void signal() override;
560  void process(Event &event) override;
561  void dispatch() override;
562 };
563 
564 } // End of namespace BlueForce
565 
566 } // End of namespace TsAGE
567 
568 #endif
Definition: blueforce_speakers.h:110
Definition: core.h:443
Definition: blueforce_speakers.h:149
Definition: blueforce_logic.h:127
Definition: blueforce_speakers.h:181
Definition: core.h:736
Definition: blueforce_logic.h:225
Definition: blueforce_speakers.h:57
Definition: blueforce_scenes8.h:413
Definition: core.h:134
Definition: blueforce_logic.h:330
Definition: blueforce_speakers.h:102
Definition: blueforce_scenes8.h:516
Definition: blueforce_logic.h:180
Definition: blueforce_scenes8.h:101
Definition: sound.h:405
Definition: blueforce_scenes8.h:272
Definition: rect.h:45
Definition: events.h:47
Definition: blueforce_logic.h:72
Definition: blueforce_dialogs.h:30
Definition: blueforce_logic.h:194
Definition: saveload.h:63
Definition: blueforce_scenes8.h:41
Definition: blueforce_scenes8.h:396
Definition: blueforce_scenes8.h:241
Definition: graphics.h:40
Definition: blueforce_speakers.h:126
Definition: core.h:625
Definition: blueforce_scenes8.h:437
Definition: blueforce_scenes8.h:326
Definition: converse.h:38
Definition: blueforce_logic.h:119