diff options
author | Paul Gilbert | 2011-08-26 19:07:43 +1000 |
---|---|---|
committer | Paul Gilbert | 2011-08-26 19:07:43 +1000 |
commit | 734e4f628be88a37b09965dacc77e60152dca25d (patch) | |
tree | d827ed62a263771aefea1083822a73aae2abf40f /engines/tsage/core.h | |
parent | 4f3b85f4efc05affb7b4a7080e349360a3352048 (diff) | |
download | scummvm-rg350-734e4f628be88a37b09965dacc77e60152dca25d.tar.gz scummvm-rg350-734e4f628be88a37b09965dacc77e60152dca25d.tar.bz2 scummvm-rg350-734e4f628be88a37b09965dacc77e60152dca25d.zip |
TSAGE: Implemented lots more Blue Force functionality, and started on first in-game scene
Diffstat (limited to 'engines/tsage/core.h')
-rw-r--r-- | engines/tsage/core.h | 45 |
1 files changed, 18 insertions, 27 deletions
diff --git a/engines/tsage/core.h b/engines/tsage/core.h index d9fa59a98a..b1cbf74bd3 100644 --- a/engines/tsage/core.h +++ b/engines/tsage/core.h @@ -162,6 +162,18 @@ public: int _state; }; +#define ADD_PLAYER_MOVER(X, Y) { Common::Point pt(X, Y); PlayerMover *mover = new PlayerMover(); \ + _globals->_player.addMover(mover, &pt, this); } +#define ADD_PLAYER_MOVER_NULL(OBJ, X, Y) { Common::Point pt(X, Y); PlayerMover *mover = new PlayerMover(); \ + OBJ.addMover(mover, &pt, NULL); } +#define ADD_PLAYER_MOVER_THIS(OBJ, X, Y) { Common::Point pt(X, Y); PlayerMover *mover = new PlayerMover(); \ + OBJ.addMover(mover, &pt, this); } + +#define ADD_MOVER(OBJ, X, Y) { Common::Point pt(X, Y); NpcMover *mover = new NpcMover(); \ + OBJ.addMover(mover, &pt, this); } +#define ADD_MOVER_NULL(OBJ, X, Y) { Common::Point pt(X, Y); NpcMover *mover = new NpcMover(); \ + OBJ.addMover(mover, &pt, NULL); } + class ObjectMover : public EventHandler { public: Common::Point _destPosition; @@ -406,9 +418,7 @@ public: 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_BGCOLOR, 7, LIST_END); - } + static void display2(int resNum, int lineNum); }; class SceneItemExt : public SceneItem { @@ -432,13 +442,15 @@ public: class NamedHotspot : public SceneHotspot { public: - int _resnum, _lookLineNum, _useLineNum; - NamedHotspot() : SceneHotspot() {} + int _resNum, _lookLineNum, _useLineNum, _talkLineNum; + NamedHotspot(); - void setup(int ys, int xs, int ye, int xe, const int resnum, const int lookLineNum, const int useLineNum); virtual void doAction(int action); virtual Common::String getClassName() { return "NamedHotspot"; } virtual void synchronize(Serializer &s); + void setup(int ys, int xs, int ye, int xe, const int resnum, const int lookLineNum, const int useLineNum); + virtual void setup(const Rect &bounds, int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode, SceneItem *item); + virtual void setup(int sceneRegionId, int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode); }; enum AnimateMode {ANIM_MODE_NONE = 0, ANIM_MODE_1 = 1, ANIM_MODE_2 = 2, ANIM_MODE_3 = 3, @@ -579,27 +591,6 @@ public: virtual void draw(); }; -class SceneObjectExt : public SceneObject { -public: - int _state; - - virtual void synchronize(Serializer &s) { - SceneObject::synchronize(s); - s.syncAsSint16LE(_state); - } - virtual Common::String getClassName() { return "SceneObjectExt"; } -}; - -class SceneObjectExt2: public SceneObject { -public: - int _v88, _v8A, _v8C, _v8E; - - virtual Common::String getClassName() { return "BF100Object"; } - virtual void synchronize(Serializer &s); - virtual void postInit(SceneObjectList *OwnerList = NULL); -}; - - class SceneText : public SceneObject { public: int _fontNumber; |