about summary refs log tree commit diff
path: root/src/engine/shared/datafile.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/shared/datafile.h')
-rw-r--r--src/engine/shared/datafile.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/engine/shared/datafile.h b/src/engine/shared/datafile.h
index 46e8ada8..cafce20e 100644
--- a/src/engine/shared/datafile.h
+++ b/src/engine/shared/datafile.h
@@ -6,7 +6,7 @@
 // raw datafile access
 class CDataFileReader
 {
-	class CDatafile *m_pDataFile;
+	struct CDatafile *m_pDataFile;
 	void *GetDataImpl(int Index, int Swap);
 public:
 	CDataFileReader() : m_pDataFile(0) {}
@@ -61,16 +61,24 @@ class CDataFileWriter
 		int m_Last;
 	};
 
+	enum
+	{
+		MAX_ITEM_TYPES=0xffff,
+		MAX_ITEMS=1024,
+		MAX_DATAS=1024,
+	};
+
 	IOHANDLE m_File;
 	int m_NumItems;
 	int m_NumDatas;
 	int m_NumItemTypes;
-	CItemTypeInfo m_aItemTypes[0xffff];
-	CItemInfo m_aItems[1024];
-	CDataInfo m_aDatas[1024];
+	CItemTypeInfo *m_pItemTypes;
+	CItemInfo *m_pItems;
+	CDataInfo *m_pDatas;
 
 public:
-	CDataFileWriter() : m_File(0) {}
+	CDataFileWriter();
+	~CDataFileWriter();
 	bool Open(class IStorage *pStorage, const char *Filename);
 	int AddData(int Size, void *pData);
 	int AddDataSwapped(int Size, void *pData);