aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/objects.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/objects.h')
-rw-r--r--engines/fullpipe/objects.h86
1 files changed, 48 insertions, 38 deletions
diff --git a/engines/fullpipe/objects.h b/engines/fullpipe/objects.h
index 802306dc94..40ca2023e4 100644
--- a/engines/fullpipe/objects.h
+++ b/engines/fullpipe/objects.h
@@ -31,22 +31,25 @@ class CObject {
virtual ~CObject() {}
};
-typedef Common::List<CObject> CObList;
+class CObList : Common::List<CObject>, public CObject {
+ public:
+ virtual bool load(MfcArchive &file);
+};
class MemoryObject {
//CObject obj;
- int filename;
- int field_8;
- int field_C;
- int field_10;
- char field_14;
- char field_15;
- char field_16;
- char field_17;
- int data;
- int dataSize;
- int flags;
- int libHandle;
+ int filename;
+ int field_8;
+ int field_C;
+ int field_10;
+ char field_14;
+ char field_15;
+ char field_16;
+ char field_17;
+ int data;
+ int dataSize;
+ int flags;
+ int libHandle;
};
class CObArray {
@@ -58,9 +61,9 @@ class CObArray {
};
struct CNode {
- CNode *pNext;
- CNode *pPrev;
- void *data;
+ CNode *pNext;
+ CNode *pPrev;
+ void *data;
};
class CPtrList {
@@ -73,7 +76,7 @@ class CPtrList {
int m_nBlockSize;
};
-class SceneTag : CObject {
+class SceneTag : public CObject {
int _field_4;
char *_tag;
int _scene;
@@ -89,14 +92,14 @@ class SceneTag : CObject {
typedef Common::List<SceneTag> SceneTagList_;
-class SceneTagList : CObject {
+class SceneTagList : public CObject {
SceneTagList_ _list;
public:
virtual bool load(MfcArchive &file);
};
-class GameProject : CObject {
+class GameProject : public CObject {
int _field_4;
char *_headerFilename;
SceneTagList *_sceneTagList;
@@ -127,14 +130,15 @@ class CInteraction {
int stringObj;
};
-class CInteractionController {
- //CObject _obj;
+class CInteractionController : public CObject {
CObList _interactions;
int16 _field_20;
int _flag24;
public:
CInteractionController() : _field_20(0), _flag24(1) {}
+
+ virtual bool load(MfcArchive &file);
};
class CInputControllerItemArray {
@@ -143,19 +147,22 @@ class CInputControllerItemArray {
class CInputController {
//CObject obj;
- int flag;
- int flags;
- int cursorHandle;
- int hCursor;
- int field_14;
- int cursorId;
- int cursorIndex;
- CInputControllerItemArray cursorsArray;
- int cursorDrawX;
- int cursorDrawY;
- int cursorDrawWidth;
- int cursorDrawHeight;
- int cursorItemPicture;
+ int _flag;
+ int _flags;
+ int _cursorHandle;
+ int _hCursor;
+ int _field_14;
+ int _cursorId;
+ int _cursorIndex;
+ CInputControllerItemArray _cursorsArray;
+ int _cursorDrawX;
+ int _cursorDrawY;
+ int _cursorDrawWidth;
+ int _cursorDrawHeight;
+ int _cursorItemPicture;
+
+ public:
+ CInputController();
};
class Sc2Array {
@@ -221,7 +228,7 @@ class InventoryPoolItem {
typedef Common::Array<InventoryPoolItem> InventoryPoolItems;
-class CInventory : CObject {
+class CInventory : public CObject {
int16 _sceneId;
int16 _field_6;
InventoryPoolItems _itemsPool;
@@ -312,7 +319,7 @@ class BigPicture {
Picture pic;
};
-class CInventory2 : CObject {
+class CInventory2 : public CObject {
CInventory _inventory;
InventoryItems _inventoryItems;
InventoryIcons _inventoryIcons;
@@ -332,8 +339,11 @@ class CInventory2 : CObject {
class CGameLoader {
public:
+ CGameLoader();
+ virtual ~CGameLoader();
+
bool loadFile(const char *fname);
- ~CGameLoader();
+ virtual bool load(MfcArchive &file);
private:
//CObject _obj;
@@ -357,7 +367,7 @@ class CGameLoader {
int16 _field_F8;
int16 _field_FA;
CObArray _preloadItems;
- CGameVar *gameVar;
+ CGameVar *_gameVar;
char *_gameName;
ExCommand _exCommand;
int _updateCounter;