StructuredDataDef Asset
The structureddatadef asset stores information for data structures and enums used by the game. This asset is only used on Modern Warfare 2, Modern Warfare 3, and Ghosts.
enum DataType
{
STRUCTURED_DATA_INT = 0,
STRUCTURED_DATA_BYTE = 1,
STRUCTURED_DATA_BOOL = 2,
STRUCTURED_DATA_STRING = 3,
STRUCTURED_DATA_ENUM = 4,
STRUCTURED_DATA_STRUCT = 5,
STRUCTURED_DATA_INDEXEDARR = 6,
STRUCTURED_DATA_ENUMARR = 7,
STRUCTURED_DATA_FLOAT = 8,
STRUCTURED_DATA_SHORT = 9
};
struct EnumEntry
{
const char *name;
unsigned __int16 index;
unsigned __int16 unused;
};
struct DefinedEnum
{
int entryCount;
int unknown;
EnumEntry *entries;
};
union TypeData
{
int integer;
int stringSize;
int flags;
int enumIndex;
int enumArrIndex;
int indexedArrIndex;
int structIndex;
};
struct StructureEntry
{
const char *name;
DataType type;
TypeData data;
int index;
};
struct DefinedStructure
{
int entryCount;
StructureEntry *entries;
int size;
int unknown;
};
struct DefinedIndexedArray
{
int numItems;
DataType type;
TypeData data;
int size;
};
struct DefinedEnumArray
{
int enumIndex;
DataType type;
TypeData data;
int size;
};
struct StructuredData
{
int version;
int hash;
int enumCount;
DefinedEnum *enums;
int structureCount;
DefinedStructure *structures;
int indexedArrCount;
DefinedIndexedArray *indexedArrays;
int enumArrayCount;
DefinedEnumArray *enumArrays;
int unknown1;
int unknown2;
int unknown3;
};
struct StructuredDataDef
{
const char *name;
int numEntries;
StructuredData *entries;
};