ScummVM API documentation
blueforce_scenes4.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_SCENES4_H
23 #define TSAGE_BLUEFORCE_SCENES4_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 Scene410: public SceneExt {
42  /* Actions */
43  class Action1: public Action {
44  public:
45  void signal() override;
46  };
47  class Action2: public Action {
48  public:
49  void signal() override;
50  };
51  class Action3: public Action {
52  public:
53  void signal() override;
54  };
55  class Action4: public Action {
56  public:
57  void signal() override;
58  };
59  class Action5: public Action {
60  public:
61  void signal() override;
62  };
63  class Action6: public Action {
64  public:
65  void signal() override;
66  };
67  class Action7: public Action {
68  public:
69  void signal() override;
70  };
71 
72  /* Objects */
73  class Driver: public NamedObject {
74  public:
75  bool startAction(CursorType action, Event &event) override;
76  };
77  class Passenger: public NamedObject {
78  public:
79  bool startAction(CursorType action, Event &event) override;
80  };
81  class Harrison: public NamedObject {
82  public:
83  bool startAction(CursorType action, Event &event) override;
84  };
85 
86  /* Items */
87  class Motorcycle: public NamedHotspot {
88  public:
89  bool startAction(CursorType action, Event &event) override;
90  };
91  class TruckFront: public NamedHotspot {
92  public:
93  bool startAction(CursorType action, Event &event) override;
94  };
95 public:
96  SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3;
97  Driver _driver;
98  Passenger _passenger;
99  Harrison _harrison;
100  NamedObject _patrolCar, _object5, _object6;
101  NamedHotspot _background;
102  Motorcycle _motorcycle;
103  NamedHotspot _truckBack;
104  TruckFront _truckFront;
105  Action1 _action1;
106  Action2 _action2;
107  Action3 _action3;
108  Action4 _action4;
109  Action5 _action5;
110  Action6 _action6;
111  Action7 _action7;
112  SpeakerGameText _gameTextSpeaker;
113  SpeakerJakeUniform _jakeUniformSpeaker;
114  SpeakerHarrison _harrisonSpeaker;
115  SpeakerDriver _driverSpeaker;
116  SpeakerShooter _shooterSpeaker;
117  ASoundExt _sound1;
118  int _action1Count, _talkCount;
119  bool _harrissonTalkFl;
120  bool _cuffedDriverFl;
121  bool _cuffedPassengerFl;
122  bool _getDriverFl;
123  bool _driverOutOfTruckFl, _harrisonMovedFl;
124 
125  Scene410();
126  void postInit(SceneObjectList *OwnerList = NULL) override;
127  void synchronize(Serializer &s) override;
128  void signal() override;
129  void process(Event &event) override;
130  void dispatch() override;
131 };
132 
133 class Scene415: public SceneExt {
134  /* Objects */
135  class GunInset: public FocusObject {
136  public:
137  bool startAction(CursorType action, Event &event) override;
138  void remove() override;
139  };
140  class GunAndWig: public NamedObject {
141  public:
142  bool startAction(CursorType action, Event &event) override;
143  };
144  class BulletsInset: public FocusObject {
145  public:
146  bool startAction(CursorType action, Event &event) override;
147  void remove() override;
148  };
149  class DashDrawer: public NamedObject {
150  public:
151  bool startAction(CursorType action, Event &event) override;
152  };
153  class TheBullets: public NamedObject {
154  public:
155  bool startAction(CursorType action, Event &event) override;
156  };
157 
158  /* Items */
159  class Lever: public NamedHotspot {
160  public:
161  bool startAction(CursorType action, Event &event) override;
162  };
163 private:
164  void showBullets();
165  void showGunAndWig();
166 public:
167  SequenceManager _sequenceManager;
168  GunInset _gunInset;
169  GunAndWig _gunAndWig;
170  BulletsInset _bulletsInset;
171  DashDrawer _dashDrawer;
172  TheBullets _theBullets;
173  NamedObject _animatedSeat;
174  NamedHotspot _item1, _steeringWheel, _horn, _dashboard;
175  NamedHotspot _seat, _windowLever, _item7, _seatBelt;
176  Lever _lever;
177  SpeakerJakeRadio _jakeRadioSpeaker;
178  bool _scoreWigRapFlag, _scoreBulletRapFlag;
179 
180  Scene415();
181  void postInit(SceneObjectList *OwnerList = NULL) override;
182  void synchronize(Serializer &s) override;
183  void signal() override;
184  void dispatch() override;
185 };
186 
187 class Scene440: public SceneExt {
188  /* Objects */
189  class Doorway: public NamedObject {
190  public:
191  bool startAction(CursorType action, Event &event) override;
192  };
193  class Vechile: public NamedObject {
194  public:
195  bool startAction(CursorType action, Event &event) override;
196  };
197  class Lyle: public NamedObject {
198  public:
199  bool startAction(CursorType action, Event &event) override;
200  };
201 
202  /* Items */
203  class Item1: public NamedHotspot {
204  public:
205  bool startAction(CursorType action, Event &event) override;
206  };
207 public:
208  SequenceManager _sequenceManager;
209  SpeakerGameText _gameTextSpeaker;
210  Doorway _doorway;
211  Vechile _vechile;
212  Lyle _lyle;
213  Item1 _item1;
214 
215  void postInit(SceneObjectList *OwnerList = NULL) override;
216  void signal() override;
217 };
218 
219 class Scene450: public SceneExt {
220  /* Objects */
221  class Weasel: public NamedObjectExt {
222  public:
223  bool startAction(CursorType action, Event &event) override;
224  };
225  class Object2: public NamedObject {
226  public:
227  bool startAction(CursorType action, Event &event) override;
228  };
229  class PinBoy: public NamedObject {
230  public:
231  bool startAction(CursorType action, Event &event) override;
232  };
233  class Manager: public NamedObject {
234  public:
235  bool startAction(CursorType action, Event &event) override;
236  };
237 
238  /* Items */
239  class Exit: public NamedHotspot {
240  public:
241  bool startAction(CursorType action, Event &event) override;
242  };
243 public:
244  SequenceManager _sequenceManager;
245  SpeakerGameText _gameTextSpeaker;
246  SpeakerLyleHat _lyleHatSpeaker;
247  SpeakerJakeJacket _jakeJacketSpeaker;
248  SpeakerJakeUniform _jakeUniformSpeaker;
249  SpeakerEugene _eugeneSpeaker;
250  SpeakerWeasel _weaselSpeaker;
251  SpeakerBilly _billySpeaker;
252  Weasel _weasel;
253  NamedObject _object2;
254  PinBoy _pinBoy;
255  Manager _manager;
256  NamedObject _door, _counterDoor;
257  Exit _exit;
258  NamedHotspot _interior, _shelf, _counter;
259  bool _managerCallsWeaselFl;
260  bool _talkManagerFl;
261 
262  Scene450();
263  void synchronize(Serializer &s) override;
264  void postInit(SceneObjectList *OwnerList = NULL) override;
265  void signal() override;
266  void process(Event &event) override;
267 };
268 
269 } // End of namespace BlueForce
270 
271 } // End of namespace TsAGE
272 
273 #endif
Definition: blueforce_speakers.h:110
Definition: blueforce_speakers.h:86
Definition: blueforce_speakers.h:149
Definition: blueforce_logic.h:127
Definition: core.h:736
Definition: blueforce_scenes4.h:133
Definition: blueforce_speakers.h:57
Definition: core.h:134
Definition: blueforce_speakers.h:197
Definition: blueforce_logic.h:330
Definition: blueforce_speakers.h:102
Definition: blueforce_logic.h:180
Definition: blueforce_speakers.h:245
Definition: blueforce_scenes4.h:41
Definition: sound.h:405
Definition: events.h:47
Definition: blueforce_speakers.h:261
Definition: blueforce_dialogs.h:30
Definition: blueforce_logic.h:194
Definition: saveload.h:63
Definition: blueforce_speakers.h:253
Definition: blueforce_speakers.h:142
Definition: blueforce_speakers.h:189
Definition: blueforce_scenes4.h:219
Definition: converse.h:38
Definition: blueforce_scenes4.h:187
Definition: blueforce_logic.h:119