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_SCENES3_H 24 #define TSAGE_BLUEFORCE_SCENES3_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 Scene300: public SceneExt { 43 /* Objects */ 44 class Object: public NamedObject { 45 public: 46 int _stripNumber; 47 public: Object(int stripNumber)48 Object(int stripNumber) { _stripNumber = stripNumber; } 49 50 bool startAction(CursorType action, Event &event) override; 51 }; 52 class Object19: public NamedObject { 53 public: 54 bool startAction(CursorType action, Event &event) override; 55 }; 56 57 /* Items */ 58 class Item1: public NamedHotspot { 59 public: 60 bool startAction(CursorType action, Event &event) override; 61 }; 62 class Item2: public NamedHotspot { 63 public: 64 bool startAction(CursorType action, Event &event) override; 65 }; 66 class Item14: public NamedHotspot { 67 public: 68 bool startAction(CursorType action, Event &event) override; 69 }; 70 class Item15: public NamedHotspot { 71 public: 72 bool startAction(CursorType action, Event &event) override; 73 }; 74 75 /* Actions */ 76 class Action1: public Action { 77 public: 78 void signal() override; 79 }; 80 class Action2: public Action { 81 public: 82 void signal() override; 83 }; 84 class Action3: public Action { 85 public: 86 void signal() override; 87 }; 88 class Action4: public Action { 89 public: 90 void signal() override; 91 }; 92 class Action5: public Action { 93 public: 94 void signal() override; 95 }; 96 private: 97 void setupInspection(); 98 public: 99 SequenceManager _sequenceManager1, _sequenceManager2; 100 SequenceManager _sequenceManager3, _sequenceManager4; 101 NamedObject _object1; 102 FollowerObject _object2, _object3, _object4, _object5, _object6, _object7; 103 SceneObject _object8, _object9, _object10; 104 NamedObject _object11, _object12; 105 Object _object13, _object14, _object15, _object16; 106 NamedObject _object17, _object18; 107 Object19 _object19; 108 Item1 _item1; 109 Item2 _item2; 110 NamedHotspot _item3, _item4, _item5, _item6, _item7; 111 NamedHotspot _item8, _item9, _item10, _item11; 112 NamedHotspot _item12, _item13; 113 Item14 _item14; 114 Item15 _item15; 115 Action1 _action1; 116 Action2 _action2; 117 Action3 _action3; 118 Action4 _action4; 119 Action5 _action5; 120 SpeakerGameText _gameTextSpeaker; 121 SpeakerSutter _sutterSpeaker; 122 SpeakerDoug _dougSpeaker; 123 SpeakerJakeNoHead _jakeSpeaker; 124 TimerExt _timer; 125 int _field2760, _field2762; 126 127 Scene300(); 128 void postInit(SceneObjectList *OwnerList = NULL) override; 129 void signal() override; 130 void process(Event &event) override; 131 void dispatch() override; 132 }; 133 134 class Scene315: public SceneExt { 135 /* Objects */ 136 class BulletinMemo: public NamedObject { 137 public: 138 bool startAction(CursorType action, Event &event) override; 139 }; 140 class Object2: public NamedObject { 141 public: 142 bool startAction(CursorType action, Event &event) override; 143 }; 144 class ATFMemo: public NamedObject { 145 public: 146 bool startAction(CursorType action, Event &event) override; 147 }; 148 149 /* Items */ 150 class Barry: public NamedHotspot { 151 public: 152 bool startAction(CursorType action, Event &event) override; 153 }; 154 class SutterSlot: public NamedHotspot { 155 public: 156 bool startAction(CursorType action, Event &event) override; 157 }; 158 class Sign: public NamedHotspot { 159 public: 160 bool startAction(CursorType action, Event &event) override; 161 }; 162 class BulletinBoard: public NamedHotspot { 163 public: 164 bool startAction(CursorType action, Event &event) override; 165 }; 166 class CleaningKit: public NamedHotspot { 167 public: 168 bool startAction(CursorType action, Event &event) override; 169 }; 170 class BriefingMaterial: public NamedHotspot { 171 public: 172 bool startAction(CursorType action, Event &event) override; 173 }; 174 class WestExit: public NamedHotspot { 175 public: 176 bool startAction(CursorType action, Event &event) override; 177 }; 178 class SouthWestExit: public NamedHotspot { 179 public: 180 bool startAction(CursorType action, Event &event) override; 181 }; 182 183 /* Actions */ 184 class Action1: public Action { 185 public: 186 void signal() override; 187 }; 188 public: 189 SequenceManager _sequenceManager; 190 SpeakerGameText _gameTextSpeaker; 191 SpeakerSutter _sutterSpeaker; 192 SpeakerHarrison _harrisonSpeaker; 193 SpeakerJakeJacket _jakeJacketSpeaker; 194 SpeakerJakeUniform _jakeUniformSpeaker; 195 SpeakerJailer _jailerSpeaker; 196 Barry _barry; 197 SutterSlot _sutterSlot; 198 NamedHotspot _item3; 199 Sign _sign; 200 BulletinBoard _bulletinBoard; 201 BulletinMemo _bulletinMemo; 202 Object2 _object2; 203 ATFMemo _atfMemo; 204 SceneObject _object4, _object5, _object6; 205 SceneObject _object7, _object8, _object9; 206 NamedHotspot _item6, _item7, _item8, _item9; 207 NamedHotspot _item10, _item11, _item12, _item13; 208 CleaningKit _cleaningKit; 209 BriefingMaterial _briefingMaterial; 210 WestExit _westExit; 211 SouthWestExit _swExit; 212 Action1 _action1; 213 int _stripNumber; 214 int _field1398; 215 int _invGreenCount, _bookGreenCount, _invGangCount; 216 int _bookGangCount, _field1B6C, _field139C; 217 bool _field1B68, _doorOpened; 218 CursorType _currentCursor; 219 220 Scene315(); 221 void synchronize(Serializer &s) override; 222 void postInit(SceneObjectList *OwnerList = NULL) override; 223 void signal() override; 224 void process(Event &event) override; 225 void dispatch() override; 226 }; 227 228 class Scene325: public SceneExt { 229 /* Items */ 230 class Item1: public NamedHotspot { 231 public: 232 bool startAction(CursorType action, Event &event) override; 233 }; 234 public: 235 SequenceManager _sequenceManager; 236 SpeakerGameText _gameTextSpeaker; 237 SpeakerPSutter _PSutterSpeaker; 238 Item1 _item1; 239 NamedObject _object1, _object2, _object3, _object4, _object5; 240 241 void postInit(SceneObjectList *OwnerList = NULL) override; 242 void signal() override; 243 }; 244 245 class Scene330: public SceneExt { 246 class Timer1: public Timer { 247 public: 248 void signal() override; 249 }; 250 public: 251 SequenceManager _sequenceManager; 252 NamedObject _object1; 253 SceneObject _object2; 254 ASoundExt _sound1, _sound2; 255 Timer1 _timer; 256 int _seqNumber; 257 258 Scene330(); 259 void synchronize(Serializer &s) override; 260 void postInit(SceneObjectList *OwnerList = NULL) override; 261 void remove() override; 262 void signal() override; 263 }; 264 265 class Scene340: public PalettedScene { 266 /* Actions */ 267 class Action1: public Action { 268 public: 269 void signal() override; 270 }; 271 class Action2: public Action { 272 public: 273 void signal() override; 274 }; 275 class Action3: public Action { 276 public: 277 void signal() override; 278 }; 279 class Action4: public Action { 280 public: 281 void signal() override; 282 }; 283 class Action5: public Action { 284 public: 285 void signal() override; 286 }; 287 class Action6: public Action { 288 public: 289 void signal() override; 290 }; 291 class Action7: public Action { 292 public: 293 void signal() override; 294 }; 295 class Action8: public Action { 296 public: 297 void signal() override; 298 void process(Event &event) override; 299 }; 300 301 /* Items */ 302 class Item1: public NamedHotspot { 303 public: 304 bool startAction(CursorType action, Event &event) override; 305 }; 306 class WestExit: public NamedHotspot { 307 public: 308 bool startAction(CursorType action, Event &event) override; 309 }; 310 class SouthWestExit: public NamedHotspot { 311 public: 312 bool startAction(CursorType action, Event &event) override; 313 }; 314 class NorthExit: public NamedHotspot { 315 public: 316 bool startAction(CursorType action, Event &event) override; 317 }; 318 319 /* Objects */ 320 class Child: public NamedObject { 321 public: 322 bool startAction(CursorType action, Event &event) override; 323 }; 324 class Woman: public NamedObject { 325 public: 326 bool startAction(CursorType action, Event &event) override; 327 }; 328 class Harrison: public NamedObject { 329 public: 330 bool startAction(CursorType action, Event &event) override; 331 }; 332 333 /* Timers */ 334 class Timer2: public Timer { 335 public: 336 void signal() override; 337 }; 338 public: 339 SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3; 340 Child _child; 341 Woman _woman; 342 Harrison _harrison; 343 SceneObject _object4, _object5; 344 Item1 _item1; 345 NamedHotspot _item2, _item3; 346 WestExit _westExit; 347 SouthWestExit _swExit; 348 NorthExit _northExit; 349 Action1 _action1; 350 Action2 _action2; 351 Action3 _action3; 352 Action4 _action4; 353 Action5 _action5; 354 Action6 _action6; 355 Action7 _action7; 356 Action8 _action8; 357 SpeakerGameText _gameTextSpeaker; 358 SpeakerJordan _jordanSpeaker; 359 SpeakerSkipB _skipBSpeaker; 360 SpeakerJakeUniform _jakeUniformSpeaker; 361 SpeakerHarrison _harrisonSpeaker; 362 ASoundExt _sound1, _sound2; 363 TimerExt _timer1; 364 Timer2 _timer2; 365 int _seqNumber1, _womanDialogCount, _backupPresent; 366 367 Scene340(); 368 void synchronize(Serializer &s) override; 369 void postInit(SceneObjectList *OwnerList = NULL) override; 370 void remove() override; 371 void signal() override; 372 void process(Event &event) override; 373 void dispatch() override; 374 }; 375 376 class Scene342: public PalettedScene { 377 /* Items */ 378 class Item1: public NamedHotspot { 379 public: 380 bool startAction(CursorType action, Event &event) override; 381 }; 382 class WestExit: public NamedHotspot { 383 public: 384 bool startAction(CursorType action, Event &event) override; 385 }; 386 class SouthWestExit: public NamedHotspot { 387 public: 388 bool startAction(CursorType action, Event &event) override; 389 }; 390 class NorthExit: public NamedHotspot { 391 public: 392 bool startAction(CursorType action, Event &event) override; 393 }; 394 395 /* Objects */ 396 class Lyle: public NamedObject { 397 public: 398 bool startAction(CursorType action, Event &event) override; 399 }; 400 401 /* Timers */ 402 class Timer1: public Timer { 403 public: 404 void signal() override; 405 }; 406 public: 407 SequenceManager _sequenceManager1, _sequenceManager2; 408 Lyle _lyle; 409 NamedObject _object2; 410 SceneObject _object3, _object4; 411 Item1 _item1; 412 NamedHotspot _item2, _item3; 413 WestExit _westExit; 414 SouthWestExit _swExit; 415 NorthExit _northExit; 416 SpeakerGameText _gameTextSpeaker; 417 SpeakerJakeJacket _jakeJacketSpeaker; 418 SpeakerLyleHat _lyleHatSpeaker; 419 ASoundExt _sound1; 420 Timer1 _timer1; 421 int _field1A1A; 422 423 Scene342(); 424 void synchronize(Serializer &s) override; 425 void postInit(SceneObjectList *OwnerList = NULL) override; 426 void remove() override; 427 void signal() override; 428 void process(Event &event) override; 429 void dispatch() override; 430 }; 431 432 class Scene350: public SceneExt { 433 /* Items */ 434 class FireBox: public NamedHotspot { 435 public: 436 bool startAction(CursorType action, Event &event) override; 437 }; 438 class Yacht: public NamedHotspot { 439 public: 440 bool _flag; 441 getClassName()442 Common::String getClassName() override { return "Scene350_Item6"; } 443 void synchronize(Serializer &s) override; 444 bool startAction(CursorType action, Event &event) override; 445 }; 446 class SouthWestExit: public NamedHotspot { 447 public: 448 bool startAction(CursorType action, Event &event) override; 449 }; 450 451 /* Objects */ 452 class Hook: public NamedObject { 453 public: 454 bool startAction(CursorType action, Event &event) override; 455 }; 456 class FireboxInset: public FocusObject { 457 public: 458 bool startAction(CursorType action, Event &event) override; 459 }; 460 461 /* Timers */ 462 class Timer1: public Timer { 463 public: 464 void signal() override; 465 }; 466 public: 467 SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3; 468 NamedObject _harrison; 469 SceneObject _yachtDoor; 470 BackgroundSceneObject _yachtBody; 471 Hook _hook; 472 FireboxInset _fireBoxInset; 473 NamedHotspot _item1, _item2, _item3, _item4; 474 FireBox _fireBox; 475 Yacht _yacht; 476 SouthWestExit _swExit; 477 SpeakerGameText _gameTextSpeaker; 478 SpeakerJakeUniform _jakeUniformSpeaker; 479 SpeakerHarrison _harrisonSpeaker; 480 ASoundExt _sound1, _sound2; 481 Timer1 _timer1; 482 int _field1D44, _field1D46; 483 484 Scene350(); 485 void postInit(SceneObjectList *OwnerList = NULL) override; 486 void remove() override; 487 void signal() override; 488 void process(Event &event) override; 489 void checkGun() override; 490 }; 491 492 class Scene355: public PalettedScene { 493 /* Objects */ 494 class Doorway: public NamedObject { 495 public: 496 int _mode1356Count, _talkCount; 497 bool _onDuty; 498 Doorway()499 Doorway() { _mode1356Count = _talkCount = 0; _onDuty = false; } getClassName()500 Common::String getClassName() override { return "Scene355_Doorway"; } 501 void synchronize(Serializer &s) override; 502 bool startAction(CursorType action, Event &event) override; 503 }; 504 class Locker: public NamedObject { 505 public: 506 bool startAction(CursorType action, Event &event) override; 507 }; 508 class LockerInset: public FocusObject { 509 public: 510 bool startAction(CursorType action, Event &event) override; 511 }; 512 class Object5: public NamedObject { 513 public: 514 bool startAction(CursorType action, Event &event) override; 515 }; 516 class Green: public NamedObjectExt { 517 public: 518 bool startAction(CursorType action, Event &event) override; 519 }; 520 class Lyle: public NamedObjectExt { 521 public: 522 bool startAction(CursorType action, Event &event) override; 523 }; 524 class Object8: public NamedObject { 525 public: 526 bool startAction(CursorType action, Event &event) override; 527 }; 528 529 /* Items */ 530 class Item1: public SceneHotspot { 531 public: 532 bool startAction(CursorType action, Event &event) override; 533 }; 534 class Item2: public NamedHotspot { 535 public: 536 bool startAction(CursorType action, Event &event) override; 537 }; 538 class Item3: public SceneHotspotExt { 539 public: 540 bool startAction(CursorType action, Event &event) override; 541 }; 542 class Item4: public SceneHotspot { 543 public: 544 bool startAction(CursorType action, Event &event) override; 545 }; 546 class Pouch: public NamedHotspot { 547 public: 548 bool startAction(CursorType action, Event &event) override; 549 }; 550 class Item11: public NamedHotspot { 551 public: 552 bool startAction(CursorType action, Event &event) override; 553 }; 554 class RentalExit: public NamedHotspot { 555 public: 556 bool startAction(CursorType action, Event &event) override; 557 }; 558 559 /* Actions */ 560 class Action1: public Action { 561 public: 562 void signal() override; 563 }; 564 class Action2: public Action { 565 public: 566 void signal() override; 567 }; 568 public: 569 SequenceManager _sequenceManager; 570 SpeakerGameText _gameTextSpeaker; 571 SpeakerJakeUniform _jakeUniformSpeaker; 572 SpeakerJakeJacket _jakeJacketSpeaker; 573 SpeakerHarrison _harrisonSpeaker; 574 SpeakerLyleHat _lyleHatSpeaker; 575 SpeakerGreen _greenSpeaker; 576 NamedObject _harrison; 577 Doorway _doorway; 578 Locker _locker; 579 LockerInset _lockerInset; 580 Object5 _object5; 581 Green _green; 582 Lyle _lyle; 583 Object8 _object8; 584 NamedObject _object9, _object10, _object11; 585 Item1 _item1; 586 Item2 _item2; 587 Item3 _item3; 588 Item4 _item4; 589 Pouch _pouch; 590 NamedHotspot _item6, _item7, _item8; 591 NamedHotspot _item9, _item10; 592 Item11 _item11; 593 RentalExit _rentalExit; 594 ASoundExt _sound1, _sound2, _sound3; 595 Action1 _action1; 596 Action2 _action2; 597 int _nextSceneMode; 598 bool _modeFlag; 599 600 Scene355(); 601 void synchronize(Serializer &s) override; 602 void postInit(SceneObjectList *OwnerList = NULL) override; 603 void signal() override; 604 void process(Event &event) override; 605 void dispatch() override; 606 607 void setMode(bool mode, int sceneMode); 608 }; 609 610 class Scene360: public SceneExt { 611 /* Objects */ 612 class SlidingDoor: public NamedObject { 613 public: 614 bool startAction(CursorType action, Event &event) override; 615 }; 616 class Window: public NamedObject { 617 public: 618 bool startAction(CursorType action, Event &event) override; 619 }; 620 class Object4: public NamedObject { 621 public: 622 bool startAction(CursorType action, Event &event) override; 623 }; 624 class BaseballCards: public NamedObject { 625 public: 626 bool startAction(CursorType action, Event &event) override; 627 }; 628 class Harrison: public NamedObject { 629 public: 630 bool startAction(CursorType action, Event &event) override; 631 }; 632 class Object7: public NamedObject { 633 public: 634 bool startAction(CursorType action, Event &event) override; 635 }; 636 637 /* Items */ 638 class Item1: public SceneHotspot { 639 public: 640 bool startAction(CursorType action, Event &event) override; 641 }; 642 class Item2: public SceneHotspot { 643 public: 644 bool startAction(CursorType action, Event &event) override; 645 }; 646 class Item3: public SceneHotspot { 647 public: 648 bool startAction(CursorType action, Event &event) override; 649 }; 650 class Barometer: public SceneHotspot { 651 public: 652 bool startAction(CursorType action, Event &event) override; 653 }; 654 655 /* Actions */ 656 class Action1: public Action { 657 public: 658 void signal() override; 659 }; 660 public: 661 SequenceManager _sequenceManager1, _sequenceManager2; 662 SpeakerGameText _gameTextSpeaker; 663 SpeakerJakeUniform _jakeUniformSpeaker; 664 SpeakerHarrison _harrisonSpeaker; 665 SpeakerGreen _greenSpeaker; 666 SlidingDoor _slidingDoor; 667 SceneObject _object2; 668 Window _window; 669 Object4 _object4; 670 BaseballCards _baseballCards; 671 Harrison _harrison; 672 Object7 _object7; 673 Item1 _item1; 674 Item2 _item2; 675 Item3 _item3; 676 Barometer _barometer; 677 Action1 _action1; 678 ASound _sound1; 679 680 void synchronize(Serializer &s) override; 681 void postInit(SceneObjectList *OwnerList = NULL) override; 682 void signal() override; 683 void process(Event &event) override; 684 void dispatch() override; 685 }; 686 687 class Scene370: public SceneExt { 688 /* Items */ 689 class Item1: public NamedHotspot { 690 public: 691 bool startAction(CursorType action, Event &event) override; 692 }; 693 class Item6: public SceneHotspot { 694 public: 695 bool startAction(CursorType action, Event &event) override; 696 }; 697 class Exit: public NamedHotspot { 698 public: 699 bool startAction(CursorType action, Event &event) override; 700 }; 701 702 /* Objects */ 703 class GreensGun: public NamedObject { 704 public: 705 bool startAction(CursorType action, Event &event) override; 706 }; 707 class Green: public NamedObject2 { 708 public: 709 bool startAction(CursorType action, Event &event) override; 710 }; 711 class Harrison: public NamedObject { 712 public: 713 bool startAction(CursorType action, Event &event) override; 714 }; 715 class Laura: public NamedObject { 716 public: 717 bool startAction(CursorType action, Event &event) override; 718 }; 719 720 /* Speakers */ 721 class SpeakerLaura370: public SpeakerLaura { 722 public: 723 void setText(const Common::String &msg) override; 724 }; 725 public: 726 SequenceManager _sequenceManager; 727 SpeakerGameText _gameTextSpeaker; 728 SpeakerJakeUniform _jakeUniformSpeaker; 729 SpeakerLaura _lauraSpeaker; 730 SpeakerLauraHeld _lauraHeldSpeaker; 731 SpeakerGreen _greenSpeaker; 732 SpeakerHarrison _harrisonSpeaker; 733 GreensGun _greensGun; 734 Green _green; 735 Harrison _harrison; 736 Laura _laura; 737 NamedObject _object5; 738 SceneObject _object6; 739 Item1 _item1; 740 NamedHotspot _item2, _item3, _item4, _item5; 741 Item6 _item6; 742 Exit _exit; 743 ASound _sound1; 744 745 void postInit(SceneObjectList *OwnerList = NULL) override; 746 void signal() override; 747 void process(Event &event) override; 748 void dispatch() override; 749 }; 750 751 class Scene380: public SceneExt { 752 /* Objects */ 753 class Vechile: public NamedObjectExt { 754 public: 755 bool startAction(CursorType action, Event &event) override; 756 }; 757 class Door: public NamedObjectExt { 758 public: 759 bool startAction(CursorType action, Event &event) override; 760 }; 761 public: 762 SequenceManager _sequenceManager; 763 SpeakerGameText _gameTextSpeaker; 764 Vechile _vechile; 765 Door _door; 766 NamedHotspot _item1, _item2, _item3, _item4, _item5; 767 NamedHotspot _item6, _item7, _item8, _item9; 768 769 void postInit(SceneObjectList *OwnerList = NULL) override; 770 void signal() override; 771 }; 772 773 class Scene385: public SceneExt { 774 /* Items */ 775 class Exit: public NamedHotspot { 776 public: 777 bool startAction(CursorType action, Event &event) override; 778 }; 779 780 /* Objects */ 781 class Door: public NamedObject { 782 public: 783 bool startAction(CursorType action, Event &event) override; 784 }; 785 class Jim: public NamedObject { 786 public: 787 bool startAction(CursorType action, Event &event) override; 788 }; 789 class Dezi: public NamedObject { 790 public: 791 bool startAction(CursorType action, Event &event) override; 792 }; 793 794 /* Actions */ 795 class Action1: public Action { 796 public: 797 void signal() override; 798 }; 799 class Action2: public Action { 800 public: 801 void signal() override; 802 }; 803 public: 804 SequenceManager _sequenceManager; 805 Action1 _action1; 806 Action2 _action2; 807 Door _door; 808 Jim _jim; 809 Dezi _dezi; 810 SpeakerGameText _gameTextSpeaker; 811 SpeakerJim _jimSpeaker; 812 SpeakerDezi _deziSpeaker; 813 SpeakerJake385 _jake385Speaker; 814 NamedHotspot _item1, _item2, _item3, _item4, _item5; 815 Exit _exit; 816 int _talkAction; 817 bool _jimFlag; 818 819 Scene385(); 820 void synchronize(Serializer &s) override; 821 void postInit(SceneObjectList *OwnerList = NULL) override; 822 void signal() override; 823 void process(Event &event) override; 824 void dispatch() override; 825 }; 826 827 class Scene390: public SceneExt { 828 /* Items */ 829 class BookingForms: public NamedHotspotExt { 830 public: 831 bool startAction(CursorType action, Event &event) override; 832 }; 833 834 /* Objects */ 835 class Green: public NamedObjectExt { 836 public: 837 bool startAction(CursorType action, Event &event) override; 838 }; 839 class Object2: public NamedObjectExt { 840 public: 841 bool startAction(CursorType action, Event &event) override; 842 }; 843 class Object3: public NamedObject { 844 public: 845 bool startAction(CursorType action, Event &event) override; 846 }; 847 class GangMember1: public NamedObjectExt { 848 public: 849 bool startAction(CursorType action, Event &event) override; 850 }; 851 class GangMember2: public NamedObjectExt { 852 public: 853 bool startAction(CursorType action, Event &event) override; 854 }; 855 class Door: public NamedObject { 856 public: 857 bool startAction(CursorType action, Event &event) override; 858 }; 859 860 /* Actions */ 861 class Action1: public Action { 862 public: 863 void signal() override; 864 }; 865 public: 866 SequenceManager _sequenceManager; 867 SpeakerGameText _gameTextSpeaker; 868 SpeakerJakeUniform _jakeUniformSpeaker; 869 SpeakerJakeJacket _jakeJacketSpeaker; 870 SpeakerGreen _greenSpeaker; 871 SpeakerJailer _jailerSpeaker; 872 SpeakerDriver _driverSpeaker; 873 SpeakerShooter _shooterSpeaker; 874 Action1 _action1; 875 Green _green; 876 Object2 _object2; 877 Object3 _object3; 878 GangMember1 _gangMember1; 879 GangMember2 _gangMember2; 880 Door _door; 881 NamedHotspot _item1, _item3, _item4; 882 BookingForms _bookingForms; 883 884 void postInit(SceneObjectList *OwnerList = NULL) override; 885 void signal() override; 886 }; 887 888 } // End of namespace BlueForce 889 890 } // End of namespace TsAGE 891 892 #endif 893