diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/objects.h | 14 | ||||
-rw-r--r-- | engines/fullpipe/stateloader.cpp | 15 | ||||
-rw-r--r-- | engines/fullpipe/utils.cpp | 6 |
3 files changed, 30 insertions, 5 deletions
diff --git a/engines/fullpipe/objects.h b/engines/fullpipe/objects.h index 81b172c548..50f1bf0651 100644 --- a/engines/fullpipe/objects.h +++ b/engines/fullpipe/objects.h @@ -214,10 +214,12 @@ class CMctlCompound : public CMotionController { virtual bool load(MfcArchive &file); }; -class Unk2 { - //CObject CObject; - int items; - int count; +class Unk2 : public CObject { + int _items; + int _count; + + public: + Unk2() : _items(0), _count(0) {} }; class CMovGraph : public CMotionController { @@ -228,6 +230,10 @@ class CMovGraph : public CMotionController { int _itemsCount; int (*_callback1)(int, int, int); Unk2 _unk2; + + public: + CMovGraph(); + virtual bool load(MfcArchive &file); }; class ShadowsItemArray : public Common::Array<CObject>, public CObject { diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp index f242969a09..5c68742cc8 100644 --- a/engines/fullpipe/stateloader.cpp +++ b/engines/fullpipe/stateloader.cpp @@ -534,4 +534,19 @@ bool CMctlCompoundArray::load(MfcArchive &file) { return true; } +CMovGraph::CMovGraph() { + _itemsCount = 0; + _items = 0; + //_callback1 = CMovGraphCallback1; // TODO + _field_44 = 0; + // insertMessageHandler(CMovGraph_messageHandler, getMessageHandlersCount() - 1, 129); +} + +bool CMovGraph::load(MfcArchive &file) { + _links.load(file); + _nodes.load(file); + + return true; +} + } // End of namespace Fullpipe diff --git a/engines/fullpipe/utils.cpp b/engines/fullpipe/utils.cpp index 9c9246a5f2..34cf3c57a4 100644 --- a/engines/fullpipe/utils.cpp +++ b/engines/fullpipe/utils.cpp @@ -62,7 +62,8 @@ enum { kExCommand, kCObjstateCommand, kCGameVar, - kCMctlCompound + kCMctlCompound, + kCMovGraph }; const struct { @@ -75,6 +76,7 @@ const struct { { "CObjstateCommand", kCObjstateCommand }, { "CGameVar", kCGameVar }, { "CMctlCompound", kCMctlCompound }, + { "CMovGraph", kCMovGraph }, { 0, 0 } }; @@ -103,6 +105,8 @@ static CObject *createObject(int objectId) { return new CGameVar(); case kCMctlCompound: return new CMctlCompound(); + case kCMovGraph: + return new CMovGraph(); default: error("Unknown objectId: %d", objectId); } |