scummvm/engines/tsage/ringworld_scenes1.h

537 lines
11 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.
*
* $URL$
* $Id$
*
*/
#ifndef TSAGE_RINGWORLD_SCENES1_H
#define TSAGE_RINGWORLD_SCENES1_H
#include "common/scummsys.h"
#include "tsage/ringworld_logic.h"
#include "tsage/converse.h"
#include "tsage/events.h"
#include "tsage/core.h"
#include "tsage/scenes.h"
#include "tsage/globals.h"
namespace tSage {
class Scene10 : public Scene {
/* Actions */
class Action1 : public Action {
public:
virtual void signal();
};
class Action2 : public Action {
public:
virtual void signal();
};
public:
Speaker _speakerSText;
Speaker _speakerQText;
Action1 _action1;
Action2 _action2;
SceneObject _object1, _object2, _object3;
SceneObject _object4, _object5, _object6;
virtual void stripCallback(int v);
virtual void postInit(SceneObjectList *OwnerList = NULL);
};
class Scene15 : public Scene {
/* Actions */
class Action1 : public Action {
public:
virtual void signal();
virtual void dispatch();
};
public:
Action1 _action1;
SceneObject _object1;
SoundHandler _soundHandler;
virtual void postInit(SceneObjectList *OwnerList = NULL);
};
class Scene20 : public Scene {
/* 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 _sequenceManager;
SpeakerQText _speakerQText;
SpeakerGameText _speakerGameText;
Action1 _action1;
Action2 _action2;
Action3 _action3;
Action4 _action4;
SceneObject _sceneObject1, _SceneObjectExt, _sceneObject3, _sceneObject4, _sceneObject5;
SoundHandler _sound;
public:
Scene20();
virtual ~Scene20() {}
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
};
class Scene30 : public Scene {
/* Scene objects */
// Doorway beam sensor
class BeamObject : public SceneObject {
public:
virtual void doAction(int action);
};
// Doorway object
class DoorObject : public SceneObject {
public:
virtual void doAction(int action);
};
// Kzin object
class KzinObject : public SceneObject {
public:
virtual void doAction(int action);
};
/* Actions */
class BeamAction : public Action {
public:
virtual void signal();
};
class KzinAction : public Action {
public:
virtual void signal();
};
class RingAction : public Action {
public:
virtual void signal();
};
class TalkAction : public Action {
public:
virtual void signal();
};
public:
SoundHandler _sound;
DisplayHotspot _groundHotspot, _wallsHotspot, _courtyardHotspot, _treeHotspot;
BeamObject _beam;
DoorObject _door;
KzinObject _kzin;
BeamAction _beamAction;
KzinAction _kzinAction;
RingAction _ringAction;
TalkAction _talkAction;
SequenceManager _sequenceManager;
SpeakerSR _speakerSR;
SpeakerQL _speakerQL;
SpeakerSText _speakerSText;
SpeakerQText _speakerQText;
public:
Scene30();
virtual ~Scene30() {}
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
};
class Scene40 : public Scene {
/* 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();
};
class Action5 : public Action {
public:
virtual void signal();
};
class Action6 : public Action {
public:
virtual void signal();
};
class Action7 : public Action {
public:
virtual void signal();
};
class Action8 : public Action {
public:
virtual void signal();
};
/* Objects */
class DyingKzin : public SceneObject {
public:
virtual void doAction(int action);
};
class Assassin : public SceneObject {
public:
virtual void doAction(int action);
};
/* Items */
class Item2 : public SceneItem {
public:
virtual void doAction(int action);
};
class Item6 : public SceneItem {
public:
virtual void doAction(int action);
};
class Item8 : public SceneItem {
public:
virtual void doAction(int action);
};
public:
SequenceManager _sequenceManager;
SpeakerSL _speakerSL;
SpeakerQR _speakerQR;
SpeakerQText _speakerQText;
SpeakerSText _speakerSText;
SpeakerGameText _speakerGameText;
SoundHandler _soundHandler;
Action1 _action1;
Action2 _action2;
Action3 _action3;
Action4 _action4;
Action5 _action5;
Action6 _action6;
Action7 _action7;
Action8 _action8;
SceneObject _object1, _object2, _object3;
DyingKzin _dyingKzin;
Assassin _assassin;
SceneObject _doorway, _object7, _object8;
DisplayHotspot _item1;
Item2 _item2;
DisplayHotspot _item3, _item4, _item5;
Item6 _item6;
DisplayHotspot _item7, _item8;
Scene40();
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
virtual void dispatch();
};
class Scene50 : public Scene {
/* 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();
};
/* Objects */
class Object1 : public SceneObject {
public:
virtual void doAction(int action);
};
class Object2 : public SceneObject {
public:
virtual void doAction(int action);
};
class Object3 : public SceneObject {
public:
virtual void doAction(int action);
};
class Object4 : public SceneObject {
public:
virtual void doAction(int action);
};
public:
SequenceManager _sequenceManager;
Action1 _action1;
Action2 _action2;
Action3 _action3;
Object1 _object1;
Object2 _object2;
Object3 _object3;
Object4 _object4;
Rect _doorwayRect;
SpeakerSText _speakerSText;
SpeakerQText _speakerQText;
DisplayHotspot _item0, _item1, _item2;
DisplayHotspot _item3, _item4, _item5;
Scene50();
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
virtual void dispatch();
};
class Scene60 : public Scene {
class Action1 : public Action {
public:
virtual void signal();
};
class Action2 : public Action {
public:
virtual void signal();
};
class PrevObject : public SceneObject {
public:
virtual void doAction(int action);
};
class NextObject : public SceneObject {
public:
virtual void doAction(int action);
};
class ExitObject : public SceneObject {
public:
virtual void doAction(int action);
};
class MessageObject : public SceneObject {
public:
virtual void doAction(int action);
};
class ControlObject : public SceneObject {
public:
virtual void doAction(int action);
};
class SlaveObject : public SceneObjectExt {
public:
virtual void doAction(int action);
};
class MasterObject : public SceneObjectExt {
public:
virtual void doAction(int action);
};
class FloppyDrive : public SceneObject {
public:
virtual void doAction(int action);
};
class Item1 : public SceneHotspot {
public:
virtual void doAction(int action);
};
class Item : public SceneHotspot {
public:
int _messageNum, _sceneMode;
Item(int sceneRegionId, int messageNum, int sceneMode) {
_sceneRegionId = sceneRegionId;
_messageNum = messageNum;
_sceneMode = sceneMode;
}
virtual void doAction(int action);
};
public:
GfxButton _gfxButton;
SequenceManager _sequenceManager;
SpeakerQText _speakerQText;
SpeakerSText _speakerSText;
Action1 _action1;
Action2 _action2;
SceneObject _rose;
PrevObject _prevButton;
NextObject _nextButton;
ExitObject _exitButton;
MessageObject _message;
ControlObject _controlButton;
SlaveObject _slaveButton;
MasterObject _masterButton;
FloppyDrive _floppyDrive;
SceneObject _redLights;
Item1 _item1;
Item _item2, _item3, _item4, _item5, _item6;
SoundHandler _soundHandler1;
SoundHandler _soundHandler2;
SoundHandler _soundHandler3;
Scene60();
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
virtual void process(Event &event);
};
class Scene90 : public Scene {
class Action1 : public Action {
public:
virtual void signal();
};
class Object1 : public SceneObject {
public:
virtual void doAction(int action);
};
class Object2 : public SceneObject {
public:
virtual void doAction(int action);
};
public:
SequenceManager _sequenceManager;
SpeakerSText _speakerSText;
SpeakerQText _speakerQText;
SpeakerQL _speakerQL;
SpeakerSR _speakerSR;
SpeakerMText _speakerMText;
Action1 _action1;
Object1 _object1;
Object2 _object2;
DisplayObject _object3, _object4, _object5;
SceneObject _object6;
DisplayHotspot _item1, _item2, _item3;
SoundHandler _soundHandler1, _soundHandler2;
Scene90();
virtual void stripCallback(int v);
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
};
class Scene95 : public Scene {
class Action1 : public ActionExt {
public:
virtual void signal();
};
public:
Action1 _action1;
int _field326;
SceneObject _object1, _object2, _object3;
SoundHandler _soundHandler;
Scene95();
virtual void postInit(SceneObjectList *OwnerList);
};
class Scene6100 : public Scene {
/* 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();
};
class Action5 : public Action {
public:
virtual void dispatch();
};
class GetBoxAction : public Action {
public:
virtual void signal();
virtual void dispatch();
};
class Action7 : public Action {
public:
virtual void signal();
};
/* Objects */
class Object : public SceneObject {
public:
FloatSet _floats;
};
class ProbeMover : public NpcMover {
public:
virtual void dispatch();
};
/* Items */
class Item1 : public SceneItem {
public:
virtual void doAction(int action);
};
public:
Action1 _action1;
Action2 _action2;
Action3 _action3;
Action4 _action4;
Action5 _action5;
GetBoxAction _getBoxAction;
Action7 _action7;
SoundHandler _soundHandler;
Speaker _speaker1;
SpeakerQR _speakerQR;
SpeakerSL _speakerSL;
SceneObject _object1, _object2, _object3;
Object _rocks, _probe;
Object _sunflower1, _sunflower2, _sunflower3;
SceneText _sceneText;
SceneItem _item1;
int _turnAmount, _angle, _speed, _fadePercent;
int _hitCount;
bool _rocksCheck;
Object *_objList[4];
bool _msgActive;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void remove();
virtual void process(Event &event);
virtual void dispatch();
void showMessage(const Common::String &msg, int color, Action *action);
};
} // End of namespace tSage
#endif