scummvm/engines/tsage/blue_force/blueforce_scenes9.h

499 lines
12 KiB
C++

/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#ifndef TSAGE_BLUEFORCE_SCENES9_H
#define TSAGE_BLUEFORCE_SCENES9_H
#include "common/scummsys.h"
#include "tsage/blue_force/blueforce_logic.h"
#include "tsage/blue_force/blueforce_speakers.h"
#include "tsage/converse.h"
#include "tsage/events.h"
#include "tsage/core.h"
#include "tsage/scenes.h"
#include "tsage/globals.h"
#include "tsage/sound.h"
namespace TsAGE {
namespace BlueForce {
using namespace TsAGE;
class Scene900: public PalettedScene {
/* Items */
class Exterior: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
class WestExit: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
/* Objects */
class Gate: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Door: public NamedObjectExt {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Dog: public NamedObjectExt {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Lyle: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Body: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
/* Actions */
class Action1 : public Action {
public:
virtual void signal();
};
class Action2 : public Action {
public:
virtual void signal();
};
class Action3 : public Action {
public:
virtual void signal();
};
class Action4 : public Action {
public:
virtual void signal();
};
public:
SequenceManager _sequenceManager1, _sequenceManager2;
SpeakerGameText _gameTextSpeaker;
SpeakerJakeJacket _jakeJacketSpeaker;
SpeakerLyleHat _lyleHatSpeaker;
Exterior _exterior;
Gate _gate;
Door _door;
Dog _dog;
NamedHotspot _item2;
NamedHotspot _item3;
NamedObject _object4;
NamedObject _object5;
Lyle _lyle;
Body _body;
WestExit _westExit;
ASoundExt _sound1;
Action1 _action1;
Action2 _action2;
Action3 _action3;
Action4 _action4;
int _lyleDialogCtr;
int _field1976;
Scene900();
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
virtual void process(Event &event);
virtual void dispatch();
virtual void synchronize(Serializer &s);
};
class Scene910: public PalettedScene {
/* Actions */
class Action1 : public Action {
public:
virtual void signal();
};
class Action2 : public Action {
public:
virtual void signal();
};
/* Objects */
class Lyle: public NamedObject {
public:
int _field90;
virtual void synchronize(Serializer &s);
virtual bool startAction(CursorType action, Event &event);
};
class Nico: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Stuart: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Forbes: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class PowerCord: public NamedObject {
public:
int _field90, _field92;
virtual void synchronize(Serializer &s);
virtual bool startAction(CursorType action, Event &event);
void init(int val);
};
class BreakerBox: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class FakeWall: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Object13: public NamedObject {
protected:
int _state, _mode;
public:
void setupBreaker(int x, int y, int mode, int8 frameNumber);
virtual void synchronize(Serializer &s);
virtual bool startAction(CursorType action, Event &event);
virtual void remove();
};
class BlackPlug: public Object13 {
public:
void init(int x, int y, int arg8, int8 mode);
virtual bool startAction(CursorType action, Event &event);
virtual void remove();
};
class Object25: public NamedObject {
int _field90, _field92;
public:
void setupHiddenSwitch(int x, int y, int arg8, int argA);
virtual void synchronize(Serializer &s);
virtual bool startAction(CursorType action, Event &event);
virtual void remove();
};
class BreakerBoxInset: public FocusObject {
Object13 _object13, _object14, _object15, _object16, _object17, _object18;
Object13 _object19, _object20, _object21, _object22, _object23, _object24;
Object25 _object25, _object26;
public:
Object13 _object27;
BlackPlug _object28;
virtual Common::String getClassName() { return "Scene910_object12"; }
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void remove();
};
class PowerButton: public NamedObject {
public:
NamedObject _object32;
virtual void remove();
virtual bool startAction(CursorType action, Event &event);
void init(int frame);
};
class GeneratorInset: public FocusObject {
BlackPlug _blackPlug;
PowerButton _powerButton;
public:
virtual Common::String getClassName() { return "Scene910_object29"; }
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void remove();
};
/* Items */
class Generator: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Item2: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Item3: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Item9: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Item15: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Item16: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Item17: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
int _sceneSubMode, _breakerButtonCtr, _field2DE0, _field2DE2, _field2DE4;
Common::Point _destPos;
public:
SequenceManager _sequenceManager1, _sequenceManager2;
SpeakerGameText _gameTextSpeaker;
SpeakerJakeJacket _jakeJacketSpeaker;
SpeakerLyleHat _lyleHatSpeaker;
SpeakerFBI _fbiSpeaker;
SpeakerNico _nicoSpeaker;
SpeakerDA _daSpeaker;
Action1 _action1;
Action2 _action2;
Timer _timer1;
Lyle _lyle;
Nico _nico;
Stuart _stuart;
Forbes _forbes;
NamedObject _object5, _vent, _shadow;
PowerCord _blackCord, _yellowCord;
BreakerBox _breakerBox;
FakeWall _fakeWall;
BreakerBoxInset _breakerBoxInset;
GeneratorInset _generatorInset;
NamedObject _object30, _object31, _object32;
Generator _generator;
Item2 _item2;
Item3 _item3;
NamedHotspot _item4, _item5, _item6, _item7, _item8;
Item9 _item9, _item10;
NamedHotspot _item11, _backWall, _item13, _item14;
Item15 _item15;
Item16 _item16;
Item17 _item17;
ASoundExt _sound1, _sound2;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void synchronize(Serializer &s);
virtual void remove();
virtual void signal();
virtual void process(Event &event);
virtual void dispatch();
virtual void checkGun();
void openHiddenDoor();
void closeHiddenDoor();
};
class Scene920: public SceneExt {
/* Items */
class Item1: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Item8: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
public:
SequenceManager _sequenceManager1;
SpeakerGameText _gameTextSpeaker;
SpeakerJakeJacket _jakeJacketSpeaker;
Item1 _crate;
NamedHotspot _item2;
NamedHotspot _item3;
NamedHotspot _item4;
NamedHotspot _item5;
NamedHotspot _item6;
NamedHotspot _item7;
NamedObject _crateTop;
NamedObject _crateWindow;
NamedObject _doorway;
Item8 _exitN;
Common::Point _oldCoord;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
virtual void process(Event &event);
virtual void dispatch();
virtual void synchronize(Serializer &s);
};
class Scene930: public PalettedScene {
/* Objects */
class Object1: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Object2: public FocusObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Object3: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
class Object4: public FocusObject {
public:
virtual bool startAction(CursorType action, Event &event);
virtual void remove();
};
class Object5: public FocusObject {
public:
virtual bool startAction(CursorType action, Event &event);
virtual void remove();
};
/* Items */
class Item1: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
/* Actions */
class Action1 : public Action {
public:
virtual void signal();
};
class Action2 : public Action {
public:
virtual void signal();
};
class Action3 : public Action {
public:
virtual void signal();
};
void showBootInset();
void ShowBoxInset();
void ShowSoleInset();
public:
SequenceManager _sequenceManager1;
Object1 _box;
Object2 _boxInset;
Object3 _boots;
Object4 _bootsInset;
Object5 _soleInset;
Item1 _item1;
NamedHotspot _item2;
NamedHotspot _item3;
NamedHotspot _item4;
NamedHotspot _item5;
NamedHotspot _item6;
NamedHotspot _item7;
NamedHotspot _item8;
NamedHotspot _item9;
NamedHotspot _item10;
NamedHotspot _item11;
NamedHotspot _item12;
NamedHotspot _item13;
NamedHotspot _item14;
NamedHotspot _item15;
NamedHotspot _item16;
NamedHotspot _item17;
NamedHotspot _item18;
NamedHotspot _item19;
NamedHotspot _item20;
NamedHotspot _item21;
Action1 _action1;
Action2 _action2;
Action3 _action3;
SpeakerGameText gameTextSpeaker;
bool _soleOpened;
int _bootInsetDisplayed;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
virtual void dispatch();
virtual void synchronize(Serializer &s);
};
class Scene935: public PalettedScene {
/* Actions */
class Action1 : public Action {
public:
virtual void signal();
};
public:
SequenceManager _sequenceManager;
NamedObject _object1;
NamedObject _object2;
NamedObject _object3;
Action1 _action1;
VisualSpeaker _visualSpeaker;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void remove();
virtual void signal();
virtual void dispatch();
};
class Scene940: public SceneExt {
/* Items */
class Item1: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
/* Actions */
class Action1 : public Action {
public:
virtual void signal();
};
public:
SequenceManager _sequenceManager1;
SequenceManager _sequenceManager2;
SequenceManager _sequenceManager3;
SequenceManager _sequenceManager4;
NamedObject _object1;
NamedObject _object2;
NamedObject _object3;
NamedObject _object4;
NamedObject _object5;
NamedObject _object6;
NamedObject _object7;
NamedObject _object8;
NamedObject _object9;
NamedObject _object10;
NamedObject _object11;
NamedObject _object12;
NamedObject _object13;
NamedObject _object14;
NamedObject _object15;
NamedObject _object16;
NamedObject _object17;
NamedObject _object18;
Item1 _item1;
Action1 _action1;
SpeakerGameText _gameTextSpeaker1;
SpeakerGameText _gameTextSpeaker2;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void remove();
};
} // End of namespace BlueForce
} // End of namespace TsAGE
#endif