mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-20 08:48:13 +00:00
500 lines
12 KiB
C++
500 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:
|
|
Object25();
|
|
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
|