aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/motion.h
diff options
context:
space:
mode:
authorEugene Sandulenko2013-11-17 12:19:25 +0200
committerEugene Sandulenko2013-11-17 16:40:20 -0800
commitfc107e000594bd4fc6a321f9c0bfb927297977e8 (patch)
treede83ff27c3b3c1b37569fe38dc9cfc8503c74cd0 /engines/fullpipe/motion.h
parent4e4a4bb005dd284d235a54a763727b1a2e061c8e (diff)
downloadscummvm-rg350-fc107e000594bd4fc6a321f9c0bfb927297977e8.tar.gz
scummvm-rg350-fc107e000594bd4fc6a321f9c0bfb927297977e8.tar.bz2
scummvm-rg350-fc107e000594bd4fc6a321f9c0bfb927297977e8.zip
FULLPIPE: Complete implementation of MovGraph2::buildMovInfo1MessageQueue()
Diffstat (limited to 'engines/fullpipe/motion.h')
-rw-r--r--engines/fullpipe/motion.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/engines/fullpipe/motion.h b/engines/fullpipe/motion.h
index 58c7f9cc73..bab0ffc8ca 100644
--- a/engines/fullpipe/motion.h
+++ b/engines/fullpipe/motion.h
@@ -78,7 +78,7 @@ public:
class MctlCompoundArrayItem : public CObject {
friend class MctlCompound;
- protected:
+protected:
MotionController *_motionControllerObj;
MovGraphReact *_movGraphReactObj;
Common::Array<MctlConnectionPoint *> _connectionPoints;
@@ -86,7 +86,7 @@ class MctlCompoundArrayItem : public CObject {
int _field_24;
int _field_28;
- public:
+public:
MctlCompoundArrayItem() : _movGraphReactObj(0), _motionControllerObj(0), _field_20(0), _field_24(0), _field_28(0) {}
};
@@ -134,6 +134,19 @@ struct MGMItem {
MGMItem();
};
+struct MGMInfo {
+ StaticANIObject *ani;
+ int staticsId1;
+ int staticsId2;
+ int movementId;
+ int field_10;
+ int x1;
+ int y1;
+ int field_1C;
+ int x2;
+ int y2;
+ int flags;
+};
class MGM : public CObject {
public:
@@ -144,6 +157,8 @@ public:
void addItem(int objId);
void rebuildTables(int objId);
int getItemIndexById(int objId);
+
+ MessageQueue *genMovement(MGMInfo *mgminfo);
};
class MovGraphNode : public CObject {
@@ -232,7 +247,7 @@ struct MovGraphItem {
};
class MovGraph : public MotionController {
- public:
+public:
ObList _nodes;
ObList _links;
int _field_44;
@@ -240,7 +255,7 @@ class MovGraph : public MotionController {
int (*_callback1)(int, int, int);
MGM _mgm;
- public:
+public:
MovGraph();
virtual bool load(MfcArchive &file);
@@ -303,7 +318,7 @@ struct MovInfo1 {
int flags;
};
- struct MovGraph2Item { // 744
+struct MovGraph2Item { // 744
int _objectId;
StaticANIObject *_obj;
MovGraph2ItemSub _subItems[4]; // 184
@@ -336,6 +351,8 @@ public:
MovGraphLink *findLink1(int x, int y, int idx, int fuzzyMatch);
MovGraphLink *findLink2(int x, int y);
double findMinPath(LinkInfo *linkInfoSource, LinkInfo *linkInfoDest, Common::Array<MovGraphLink *> *listObj);
+
+ MessageQueue *genMovement(MovInfo1 *movinfo);
};
class MctlConnectionPoint : public CObject {