FULLPIPE: Further work on sc2 loader
This commit is contained in:
parent
5eaa5696e7
commit
a3de44d3b2
2 changed files with 80 additions and 40 deletions
|
@ -190,17 +190,89 @@ class CMctlCompoundArray : public Common::Array<CObject>, public CObject {
|
||||||
virtual bool load(MfcArchive &file);
|
virtual bool load(MfcArchive &file);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class CMctlConnectionPointsArray : public Common::Array<CObject>, public CObject {
|
||||||
|
public:
|
||||||
|
virtual bool load(MfcArchive &file);
|
||||||
|
};
|
||||||
|
|
||||||
|
class CMctlCompoundArrayItem : public CObject {
|
||||||
|
int _motionControllerObj;
|
||||||
|
int _movGraphReactObj;
|
||||||
|
CMctlConnectionPointsArray _connectionPoints;
|
||||||
|
int _field_20;
|
||||||
|
int _field_24;
|
||||||
|
int _field_28;
|
||||||
|
|
||||||
|
public:
|
||||||
|
CMctlCompoundArrayItem() : _movGraphReactObj(0), _motionControllerObj(0) {}
|
||||||
|
};
|
||||||
|
|
||||||
class CMctlCompound : public CMotionController {
|
class CMctlCompound : public CMotionController {
|
||||||
CMctlCompoundArray motionControllers;
|
CMctlCompoundArray _motionControllers;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool load(MfcArchive &file);
|
virtual bool load(MfcArchive &file);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Unk2 {
|
||||||
|
//CObject CObject;
|
||||||
|
int items;
|
||||||
|
int count;
|
||||||
|
};
|
||||||
|
|
||||||
|
class CMovGraph : public CMotionController {
|
||||||
|
CObList _nodes;
|
||||||
|
CObList _links;
|
||||||
|
int _field_44;
|
||||||
|
int _items;
|
||||||
|
int _itemsCount;
|
||||||
|
int (*_callback1)(int, int, int);
|
||||||
|
Unk2 _unk2;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ShadowsItemArray : public Common::Array<CObject>, public CObject {
|
||||||
|
public:
|
||||||
|
virtual bool load(MfcArchive &file);
|
||||||
|
};
|
||||||
|
|
||||||
|
class Background {
|
||||||
|
CPtrList list;
|
||||||
|
int stringObj;
|
||||||
|
int x;
|
||||||
|
int y;
|
||||||
|
int16 messageQueueId;
|
||||||
|
int colorMemoryObj;
|
||||||
|
int bigPictureArray1Count;
|
||||||
|
int bigPictureArray2Count;
|
||||||
|
int bigPictureArray;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Shadows {
|
||||||
|
//CObject obj;
|
||||||
|
int sceneId;
|
||||||
|
int staticAniObjectId;
|
||||||
|
int movementId;
|
||||||
|
ShadowsItemArray items;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Scene {
|
||||||
|
Background bg;
|
||||||
|
CPtrList staticANIObjectList1;
|
||||||
|
CPtrList staticANIObjectList2;
|
||||||
|
CPtrList messageQueueList;
|
||||||
|
CPtrList faObjectList;
|
||||||
|
Shadows *shadows;
|
||||||
|
int soundList;
|
||||||
|
int16 sceneId;
|
||||||
|
int stringObj;
|
||||||
|
int field_BC;
|
||||||
|
int libHandle;
|
||||||
|
};
|
||||||
|
|
||||||
class Sc2 : public CObject {
|
class Sc2 : public CObject {
|
||||||
int16 _sceneId;
|
int16 _sceneId;
|
||||||
int16 _field_2;
|
int16 _field_2;
|
||||||
//Scene *_scene;
|
Scene *_scene;
|
||||||
CMotionController *_motionController;
|
CMotionController *_motionController;
|
||||||
int _data1;
|
int _data1;
|
||||||
int _count1;
|
int _count1;
|
||||||
|
@ -322,44 +394,6 @@ class InventoryIcon {
|
||||||
|
|
||||||
typedef Common::Array<InventoryIcon> InventoryIcons;
|
typedef Common::Array<InventoryIcon> InventoryIcons;
|
||||||
|
|
||||||
class Background {
|
|
||||||
CPtrList list;
|
|
||||||
int stringObj;
|
|
||||||
int x;
|
|
||||||
int y;
|
|
||||||
int16 messageQueueId;
|
|
||||||
int colorMemoryObj;
|
|
||||||
int bigPictureArray1Count;
|
|
||||||
int bigPictureArray2Count;
|
|
||||||
int bigPictureArray;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ShadowsItemArray {
|
|
||||||
CObArray objs;
|
|
||||||
};
|
|
||||||
|
|
||||||
class Shadows {
|
|
||||||
//CObject obj;
|
|
||||||
int sceneId;
|
|
||||||
int staticAniObjectId;
|
|
||||||
int movementId;
|
|
||||||
ShadowsItemArray items;
|
|
||||||
};
|
|
||||||
|
|
||||||
class Scene {
|
|
||||||
Background bg;
|
|
||||||
CPtrList staticANIObjectList1;
|
|
||||||
CPtrList staticANIObjectList2;
|
|
||||||
CPtrList messageQueueList;
|
|
||||||
CPtrList faObjectList;
|
|
||||||
Shadows *shadows;
|
|
||||||
int soundList;
|
|
||||||
int16 sceneId;
|
|
||||||
int stringObj;
|
|
||||||
int field_BC;
|
|
||||||
int libHandle;
|
|
||||||
};
|
|
||||||
|
|
||||||
class Picture {
|
class Picture {
|
||||||
MemoryObject obj;
|
MemoryObject obj;
|
||||||
Common::Rect rect;
|
Common::Rect rect;
|
||||||
|
|
|
@ -517,6 +517,12 @@ bool CMctlCompound::load(MfcArchive &file) {
|
||||||
|
|
||||||
debug(0, "CMctlCompund::count = %d", count);
|
debug(0, "CMctlCompund::count = %d", count);
|
||||||
|
|
||||||
|
for (int i = 0; i < count; i++) {
|
||||||
|
CMctlCompoundArrayItem *obj = (CMctlCompoundArrayItem *)file.readClass();
|
||||||
|
|
||||||
|
_motionControllers.push_back(*obj);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue