aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/ringworld_scenes3.h
diff options
context:
space:
mode:
authorPaul Gilbert2011-03-03 22:10:07 +1100
committerPaul Gilbert2011-03-03 22:10:07 +1100
commitad2aa17a0654634ac658668c32cca9692f4c3cbe (patch)
tree823919a0f3443db6f5b9b67af18e20bb34de043a /engines/tsage/ringworld_scenes3.h
parent6a0a70b4ddbbc9b26b8bf0c7a298abe0d69d1383 (diff)
downloadscummvm-rg350-ad2aa17a0654634ac658668c32cca9692f4c3cbe.tar.gz
scummvm-rg350-ad2aa17a0654634ac658668c32cca9692f4c3cbe.tar.bz2
scummvm-rg350-ad2aa17a0654634ac658668c32cca9692f4c3cbe.zip
TSAGE: iImplemented custom SceneArea class needed for Scene 2100
Diffstat (limited to 'engines/tsage/ringworld_scenes3.h')
-rw-r--r--engines/tsage/ringworld_scenes3.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/engines/tsage/ringworld_scenes3.h b/engines/tsage/ringworld_scenes3.h
index 8920b24845..bdafd972e3 100644
--- a/engines/tsage/ringworld_scenes3.h
+++ b/engines/tsage/ringworld_scenes3.h
@@ -197,12 +197,34 @@ class Scene2100: public Scene {
};
/* Hotspots */
-
class Hotspot2: public SceneHotspot {
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;
+ int _field20;
+ public:
+ SceneArea();
+ ~SceneArea();
+
+ void setup(int resNum, int rlbNum, int subNum, int actionId);
+ void draw();
+ void display();
+ void draw2(bool flag);
+
+ virtual void synchronise(Serialiser &s);
+ };
public:
SequenceManager _sequenceManager;
SoundHandler _soundHandler;
@@ -241,9 +263,11 @@ public:
Action16 _action16;
Action17 _action17;
int _field1800;
+ SceneArea _area1, _area2, _area3, _area4;
Scene2100();
virtual void postInit(SceneObjectList *OwnerList = NULL);
+ virtual void signal();
};
} // End of namespace tSage