diff options
Diffstat (limited to 'engines/tsage/core.h')
-rw-r--r-- | engines/tsage/core.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/engines/tsage/core.h b/engines/tsage/core.h index b798a25b74..d55eacb911 100644 --- a/engines/tsage/core.h +++ b/engines/tsage/core.h @@ -413,6 +413,7 @@ public: bool contains(const Common::Point &pt); void setBounds(const Rect &newBounds) { _bounds = newBounds; } + void setBounds(const int ys, const int xe, const int ye, const int xs) { _bounds = Rect(MIN(xs, xe), MIN(ys, ye), MAX(xs, xe), MAX(ys, ye)); } static void display(int resNum, int lineNum, ...); static void display2(int resNum, int lineNum) { display(resNum, lineNum, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); @@ -438,6 +439,24 @@ public: virtual void doAction(int action); }; +class SceneHotspot_2: public SceneHotspot { +public: + int _field26, _field28; + SceneHotspot_2(): SceneHotspot() {} + + virtual Common::String getClassName() { return "SceneHotspot_2"; } +}; + +class SceneHotspot_3: public SceneHotspot_2 { +public: + int _field2A; + SceneHotspot_3(): SceneHotspot_2() {} + + void quickInit(const int ys, const int xe, const int ye, const int xs, const int val26, const int val28, const int val2A); + virtual void doAction(int action); + virtual Common::String getClassName() { return "SceneHotspot_3"; } +}; + enum AnimateMode {ANIM_MODE_NONE = 0, ANIM_MODE_1 = 1, ANIM_MODE_2 = 2, ANIM_MODE_3 = 3, ANIM_MODE_4 = 4, ANIM_MODE_5 = 5, ANIM_MODE_6 = 6, ANIM_MODE_7 = 7, ANIM_MODE_8 = 8}; @@ -558,6 +577,7 @@ public: virtual void draw(); virtual void proc19() {} virtual void updateScreen(); + void quickInit(int visage, int stripFrameNum, int frameNum, int posX, int posY, int priority); }; class SceneObjectExt: public SceneObject { @@ -571,6 +591,30 @@ public: virtual Common::String getClassName() { return "SceneObjectExt"; } }; +class SceneObject3: public SceneObjectExt { +public: + int _field88, _field8A; + + virtual void synchronise(Serialiser &s) { + SceneObject::synchronise(s); + s.syncAsSint16LE(_field88); + s.syncAsSint16LE(_field8A); + } + virtual Common::String getClassName() { return "SceneObject3"; } +}; + +class SceneObject4: public SceneObject { +public: + int _field88, _field8A; + + virtual void synchronise(Serialiser &s) { + SceneObject::synchronise(s); + s.syncAsSint16LE(_field88); + s.syncAsSint16LE(_field8A); + } + virtual Common::String getClassName() { return "SceneObject4"; } +}; + class SceneText: public SceneObject { public: int _fontNumber; |