#ifndef ASSET_H #define ASSET_H #include "animparts.h" #include "model.h" #include "material.h" #include "materialpixelshader.h" #include "materialtechset.h" #include "gfximage.h" #include "soundalias.h" #include "soundcurve.h" #include "loadedsound.h" #include "clipmap.h" #include "comworld.h" #include "gameworld.h" #include "mapent.h" #include "gfxworld.h" #include "gfxlightdef.h" #include "gfximage.h" #include "font.h" #include "menulist.h" #include "menudef.h" #include "localizeentry.h" #include "weapondef.h" #include "sounddriver.h" #include "effectdef.h" #include "effecttable.h" #include "rawfile.h" #include "stringtable.h" enum XAssetType : qint32 { ASSET_TYPE_XMODELPIECES = 0x0, ASSET_TYPE_PHYSPRESET = 0x1, ASSET_TYPE_XANIMPARTS = 0x2, ASSET_TYPE_XMODEL = 0x3, ASSET_TYPE_MATERIAL = 0x4, ASSET_TYPE_PIXELSHADER = 0x5, ASSET_TYPE_TECHNIQUE_SET = 0x6, ASSET_TYPE_IMAGE = 0x7, ASSET_TYPE_SOUND = 0x8, ASSET_TYPE_SOUND_CURVE = 0x9, ASSET_TYPE_LOADED_SOUND = 0xA, ASSET_TYPE_CLIPMAP = 0xB, ASSET_TYPE_CLIPMAP_PVS = 0xC, ASSET_TYPE_COMWORLD = 0xD, ASSET_TYPE_GAMEWORLD_SP = 0xE, ASSET_TYPE_GAMEWORLD_MP = 0xF, ASSET_TYPE_MAP_ENTS = 0x10, ASSET_TYPE_GFXWORLD = 0x11, ASSET_TYPE_LIGHT_DEF = 0x12, ASSET_TYPE_UI_MAP = 0x13, ASSET_TYPE_FONT = 0x14, ASSET_TYPE_MENULIST = 0x15, ASSET_TYPE_MENU = 0x16, ASSET_TYPE_LOCALIZE_ENTRY = 0x17, ASSET_TYPE_WEAPON = 0x18, ASSET_TYPE_SNDDRIVER_GLOBALS = 0x19, ASSET_TYPE_FX = 0x1A, ASSET_TYPE_IMPACT_FX = 0x1B, ASSET_TYPE_AITYPE = 0x1C, ASSET_TYPE_MPTYPE = 0x1D, ASSET_TYPE_CHARACTER = 0x1E, ASSET_TYPE_XMODELALIAS = 0x1F, ASSET_TYPE_RAWFILE = 0x20, ASSET_TYPE_STRINGTABLE = 0x21, ASSET_TYPE_COUNT = 0x22, ASSET_TYPE_STRING = 0x22, ASSET_TYPE_ASSETLIST = 0x23, }; union XAssetHeader { XModelPieces *xmodelPieces; PhysPreset *physPreset; XAnimParts *parts; Model *model; Material *material; MaterialPixelShader *pixelShader; MaterialVertexShader *vertexShader; MaterialTechSet *techniqueSet; GfxImage *image; SoundAliasList *sound; SoundCurve *sndCurve; LoadedSound *loadSnd; ClipMap *clipMap; ComWorld *comWorld; GameWorldSp *gameWorldSp; GameWorldMp *gameWorldMp; MapEnts *mapEnts; GfxWorld *gfxWorld; GfxLightDef *lightDef; GameFont *font; MenuList *menuList; MenuDef *menu; LocalizeEntry *localize; WeaponDef *weapon; SoundDriver *sndDriverGlobals; const EffectDef *fx; ImpactTable *impactFx; RawFile *rawfile; StringTable *stringTable; void *data; }; struct XAsset { XAssetType type; XAssetHeader header; }; #endif // ASSET_H