diff options
Diffstat (limited to 'engines/fullpipe/motion.h')
-rw-r--r-- | engines/fullpipe/motion.h | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h index 24f047d76b..cecde70775 100644 --- a/engines/fullpipe/motion.h +++ b/engines/fullpipe/motion.h @@ -29,6 +29,8 @@ class Statics; class Movement; class MctlConnectionPoint; class MovGraphLink; +class MessageQueue; +class ExCommand2; int startWalkTo(int objId, int objKey, int x, int y, int a5); int doSomeAnimation(int objId, int objKey, int a3); @@ -74,7 +76,7 @@ public: MovGraphReact() : _pointCount(0), _points(0) {} ~MovGraphReact() { free(_points); } - virtual void method14() {} + virtual void setCenter(int x1, int y1, int x2, int y2) {} virtual void createRegion() {} virtual bool pointInRegion(int x, int y); }; @@ -115,6 +117,9 @@ public: void initMovGraph2(); MctlConnectionPoint *findClosestConnectionPoint(int ox, int oy, int destIndex, int connectionX, int connectionY, int sourceIndex, int *minDistancePtr); void replaceNodeX(int from, int to); + + uint getMotionControllerCount() { return _motionControllers.size(); } + MotionController *getMotionController(int num) { return _motionControllers[num]->_motionControllerObj; } }; struct MGMSubItem { @@ -170,6 +175,8 @@ public: int getStaticsIndexById(int idx, int16 id); void clearMovements2(int idx); int recalcOffsets(int idx, int st1idx, int st2idx, bool flip, bool flop); + Common::Point *calcLength(Common::Point *point, Movement *mov, int x, int y, int *x1, int *y1, int flag); + ExCommand2 *buildExCommand2(Movement *mov, int objId, int x1, int y1, Common::Point *x2, Common::Point *y2, int len); }; struct MctlLadderMovementVars { @@ -240,25 +247,29 @@ class ReactParallel : public MovGraphReact { int _dx; int _dy; - public: +public: ReactParallel(); virtual bool load(MfcArchive &file); - virtual void method14(); + virtual void setCenter(int x1, int y1, int x2, int y2); virtual void createRegion(); }; class ReactPolygonal : public MovGraphReact { - //CRgn _rgn; - int _field_C; - int _field_10; + Common::Rect *_bbox; + int _centerX; + int _centerY; - public: +public: ReactPolygonal(); + ~ReactPolygonal(); + virtual bool load(MfcArchive &file); - virtual void method14(); + virtual void setCenter(int x1, int y1, int x2, int y2); virtual void createRegion(); + + void getBBox(Common::Rect *rect); }; class MovGraphLink : public CObject { @@ -363,7 +374,7 @@ struct MovInfo1Sub { }; struct MovInfo1 { - int field_0; + int index; Common::Point pt1; Common::Point pt2; int distance1; |