All pastes #835679 Raw Edit

Stuff

public cpp v1 · immutable
#835679 ·published 2007-12-29 00:00 UTC
rendered paste body
//! The file header is at the start of the SGA archive	struct _SgaFileHeader	{		char* sIdentifier; //!< 8 bytes "_ARCHIVE"		unsigned long iVersion; //!< DoW is v2 , CoH is v4		long* iToolMD5; //!< First MD5		wchar_t* sArchiveType; //!< Unicode string (128 bytes - 64 * wchar)		long* iMD5; //!< Second MD5		unsigned long iDataHeaderSize;		unsigned long iDataOffset;		unsigned long iPlatform; //!< v4 only; 1 = win32	};	#pragma pack( push, sga_formats, 1 )	struct _SgaDataHeaderInfo	{		unsigned long iToCOffset; //!< Where in the data header ToCs start		unsigned short int iToCCount;		unsigned long iDirOffset; //!< Where in the data header directories start		unsigned short int iDirCount;		unsigned long iFileOffset; //!< Where in the data header files start		unsigned short int iFileCount;		unsigned long iItemOffset; //!< Where in the data header strings start		unsigned short int iItemCount;	};	struct _SgaToC	{		char sAlias[64];		char sBaseDirName[64];		short unsigned int iStartDir;		short unsigned int iEndDir;		short unsigned int iStartFile;		short unsigned int iEndFile;		unsigned long iFolderOffset; //!< Unknown	};	struct _SgaDirInfo	{		unsigned long iNameOffset;		short unsigned int iSubDirBegin;		short unsigned int iSubDirEnd;		short unsigned int iFileBegin;		short unsigned int iFileEnd;	};	struct _SgaFileInfo	{		unsigned long iNameOffset;		unsigned long iFlags; //!< 0x00 = uncompressed, 0x10 = zlib large file, 0x20 = zlib small file (< 4kb)		unsigned long iDataOffset;		unsigned long iDataLengthCompressed;		unsigned long iDataLength;	};	struct _SgaFileInfo4	{		unsigned long iNameOffset;		unsigned long iDataOffset;		unsigned long iDataLengthCompressed;		unsigned long iDataLength;		unsigned long iModificationTime;		unsigned short iFlags;	};	#pragma pack( pop, sga_formats)