diff options
author | Eugene Sandulenko | 2013-10-04 23:14:09 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2013-10-04 23:38:29 +0300 |
commit | b90e76f21f6cbbfd11ac266748789c1396383710 (patch) | |
tree | 9e5b1993af6f75c401808588a9492c35c21ba469 /engines/fullpipe/motion.h | |
parent | 7139117bb717e2b31f9d270a2706046678844e25 (diff) | |
download | scummvm-rg350-b90e76f21f6cbbfd11ac266748789c1396383710.tar.gz scummvm-rg350-b90e76f21f6cbbfd11ac266748789c1396383710.tar.bz2 scummvm-rg350-b90e76f21f6cbbfd11ac266748789c1396383710.zip |
FULLPIPE: Implement MctlCompound::method4C()
Diffstat (limited to 'engines/fullpipe/motion.h')
-rw-r--r-- | engines/fullpipe/motion.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h index a5bbfbe075..f94fbc0a26 100644 --- a/engines/fullpipe/motion.h +++ b/engines/fullpipe/motion.h @@ -27,6 +27,7 @@ namespace Fullpipe { class Statics; class Movement; +class MctlConnectionPoint; int startWalkTo(int objId, int objKey, int x, int y, int a5); int doSomeAnimation(int objId, int objKey, int a3); @@ -61,18 +62,19 @@ public: }; class MovGraphReact : public CObject { - // Empty +public: + virtual void method14() {} + virtual void createRegion() {} + virtual bool pointInRegion(int x, int y) { return false; } }; -typedef Common::Array<CObject> MctlConnectionPointsArray; - class MctlCompoundArrayItem : public CObject { friend class MctlCompound; protected: MotionController *_motionControllerObj; MovGraphReact *_movGraphReactObj; - MctlConnectionPointsArray _connectionPoints; + Common::Array<MctlConnectionPoint *> _connectionPoints; int _field_20; int _field_24; int _field_28; @@ -101,6 +103,7 @@ class MctlCompound : public MotionController { virtual MessageQueue *method4C(StaticANIObject *subj, int xpos, int ypos, int flag, int staticsId); void initMovGraph2(); + MctlConnectionPoint *findClosestConnectionPoint(int ox, int oy, int destIndex, int connectionX, int connectionY, int sourceIndex, int *minDistancePtr); }; struct MGMSubItem { @@ -162,7 +165,10 @@ class ReactParallel : public MovGraphReact { public: ReactParallel(); virtual bool load(MfcArchive &file); - void createRegion(); + + virtual void method14(); + virtual void createRegion(); + virtual bool pointInRegion(int x, int y); }; class ReactPolygonal : public MovGraphReact { @@ -175,7 +181,10 @@ class ReactPolygonal : public MovGraphReact { public: ReactPolygonal(); virtual bool load(MfcArchive &file); - void createRegion(); + + virtual void method14(); + virtual void createRegion(); + virtual bool pointInRegion(int x, int y); }; class MovGraphLink : public CObject { @@ -293,7 +302,7 @@ public: int _field_10; int16 _field_14; int16 _field_16; - int _messageQueueObj; + MessageQueue *_messageQueueObj; int _motionControllerObj; }; |