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 virtual Common::String getClassName() { return "BF100Text"; } 47 virtual void dispatch(); 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 virtual Common::String getClassName() { return "BF100Action1"; } synchronize(Serializer & s)60 virtual void synchronize(Serializer &s) { 61 ActionExt::synchronize(s); 62 s.syncAsSint16LE(_textHeight); 63 } 64 virtual void signal(); 65 }; 66 class Action2: public ActionExt { 67 public: 68 virtual void signal(); 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 virtual void postInit(SceneObjectList *OwnerList = NULL); 80 virtual void signal(); 81 }; 82 83 class Scene109: public PalettedScene { 84 /* Actions */ 85 class Action1: public Action { 86 public: 87 virtual void signal(); 88 }; 89 class Action2: public Action { 90 public: 91 virtual void signal(); 92 }; 93 class Action3: public Action { 94 public: 95 virtual void signal(); 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 virtual void postInit(SceneObjectList *OwnerList = NULL); 112 virtual void signal(); 113 }; 114 115 class Scene110: public SceneExt { 116 /* Actions */ 117 class Action1: public Action { 118 public: 119 virtual void signal(); 120 }; 121 class Action2: public Action { 122 public: 123 virtual void signal(); 124 }; 125 class Action3: public Action { 126 public: 127 virtual void signal(); 128 virtual void dispatch(); 129 }; 130 class Action4: public Action { 131 public: 132 virtual void signal(); 133 virtual void dispatch(); 134 }; 135 class Action5: public Action { 136 public: 137 virtual void signal(); 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 virtual void postInit(SceneObjectList *OwnerList = NULL); 149 }; 150 151 class Scene114: public SceneExt { 152 /* Objects */ 153 class Vechile: public NamedObject { 154 public: 155 virtual bool startAction(CursorType action, Event &event); 156 }; 157 class Door: public NamedObject { 158 public: 159 virtual bool startAction(CursorType action, Event &event); 160 }; 161 public: 162 SequenceManager _sequenceManager1; 163 Vechile _vechile; 164 Door _door; 165 NamedObject _lyle; 166 NamedHotspot _item1; 167 public: 168 virtual void postInit(SceneObjectList *OwnerList = NULL); 169 virtual void signal(); 170 }; 171 172 class Scene115: public SceneExt { 173 /* Objects */ 174 class Kate: public NamedObject { 175 public: 176 virtual bool startAction(CursorType action, Event &event); 177 }; 178 class Tony: public NamedObject { 179 public: 180 int _talkToTonyCtr2; 181 virtual bool startAction(CursorType action, Event &event); 182 }; 183 class Object3: public NamedObject { 184 public: 185 virtual bool startAction(CursorType action, Event &event); 186 }; 187 class Object4: public NamedObject { 188 public: 189 virtual bool startAction(CursorType action, Event &event); 190 }; 191 192 /* Custom class */ 193 class EventHandler1: public EventHandler { 194 public: getClassName()195 virtual Common::String getClassName() { return "Scene115_EventHandler1"; } 196 virtual void dispatch(); 197 }; 198 199 /* Items */ 200 class Jukebox: public NamedHotspot { 201 SequenceManager _sequenceManager6; 202 public: 203 int _jokeboxPlayingCtr; 204 205 Jukebox(); 206 virtual bool startAction(CursorType action, Event &event); 207 virtual void signal(); 208 virtual void synchronize(Serializer &s); 209 }; 210 class Item10: public NamedHotspot { 211 public: 212 virtual bool startAction(CursorType action, Event &event); 213 }; 214 class Item14: public NamedHotspot { 215 public: 216 virtual bool startAction(CursorType action, Event &event); 217 }; 218 219 /* Actions */ 220 class Action1: public Action { 221 public: 222 virtual void signal(); 223 }; 224 class Action2: public Action { 225 public: 226 virtual void signal(); 227 }; 228 class Action3: public Action { 229 public: 230 virtual void signal(); 231 }; 232 class Action4: public Action { 233 public: 234 virtual void signal(); 235 }; 236 class Action5: public Action { 237 public: 238 virtual void signal(); 239 }; 240 class Action6: public Action { 241 public: 242 virtual void signal(); 243 }; 244 class Action7: public Action { 245 public: 246 virtual void signal(); 247 }; 248 class Action8: public Action { 249 public: 250 virtual void signal(); 251 }; 252 class Action9: public Action { 253 public: 254 virtual void signal(); 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 virtual void synchronize(Serializer &s); 296 virtual void postInit(SceneObjectList *OwnerList = NULL); 297 virtual void signal(); 298 virtual void process(Event &event); 299 }; 300 301 class Scene125: public SceneExt { 302 class Action1: public Action { 303 public: 304 virtual void signal(); 305 }; 306 class Action2: public Action { 307 public: 308 virtual void signal(); 309 virtual void dispatch(); 310 }; 311 class Action3: public Action { 312 public: 313 virtual void signal(); 314 virtual void dispatch(); 315 }; 316 class Action4: public Action { 317 public: 318 virtual void signal(); 319 virtual void dispatch(); 320 }; 321 class Action5: public Action { 322 public: 323 virtual void signal(); 324 }; 325 class Action6: public Action { 326 public: 327 virtual void signal(); 328 virtual void dispatch(); 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); 344 }; 345 346 class Scene140: public SceneExt { 347 class Action1: public Action { 348 public: 349 virtual void signal(); 350 }; 351 public: 352 Action1 _action1; 353 ASoundExt _soundExt1; 354 NamedObject _object1; 355 NamedObject _object2; 356 IntroSceneText _text; 357 358 void postInit(SceneObjectList *OwnerList); 359 }; 360 361 class Scene150: public SceneExt { 362 class Action1: public Action { 363 NamedObject _object2; 364 ASound _sound1; 365 public: 366 virtual void signal(); 367 }; 368 public: 369 NamedObject _object1; 370 Action1 _action1; 371 372 void postInit(SceneObjectList *OwnerList); 373 }; 374 375 class Scene160: public SceneExt { 376 class Action1: public Action { 377 public: 378 virtual void signal(); 379 }; 380 class Action2: public Action { 381 public: 382 virtual void signal(); 383 virtual void process(Event &event); 384 }; 385 class Action3: public ActionExt { 386 public: 387 virtual void signal(); 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); 398 }; 399 400 class Scene180: public SceneExt { 401 /* Objects */ 402 class Vechile: public NamedObject { 403 public: 404 virtual bool startAction(CursorType action, Event &event); 405 }; 406 407 /* Items */ 408 class GarageExit: public NamedHotspot { 409 public: 410 virtual bool startAction(CursorType action, Event &event); 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 virtual void synchronize(Serializer &s); 427 virtual void postInit(SceneObjectList *OwnerList = NULL); 428 virtual void signal(); 429 virtual void process(Event &event); 430 virtual void dispatch(); 431 }; 432 433 class Scene190: public SceneExt { 434 /* Objects */ 435 class LyleCar: public NamedObject { 436 public: 437 virtual bool startAction(CursorType action, Event &event); 438 }; 439 440 /* Items */ 441 class Item1: public NamedHotspot { 442 public: 443 virtual bool startAction(CursorType action, Event &event); 444 }; 445 class Item2: public NamedHotspot { 446 public: 447 virtual bool startAction(CursorType action, Event &event); 448 }; 449 class Exit: public NamedHotspot { 450 public: 451 virtual bool startAction(CursorType action, Event &event); 452 }; 453 454 /* Actions */ 455 class Action1: public Action { 456 public: 457 virtual void signal(); 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 virtual void postInit(SceneObjectList *OwnerList = NULL); 476 virtual void signal(); 477 virtual void process(Event &event); 478 virtual void dispatch(); 479 virtual void synchronize(Serializer &s); 480 }; 481 482 } // End of namespace BlueForce 483 484 } // End of namespace TsAGE 485 486 #endif 487