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