#pragma once // clang-format off: Order of includes matters here // #include #include "Game/IAsset.h" #include "Image/Texture.h" #include "IW3_Assets.h" // clang-format on namespace IW3 { struct ScriptStringList { int count; const char** strings; }; struct XAsset { XAssetType type; XAssetHeader header; }; struct XAssetList { ScriptStringList stringList; int assetCount; XAsset* assets; }; struct cspField_t { const char* szName; int iOffset; int iFieldType; }; enum csParseFieldType_t { CSPFT_STRING = 0, CSPFT_STRING_MAX_STRING_CHARS, CSPFT_STRING_MAX_QPATH, CSPFT_STRING_MAX_OSPATH, CSPFT_INT, CSPFT_QBOOLEAN, CSPFT_FLOAT, CSPFT_MILLISECONDS, CSPFT_FX, CSPFT_XMODEL, CSPFT_MATERIAL, CSPFT_SOUND, CSPFT_NUM_BASE_FIELD_TYPES }; enum weapFieldType_t { WFT_WEAPONTYPE = CSPFT_NUM_BASE_FIELD_TYPES, WFT_WEAPONCLASS, WFT_OVERLAYRETICLE, WFT_PENETRATE_TYPE, WFT_IMPACT_TYPE, WFT_STANCE, WFT_PROJ_EXPLOSION, WFT_OFFHAND_CLASS, WFT_ANIMTYPE, WFT_ACTIVE_RETICLE_TYPE, WFT_GUIDED_MISSILE_TYPE, WFT_BOUNCE_SOUND, WFT_STICKINESS, WFT_OVERLAYINTERFACE, WFT_INVENTORYTYPE, WFT_FIRETYPE, WFT_AMMOCOUNTER_CLIPTYPE, WFT_ICONRATIO_HUD, WFT_ICONRATIO_AMMOCOUNTER, WFT_ICONRATIO_KILL, WFT_ICONRATIO_DPAD, WFT_HIDETAGS, WFT_NOTETRACKSOUNDMAP, WFT_NUM_FIELD_TYPES }; using AssetXModelPieces = Asset; using AssetPhysPreset = Asset; using AssetXAnim = Asset; using AssetXModel = Asset; using AssetMaterial = Asset; using AssetTechniqueSet = Asset; using AssetImage = Asset; using AssetSound = Asset; using AssetSoundCurve = Asset; using AssetLoadedSound = Asset; using AssetClipMap = Asset; using AssetClipMapPvs = Asset; using AssetComWorld = Asset; using AssetGameWorldSp = Asset; using AssetGameWorldMp = Asset; using AssetMapEnts = Asset; using AssetGfxWorld = Asset; using AssetLightDef = Asset; using AssetFont = Asset; using AssetMenuList = Asset; using AssetMenu = Asset; using AssetLocalize = Asset; using AssetWeapon = Asset; using AssetSoundDriverGlobals = Asset; using AssetFx = Asset; using AssetImpactFx = Asset; using AssetRawFile = Asset; using AssetStringTable = Asset; } // namespace IW3