#pragma once // clang-format off: Order of includes matters here // #include #include "Image/Texture.h" #include "IW5_Assets.h" // clang-format on namespace IW5 { struct DB_AuthHash { char bytes[32]; }; struct DB_AuthSignature { char bytes[256]; }; struct DB_AuthSubHeader { char fastfileName[32]; unsigned int reserved; DB_AuthHash masterBlockHashes[244]; }; struct DB_AuthHeader { char magic[8]; // + 0 unsigned int reserved; // + 8 DB_AuthHash subheaderHash; // + 12 DB_AuthSignature signedSubheaderHash; // + 44 DB_AuthSubHeader subheader; // + 300 }; 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_BOOL, CSPFT_FLOAT, CSPFT_MPH_TO_INCHES_PER_SEC, CSPFT_MILLISECONDS, CSPFT_FX, CSPFT_XMODEL, CSPFT_MATERIAL, CSPFT_SOUND, CSPFT_TRACER, CSPFT_NUM_BASE_FIELD_TYPES, }; } // namespace IW5