aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/ringworld_scenes3.h
diff options
context:
space:
mode:
authorPaul Gilbert2011-03-07 22:04:39 +1100
committerPaul Gilbert2011-03-07 22:04:39 +1100
commit3cb933fcc9159b5e24d6fd8569f9785d88c6f6d5 (patch)
tree1ecac31610c655ad82073f9fd5f6a8ee364bfd9f /engines/tsage/ringworld_scenes3.h
parent6f3201dd14f9f73202b5211847d943eaa8f7acdd (diff)
downloadscummvm-rg350-3cb933fcc9159b5e24d6fd8569f9785d88c6f6d5.tar.gz
scummvm-rg350-3cb933fcc9159b5e24d6fd8569f9785d88c6f6d5.tar.bz2
scummvm-rg350-3cb933fcc9159b5e24d6fd8569f9785d88c6f6d5.zip
TSAGE: Implemented Scene 2150 - SpaceShip Level 2
Diffstat (limited to 'engines/tsage/ringworld_scenes3.h')
-rw-r--r--engines/tsage/ringworld_scenes3.h90
1 files changed, 61 insertions, 29 deletions
diff --git a/engines/tsage/ringworld_scenes3.h b/engines/tsage/ringworld_scenes3.h
index d1032539a7..af2b3e6357 100644
--- a/engines/tsage/ringworld_scenes3.h
+++ b/engines/tsage/ringworld_scenes3.h
@@ -27,11 +27,9 @@
#define TSAGE_RINGWORLD_SCENES3_H
#include "common/scummsys.h"
-#include "tsage/ringworld_logic.h"
-#include "tsage/events.h"
#include "tsage/core.h"
-#include "tsage/scenes.h"
-#include "tsage/globals.h"
+#include "tsage/converse.h"
+#include "tsage/ringworld_logic.h"
namespace tSage {
@@ -235,31 +233,6 @@ class Scene2100: public Scene {
public:
virtual void doAction(int action);
};
-
- /* Custom classes */
- class SceneArea: public SavedObject {
- public:
- GfxSurface _surface;
- GfxSurface *_savedArea;
- Common::Point _pt;
- int _resNum;
- int _rlbNum;
- int _subNum;
- int _actionId;
- Rect _bounds;
- public:
- SceneArea();
- ~SceneArea();
-
- void setup(int resNum, int rlbNum, int subNum, int actionId);
- void draw2();
- void display();
- void restore();
-
- virtual void synchronise(Serialiser &s);
- virtual void draw(bool flag);
- virtual void wait();
- };
public:
SequenceManager _sequenceManager;
SoundHandler _soundHandler;
@@ -354,6 +327,65 @@ public:
virtual void synchronise(Serialiser &s);
};
+class Scene2150: public Scene {
+ /* Actions */
+ class Action1: public Action2 {
+ public:
+ virtual void signal();
+ };
+ class Action2: public Action {
+ public:
+ virtual void signal();
+ };
+
+ /* Hotspots */
+ class Hotspot1: public SceneObject {
+ public:
+ virtual void doAction(int action);
+ };
+ class Hotspot2: public SceneObject {
+ public:
+ virtual void doAction(int action);
+ };
+ class Hotspot4: public SceneObject {
+ public:
+ virtual void doAction(int action);
+ };
+ class Hotspot7: public SceneObject {
+ public:
+ virtual void doAction(int action);
+ };
+ class Hotspot10: public SceneObject {
+ public:
+ virtual void doAction(int action);
+ };
+public:
+ SoundHandler _soundHandler;
+ SequenceManager _sequenceManager;
+ SpeakerGameText _speakerGameText;
+
+ Rect _rect1, _rect2;
+ Hotspot1 _hotspot1;
+ Hotspot2 _hotspot2;
+ DisplayHotspot _hotspot3;
+ Hotspot4 _hotspot4;
+ DisplayHotspot _hotspot5, _hotspot6;
+ Hotspot7 _hotspot7;
+ DisplayHotspot _hotspot8, _hotspot9;
+ Hotspot10 _hotspot10;
+ DisplayHotspot _hotspot11;
+ SceneObject _hotspot12, _hotspot13, _hotspot14;
+ SceneArea _area1, _area2, _area3, _area4;
+ Action1 _action1;
+ Action2 _action2;
+
+ Scene2150();
+ virtual void postInit(SceneObjectList *OwnerList = NULL);
+ virtual void synchronise(Serialiser &s);
+ virtual void signal();
+ virtual void dispatch();
+};
+
} // End of namespace tSage
#endif