refactor: use template based asset structs for AssetLoaders

This commit is contained in:
Jan 2024-05-25 11:17:04 +02:00
parent ef69bbb239
commit a166878f7d
No known key found for this signature in database
GPG Key ID: 44B581F78FF5C57C
110 changed files with 195 additions and 199 deletions

View File

@ -96,6 +96,7 @@ namespace IW3
using AssetSoundCurve = Asset<ASSET_TYPE_SOUND_CURVE, SndCurve>; using AssetSoundCurve = Asset<ASSET_TYPE_SOUND_CURVE, SndCurve>;
using AssetLoadedSound = Asset<ASSET_TYPE_LOADED_SOUND, LoadedSound>; using AssetLoadedSound = Asset<ASSET_TYPE_LOADED_SOUND, LoadedSound>;
using AssetClipMap = Asset<ASSET_TYPE_CLIPMAP, clipMap_t>; using AssetClipMap = Asset<ASSET_TYPE_CLIPMAP, clipMap_t>;
using AssetClipMapPvs = Asset<ASSET_TYPE_CLIPMAP_PVS, clipMap_t>;
using AssetComWorld = Asset<ASSET_TYPE_COMWORLD, ComWorld>; using AssetComWorld = Asset<ASSET_TYPE_COMWORLD, ComWorld>;
using AssetGameWorldSp = Asset<ASSET_TYPE_GAMEWORLD_SP, GameWorldSp>; using AssetGameWorldSp = Asset<ASSET_TYPE_GAMEWORLD_SP, GameWorldSp>;
using AssetGameWorldMp = Asset<ASSET_TYPE_GAMEWORLD_MP, GameWorldMp>; using AssetGameWorldMp = Asset<ASSET_TYPE_GAMEWORLD_MP, GameWorldMp>;
@ -107,7 +108,7 @@ namespace IW3
using AssetMenu = Asset<ASSET_TYPE_MENU, menuDef_t>; using AssetMenu = Asset<ASSET_TYPE_MENU, menuDef_t>;
using AssetLocalize = Asset<ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry>; using AssetLocalize = Asset<ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry>;
using AssetWeapon = Asset<ASSET_TYPE_WEAPON, WeaponDef>; using AssetWeapon = Asset<ASSET_TYPE_WEAPON, WeaponDef>;
using AssetSndDriverGlobals = Asset<ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals>; using AssetSoundDriverGlobals = Asset<ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals>;
using AssetFx = Asset<ASSET_TYPE_FX, FxEffectDef>; using AssetFx = Asset<ASSET_TYPE_FX, FxEffectDef>;
using AssetImpactFx = Asset<ASSET_TYPE_IMPACT_FX, FxImpactTable>; using AssetImpactFx = Asset<ASSET_TYPE_IMPACT_FX, FxImpactTable>;
using AssetRawFile = Asset<ASSET_TYPE_RAWFILE, RawFile>; using AssetRawFile = Asset<ASSET_TYPE_RAWFILE, RawFile>;

View File

@ -126,7 +126,8 @@ namespace T5
using AssetImage = Asset<ASSET_TYPE_IMAGE, GfxImage>; using AssetImage = Asset<ASSET_TYPE_IMAGE, GfxImage>;
using AssetSoundBank = Asset<ASSET_TYPE_SOUND, SndBank>; using AssetSoundBank = Asset<ASSET_TYPE_SOUND, SndBank>;
using AssetSoundPatch = Asset<ASSET_TYPE_SOUND_PATCH, SndPatch>; using AssetSoundPatch = Asset<ASSET_TYPE_SOUND_PATCH, SndPatch>;
using AssetClipMap = Asset<ASSET_TYPE_CLIPMAP_PVS, clipMap_t>; using AssetClipMap = Asset<ASSET_TYPE_CLIPMAP, clipMap_t>;
using AssetClipMapPvs = Asset<ASSET_TYPE_CLIPMAP_PVS, clipMap_t>;
using AssetComWorld = Asset<ASSET_TYPE_COMWORLD, ComWorld>; using AssetComWorld = Asset<ASSET_TYPE_COMWORLD, ComWorld>;
using AssetGameWorldSp = Asset<ASSET_TYPE_GAMEWORLD_SP, GameWorldSp>; using AssetGameWorldSp = Asset<ASSET_TYPE_GAMEWORLD_SP, GameWorldSp>;
using AssetGameWorldMp = Asset<ASSET_TYPE_GAMEWORLD_MP, GameWorldMp>; using AssetGameWorldMp = Asset<ASSET_TYPE_GAMEWORLD_MP, GameWorldMp>;

View File

@ -170,7 +170,8 @@ namespace T6
using AssetImage = Asset<ASSET_TYPE_IMAGE, GfxImage>; using AssetImage = Asset<ASSET_TYPE_IMAGE, GfxImage>;
using AssetSoundBank = Asset<ASSET_TYPE_SOUND, SndBank>; using AssetSoundBank = Asset<ASSET_TYPE_SOUND, SndBank>;
using AssetSoundPatch = Asset<ASSET_TYPE_SOUND_PATCH, SndPatch>; using AssetSoundPatch = Asset<ASSET_TYPE_SOUND_PATCH, SndPatch>;
using AssetClipMap = Asset<ASSET_TYPE_CLIPMAP_PVS, clipMap_t>; using AssetClipMap = Asset<ASSET_TYPE_CLIPMAP, clipMap_t>;
using AssetClipMapPvs = Asset<ASSET_TYPE_CLIPMAP_PVS, clipMap_t>;
using AssetComWorld = Asset<ASSET_TYPE_COMWORLD, ComWorld>; using AssetComWorld = Asset<ASSET_TYPE_COMWORLD, ComWorld>;
using AssetGameWorldSp = Asset<ASSET_TYPE_GAMEWORLD_SP, GameWorldSp>; using AssetGameWorldSp = Asset<ASSET_TYPE_GAMEWORLD_SP, GameWorldSp>;
using AssetGameWorldMp = Asset<ASSET_TYPE_GAMEWORLD_MP, GameWorldMp>; using AssetGameWorldMp = Asset<ASSET_TYPE_GAMEWORLD_MP, GameWorldMp>;

View File

@ -11,11 +11,13 @@ public:
} }
}; };
template<asset_type_t AssetType, typename T> class BasicAssetLoader : public BasicAssetLoaderWithoutType<T> template<typename AssetType> class BasicAssetLoader : public BasicAssetLoaderWithoutType<typename AssetType::Type>
{ {
public: public:
static_assert(std::is_base_of_v<IAssetBase, AssetType>);
_NODISCARD asset_type_t GetHandlingAssetType() const override _NODISCARD asset_type_t GetHandlingAssetType() const override
{ {
return AssetType; return AssetType::EnumEntry;
} }
}; };

View File

@ -6,7 +6,7 @@
namespace IW3 namespace IW3
{ {
class AssetLoaderGfxImage final : public BasicAssetLoader<ASSET_TYPE_IMAGE, GfxImage> class AssetLoaderGfxImage final : public BasicAssetLoader<AssetImage>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -7,7 +7,7 @@
namespace IW3 namespace IW3
{ {
class AssetLoaderLocalizeEntry final : public BasicAssetLoader<ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry> class AssetLoaderLocalizeEntry final : public BasicAssetLoader<AssetLocalize>
{ {
public: public:
_NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override; _NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override;

View File

@ -6,7 +6,7 @@
namespace IW3 namespace IW3
{ {
class AssetLoaderRawFile final : public BasicAssetLoader<ASSET_TYPE_RAWFILE, RawFile> class AssetLoaderRawFile final : public BasicAssetLoader<AssetRawFile>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW3 namespace IW3
{ {
class AssetLoaderStringTable final : public BasicAssetLoader<ASSET_TYPE_STRINGTABLE, StringTable> class AssetLoaderStringTable final : public BasicAssetLoader<AssetStringTable>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -22,37 +22,35 @@ ObjLoader::ObjLoader()
auto l = std::make_unique<t>(); \ auto l = std::make_unique<t>(); \
m_asset_loaders_by_type[l->GetHandlingAssetType()] = std::move(l); \ m_asset_loaders_by_type[l->GetHandlingAssetType()] = std::move(l); \
} }
#define BASIC_LOADER(assetType, assetClass) BasicAssetLoader<assetType, assetClass>
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_PHYSPRESET, PhysPreset)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetPhysPreset>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XANIMPARTS, XAnimParts)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetXAnim>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XMODEL, XModel)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetXModel>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MATERIAL, Material)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMaterial>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetTechniqueSet>)
REGISTER_ASSET_LOADER(AssetLoaderGfxImage) REGISTER_ASSET_LOADER(AssetLoaderGfxImage)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SOUND, snd_alias_list_t)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetSound>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SOUND_CURVE, SndCurve)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetSoundCurve>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_LOADED_SOUND, LoadedSound)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetLoadedSound>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_CLIPMAP, clipMap_t)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetClipMap>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_CLIPMAP_PVS, clipMap_t)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetClipMapPvs>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_COMWORLD, ComWorld)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetComWorld>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetGameWorldSp>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetGameWorldMp>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MAP_ENTS, MapEnts)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMapEnts>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GFXWORLD, GfxWorld)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetGfxWorld>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_LIGHT_DEF, GfxLightDef)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetLightDef>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FONT, Font_s)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetFont>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MENULIST, MenuList)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMenuList>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MENU, menuDef_t)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMenu>)
REGISTER_ASSET_LOADER(AssetLoaderLocalizeEntry) REGISTER_ASSET_LOADER(AssetLoaderLocalizeEntry)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_WEAPON, WeaponDef)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetWeapon>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetSoundDriverGlobals>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FX, FxEffectDef)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetFx>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_IMPACT_FX, FxImpactTable)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetImpactFx>)
REGISTER_ASSET_LOADER(AssetLoaderRawFile) REGISTER_ASSET_LOADER(AssetLoaderRawFile)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_STRINGTABLE, StringTable)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetStringTable>)
#undef BASIC_LOADER
#undef REGISTER_ASSET_LOADER #undef REGISTER_ASSET_LOADER
} }

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderAddonMapEnts final : public BasicAssetLoader<ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts> class AssetLoaderAddonMapEnts final : public BasicAssetLoader<AssetAddonMapEnts>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderComWorld final : public BasicAssetLoader<ASSET_TYPE_COMWORLD, ComWorld> class AssetLoaderComWorld final : public BasicAssetLoader<AssetComWorld>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderFont final : public BasicAssetLoader<ASSET_TYPE_FONT, Font_s> class AssetLoaderFont final : public BasicAssetLoader<AssetFont>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderFx final : public BasicAssetLoader<ASSET_TYPE_FX, FxEffectDef> class AssetLoaderFx final : public BasicAssetLoader<AssetFx>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderFxImpactTable final : public BasicAssetLoader<ASSET_TYPE_IMPACT_FX, FxImpactTable> class AssetLoaderFxImpactTable final : public BasicAssetLoader<AssetImpactFx>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderFxWorld final : public BasicAssetLoader<ASSET_TYPE_FXWORLD, FxWorld> class AssetLoaderFxWorld final : public BasicAssetLoader<AssetFxWorld>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderGameWorldMp final : public BasicAssetLoader<ASSET_TYPE_GAMEWORLD_MP, GameWorldMp> class AssetLoaderGameWorldMp final : public BasicAssetLoader<AssetGameWorldMp>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderGameWorldSp final : public BasicAssetLoader<ASSET_TYPE_GAMEWORLD_SP, GameWorldSp> class AssetLoaderGameWorldSp final : public BasicAssetLoader<AssetGameWorldSp>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderGfxImage final : public BasicAssetLoader<ASSET_TYPE_IMAGE, GfxImage> class AssetLoaderGfxImage final : public BasicAssetLoader<AssetImage>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderGfxLightDef final : public BasicAssetLoader<ASSET_TYPE_LIGHT_DEF, GfxLightDef> class AssetLoaderGfxLightDef final : public BasicAssetLoader<AssetLightDef>
{ {
static constexpr auto MAX_IMAGE_NAME_SIZE = 0x800; static constexpr auto MAX_IMAGE_NAME_SIZE = 0x800;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderGfxWorld final : public BasicAssetLoader<ASSET_TYPE_GFXWORLD, GfxWorld> class AssetLoaderGfxWorld final : public BasicAssetLoader<AssetGfxWorld>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderLeaderboard final : public BasicAssetLoader<ASSET_TYPE_LEADERBOARD, LeaderboardDef> class AssetLoaderLeaderboard final : public BasicAssetLoader<AssetLeaderBoard>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderLoadedSound final : public BasicAssetLoader<ASSET_TYPE_LOADED_SOUND, LoadedSound> class AssetLoaderLoadedSound final : public BasicAssetLoader<AssetLoadedSound>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -7,7 +7,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderLocalizeEntry final : public BasicAssetLoader<ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry> class AssetLoaderLocalizeEntry final : public BasicAssetLoader<AssetLocalize>
{ {
public: public:
_NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override; _NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderMapEnts final : public BasicAssetLoader<ASSET_TYPE_MAP_ENTS, MapEnts> class AssetLoaderMapEnts final : public BasicAssetLoader<AssetMapEnts>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderMaterial final : public BasicAssetLoader<ASSET_TYPE_MATERIAL, Material> class AssetLoaderMaterial final : public BasicAssetLoader<AssetMaterial>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderMenuDef final : public BasicAssetLoader<ASSET_TYPE_MENU, menuDef_t> class AssetLoaderMenuDef final : public BasicAssetLoader<AssetMenu>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -7,7 +7,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderMenuList final : public BasicAssetLoader<ASSET_TYPE_MENULIST, MenuList> class AssetLoaderMenuList final : public BasicAssetLoader<AssetMenuList>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderPhysCollmap final : public BasicAssetLoader<ASSET_TYPE_PHYSCOLLMAP, PhysCollmap> class AssetLoaderPhysCollmap final : public BasicAssetLoader<AssetPhysCollMap>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -7,7 +7,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderPhysPreset final : public BasicAssetLoader<ASSET_TYPE_PHYSPRESET, PhysPreset> class AssetLoaderPhysPreset final : public BasicAssetLoader<AssetPhysPreset>
{ {
static void CopyFromPhysPresetInfo(const PhysPresetInfo* physPresetInfo, PhysPreset* physPreset); static void CopyFromPhysPresetInfo(const PhysPresetInfo* physPresetInfo, PhysPreset* physPreset);

View File

@ -8,7 +8,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderPixelShader final : public BasicAssetLoader<ASSET_TYPE_PIXELSHADER, MaterialPixelShader> class AssetLoaderPixelShader final : public BasicAssetLoader<AssetPixelShader>
{ {
public: public:
_NODISCARD static std::string GetFileNameForAsset(const std::string& assetName); _NODISCARD static std::string GetFileNameForAsset(const std::string& assetName);

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderRawFile final : public BasicAssetLoader<ASSET_TYPE_RAWFILE, RawFile> class AssetLoaderRawFile final : public BasicAssetLoader<AssetRawFile>
{ {
static constexpr size_t COMPRESSED_BUFFER_SIZE_PADDING = 64; static constexpr size_t COMPRESSED_BUFFER_SIZE_PADDING = 64;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderSndCurve final : public BasicAssetLoader<ASSET_TYPE_SOUND_CURVE, SndCurve> class AssetLoaderSndCurve final : public BasicAssetLoader<AssetSoundCurve>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderSoundAliasList final : public BasicAssetLoader<ASSET_TYPE_SOUND, snd_alias_list_t> class AssetLoaderSoundAliasList final : public BasicAssetLoader<AssetSound>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderStringTable final : public BasicAssetLoader<ASSET_TYPE_STRINGTABLE, StringTable> class AssetLoaderStringTable final : public BasicAssetLoader<AssetStringTable>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -7,7 +7,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderStructuredDataDefSet final : public BasicAssetLoader<ASSET_TYPE_STRUCTURED_DATA_DEF, StructuredDataDefSet> class AssetLoaderStructuredDataDefSet final : public BasicAssetLoader<AssetStructuredDataDef>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -10,7 +10,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderTechniqueSet final : public BasicAssetLoader<ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet> class AssetLoaderTechniqueSet final : public BasicAssetLoader<AssetTechniqueSet>
{ {
static bool CreateTechsetFromDefinition(const std::string& assetName, static bool CreateTechsetFromDefinition(const std::string& assetName,
const techset::TechsetDefinition& definition, const techset::TechsetDefinition& definition,

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderTracer final : public BasicAssetLoader<ASSET_TYPE_TRACER, TracerDef> class AssetLoaderTracer final : public BasicAssetLoader<AssetTracer>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderVehicle final : public BasicAssetLoader<ASSET_TYPE_VEHICLE, VehicleDef> class AssetLoaderVehicle final : public BasicAssetLoader<AssetVehicle>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderVertexDecl final : public BasicAssetLoader<ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration> class AssetLoaderVertexDecl final : public BasicAssetLoader<AssetVertexDecl>
{ {
static bool NextAbbreviation(const std::string& assetName, std::string& abbreviation, size_t& offset); static bool NextAbbreviation(const std::string& assetName, std::string& abbreviation, size_t& offset);

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderVertexShader final : public BasicAssetLoader<ASSET_TYPE_VERTEXSHADER, MaterialVertexShader> class AssetLoaderVertexShader final : public BasicAssetLoader<AssetVertexShader>
{ {
public: public:
_NODISCARD static std::string GetFileNameForAsset(const std::string& assetName); _NODISCARD static std::string GetFileNameForAsset(const std::string& assetName);

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderWeapon final : public BasicAssetLoader<ASSET_TYPE_WEAPON, WeaponCompleteDef> class AssetLoaderWeapon final : public BasicAssetLoader<AssetWeapon>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderXAnim final : public BasicAssetLoader<ASSET_TYPE_XANIMPARTS, XAnimParts> class AssetLoaderXAnim final : public BasicAssetLoader<AssetXAnim>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderXModel final : public BasicAssetLoader<ASSET_TYPE_XMODEL, XModel> class AssetLoaderXModel final : public BasicAssetLoader<AssetXModel>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW4 namespace IW4
{ {
class AssetLoaderXModelSurfs final : public BasicAssetLoader<ASSET_TYPE_XMODEL_SURFS, XModelSurfs> class AssetLoaderXModelSurfs final : public BasicAssetLoader<AssetXModelSurfs>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderAddonMapEnts final : public BasicAssetLoader<ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts> class AssetLoaderAddonMapEnts final : public BasicAssetLoader<AssetAddonMapEnts>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderClipMap : public BasicAssetLoader<ASSET_TYPE_CLIPMAP, clipMap_t> class AssetLoaderClipMap : public BasicAssetLoader<AssetClipMap>
{ {
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;
}; };

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderComWorld final : public BasicAssetLoader<ASSET_TYPE_COMWORLD, ComWorld> class AssetLoaderComWorld final : public BasicAssetLoader<AssetComWorld>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderFont final : public BasicAssetLoader<ASSET_TYPE_FONT, Font_s> class AssetLoaderFont final : public BasicAssetLoader<AssetFont>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderFx final : public BasicAssetLoader<ASSET_TYPE_FX, FxEffectDef> class AssetLoaderFx final : public BasicAssetLoader<AssetFx>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderFxImpactTable final : public BasicAssetLoader<ASSET_TYPE_IMPACT_FX, FxImpactTable> class AssetLoaderFxImpactTable final : public BasicAssetLoader<AssetImpactFx>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderFxWorld final : public BasicAssetLoader<ASSET_TYPE_FXWORLD, FxWorld> class AssetLoaderFxWorld final : public BasicAssetLoader<AssetFxWorld>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderGfxImage final : public BasicAssetLoader<ASSET_TYPE_IMAGE, GfxImage> class AssetLoaderGfxImage final : public BasicAssetLoader<AssetImage>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderGfxLightDef final : public BasicAssetLoader<ASSET_TYPE_LIGHT_DEF, GfxLightDef> class AssetLoaderGfxLightDef final : public BasicAssetLoader<AssetLightDef>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderGfxWorld final : public BasicAssetLoader<ASSET_TYPE_GFXWORLD, GfxWorld> class AssetLoaderGfxWorld final : public BasicAssetLoader<AssetGfxWorld>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderGlassWorld final : public BasicAssetLoader<ASSET_TYPE_GLASSWORLD, GlassWorld> class AssetLoaderGlassWorld final : public BasicAssetLoader<AssetGlassWorld>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderLeaderboard final : public BasicAssetLoader<ASSET_TYPE_LEADERBOARD, LeaderboardDef> class AssetLoaderLeaderboard final : public BasicAssetLoader<AssetLeaderBoard>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderLoadedSound final : public BasicAssetLoader<ASSET_TYPE_LOADED_SOUND, LoadedSound> class AssetLoaderLoadedSound final : public BasicAssetLoader<AssetLoadedSound>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -7,7 +7,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderLocalizeEntry final : public BasicAssetLoader<ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry> class AssetLoaderLocalizeEntry final : public BasicAssetLoader<AssetLocalize>
{ {
public: public:
_NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override; _NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderMapEnts final : public BasicAssetLoader<ASSET_TYPE_MAP_ENTS, MapEnts> class AssetLoaderMapEnts final : public BasicAssetLoader<AssetMapEnts>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderMaterial final : public BasicAssetLoader<ASSET_TYPE_MATERIAL, Material> class AssetLoaderMaterial final : public BasicAssetLoader<AssetMaterial>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderMenuDef final : public BasicAssetLoader<ASSET_TYPE_MENU, menuDef_t> class AssetLoaderMenuDef final : public BasicAssetLoader<AssetMenu>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -7,7 +7,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderMenuList final : public BasicAssetLoader<ASSET_TYPE_MENULIST, MenuList> class AssetLoaderMenuList final : public BasicAssetLoader<AssetMenuList>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderPathData final : public BasicAssetLoader<ASSET_TYPE_PATHDATA, PathData> class AssetLoaderPathData final : public BasicAssetLoader<AssetPathData>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderPhysCollmap final : public BasicAssetLoader<ASSET_TYPE_PHYSCOLLMAP, PhysCollmap> class AssetLoaderPhysCollmap final : public BasicAssetLoader<AssetPhysCollMap>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderPhysPreset final : public BasicAssetLoader<ASSET_TYPE_PHYSPRESET, PhysPreset> class AssetLoaderPhysPreset final : public BasicAssetLoader<AssetPhysPreset>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderPixelShader final : public BasicAssetLoader<ASSET_TYPE_PIXELSHADER, MaterialPixelShader> class AssetLoaderPixelShader final : public BasicAssetLoader<AssetPixelShader>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderRawFile final : public BasicAssetLoader<ASSET_TYPE_RAWFILE, RawFile> class AssetLoaderRawFile final : public BasicAssetLoader<AssetRawFile>
{ {
static constexpr size_t COMPRESSED_BUFFER_SIZE_PADDING = 64; static constexpr size_t COMPRESSED_BUFFER_SIZE_PADDING = 64;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderScriptFile final : public BasicAssetLoader<ASSET_TYPE_SCRIPTFILE, ScriptFile> class AssetLoaderScriptFile final : public BasicAssetLoader<AssetScript>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderSoundAliasList final : public BasicAssetLoader<ASSET_TYPE_SOUND, snd_alias_list_t> class AssetLoaderSoundAliasList final : public BasicAssetLoader<AssetSound>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderSoundCurve final : public BasicAssetLoader<ASSET_TYPE_SOUND_CURVE, SndCurve> class AssetLoaderSoundCurve final : public BasicAssetLoader<AssetSoundCurve>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderStringTable final : public BasicAssetLoader<ASSET_TYPE_STRINGTABLE, StringTable> class AssetLoaderStringTable final : public BasicAssetLoader<AssetStringTable>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderStructuredDataDef final : public BasicAssetLoader<ASSET_TYPE_STRUCTURED_DATA_DEF, StructuredDataDefSet> class AssetLoaderStructuredDataDef final : public BasicAssetLoader<AssetStructuredDataDef>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderSurfaceFxTable final : public BasicAssetLoader<ASSET_TYPE_SURFACE_FX, SurfaceFxTable> class AssetLoaderSurfaceFxTable final : public BasicAssetLoader<AssetSurfaceFx>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderTechniqueSet final : public BasicAssetLoader<ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet> class AssetLoaderTechniqueSet final : public BasicAssetLoader<AssetTechniqueSet>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderTracerDef final : public BasicAssetLoader<ASSET_TYPE_TRACER, TracerDef> class AssetLoaderTracerDef final : public BasicAssetLoader<AssetTracer>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderVehicleDef final : public BasicAssetLoader<ASSET_TYPE_VEHICLE, VehicleDef> class AssetLoaderVehicleDef final : public BasicAssetLoader<AssetVehicle>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderVehicleTrack final : public BasicAssetLoader<ASSET_TYPE_VEHICLE_TRACK, VehicleTrack> class AssetLoaderVehicleTrack final : public BasicAssetLoader<AssetVehicleTrack>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderVertexDecl final : public BasicAssetLoader<ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration> class AssetLoaderVertexDecl final : public BasicAssetLoader<AssetVertexDecl>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderVertexShader final : public BasicAssetLoader<ASSET_TYPE_VERTEXSHADER, MaterialVertexShader> class AssetLoaderVertexShader final : public BasicAssetLoader<AssetVertexShader>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderWeapon final : public BasicAssetLoader<ASSET_TYPE_WEAPON, WeaponCompleteDef> class AssetLoaderWeapon final : public BasicAssetLoader<AssetWeapon>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderWeaponAttachment final : public BasicAssetLoader<ASSET_TYPE_ATTACHMENT, WeaponAttachment> class AssetLoaderWeaponAttachment final : public BasicAssetLoader<AssetAttachment>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderXAnim final : public BasicAssetLoader<ASSET_TYPE_XANIMPARTS, XAnimParts> class AssetLoaderXAnim final : public BasicAssetLoader<AssetXAnim>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderXModel final : public BasicAssetLoader<ASSET_TYPE_XMODEL, XModel> class AssetLoaderXModel final : public BasicAssetLoader<AssetXModel>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace IW5 namespace IW5
{ {
class AssetLoaderXModelSurfs final : public BasicAssetLoader<ASSET_TYPE_XMODEL_SURFS, XModelSurfs> class AssetLoaderXModelSurfs final : public BasicAssetLoader<AssetXModelSurfs>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -59,7 +59,6 @@ ObjLoader::ObjLoader()
auto l = std::make_unique<t>(); \ auto l = std::make_unique<t>(); \
m_asset_loaders_by_type[l->GetHandlingAssetType()] = std::move(l); \ m_asset_loaders_by_type[l->GetHandlingAssetType()] = std::move(l); \
} }
#define BASIC_LOADER(assetType, assetClass) BasicAssetLoader<assetType, assetClass>
REGISTER_ASSET_LOADER(AssetLoaderPhysPreset) REGISTER_ASSET_LOADER(AssetLoaderPhysPreset)
REGISTER_ASSET_LOADER(AssetLoaderPhysCollmap) REGISTER_ASSET_LOADER(AssetLoaderPhysCollmap)
@ -102,7 +101,6 @@ ObjLoader::ObjLoader()
REGISTER_ASSET_LOADER(AssetLoaderVehicleDef) REGISTER_ASSET_LOADER(AssetLoaderVehicleDef)
REGISTER_ASSET_LOADER(AssetLoaderAddonMapEnts) REGISTER_ASSET_LOADER(AssetLoaderAddonMapEnts)
#undef BASIC_LOADER
#undef REGISTER_ASSET_LOADER #undef REGISTER_ASSET_LOADER
} }

View File

@ -7,7 +7,7 @@
namespace T5 namespace T5
{ {
class AssetLoaderLocalizeEntry final : public BasicAssetLoader<ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry> class AssetLoaderLocalizeEntry final : public BasicAssetLoader<AssetLocalize>
{ {
public: public:
_NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override; _NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override;

View File

@ -6,7 +6,7 @@
namespace T5 namespace T5
{ {
class AssetLoaderRawFile final : public BasicAssetLoader<ASSET_TYPE_RAWFILE, RawFile> class AssetLoaderRawFile final : public BasicAssetLoader<AssetRawFile>
{ {
static constexpr size_t COMPRESSED_BUFFER_SIZE_PADDING = 64; static constexpr size_t COMPRESSED_BUFFER_SIZE_PADDING = 64;

View File

@ -6,7 +6,7 @@
namespace T5 namespace T5
{ {
class AssetLoaderStringTable final : public BasicAssetLoader<ASSET_TYPE_STRINGTABLE, StringTable> class AssetLoaderStringTable final : public BasicAssetLoader<AssetStringTable>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -22,43 +22,41 @@ ObjLoader::ObjLoader()
auto l = std::make_unique<t>(); \ auto l = std::make_unique<t>(); \
m_asset_loaders_by_type[l->GetHandlingAssetType()] = std::move(l); \ m_asset_loaders_by_type[l->GetHandlingAssetType()] = std::move(l); \
} }
#define BASIC_LOADER(assetType, assetClass) BasicAssetLoader<assetType, assetClass>
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_PHYSPRESET, PhysPreset)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetPhysPreset>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_PHYSCONSTRAINTS, PhysConstraints)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetPhysConstraints>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_DESTRUCTIBLEDEF, DestructibleDef)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetDestructibleDef>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XANIMPARTS, XAnimParts)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetXAnim>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XMODEL, XModel)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetXModel>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MATERIAL, Material)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMaterial>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetTechniqueSet>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_IMAGE, GfxImage)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetImage>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SOUND, SndBank)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetSoundBank>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SOUND_PATCH, SndPatch)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetSoundPatch>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_CLIPMAP, clipMap_t)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetClipMap>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_CLIPMAP_PVS, clipMap_t)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetClipMapPvs>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_COMWORLD, ComWorld)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetComWorld>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetGameWorldSp>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetGameWorldMp>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MAP_ENTS, MapEnts)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMapEnts>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GFXWORLD, GfxWorld)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetGfxWorld>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_LIGHT_DEF, GfxLightDef)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetLightDef>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FONT, Font_s)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetFont>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MENULIST, MenuList)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMenuList>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MENU, menuDef_t)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMenu>)
REGISTER_ASSET_LOADER(AssetLoaderLocalizeEntry) REGISTER_ASSET_LOADER(AssetLoaderLocalizeEntry)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_WEAPON, WeaponVariantDef)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetWeapon>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetSoundDriverGlobals>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FX, FxEffectDef)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetFx>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_IMPACT_FX, FxImpactTable)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetImpactFx>)
REGISTER_ASSET_LOADER(AssetLoaderRawFile) REGISTER_ASSET_LOADER(AssetLoaderRawFile)
REGISTER_ASSET_LOADER(AssetLoaderStringTable) REGISTER_ASSET_LOADER(AssetLoaderStringTable)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_PACK_INDEX, PackIndex)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetPackIndex>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XGLOBALS, XGlobals)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetXGlobals>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_DDL, ddlRoot_t)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetDDL>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GLASSES, Glasses)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetGlasses>)
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_EMBLEMSET, EmblemSet)) REGISTER_ASSET_LOADER(BasicAssetLoader<AssetEmblemSet>)
#undef BASIC_LOADER
#undef REGISTER_ASSET_LOADER #undef REGISTER_ASSET_LOADER
} }

View File

@ -11,7 +11,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderFontIcon final : public BasicAssetLoader<ASSET_TYPE_FONTICON, FontIcon> class AssetLoaderFontIcon final : public BasicAssetLoader<AssetFontIcon>
{ {
static constexpr unsigned ROW_INDEX = 0; static constexpr unsigned ROW_INDEX = 0;
static constexpr unsigned ROW_TYPE = 1; static constexpr unsigned ROW_TYPE = 1;

View File

@ -6,7 +6,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderGfxImage final : public BasicAssetLoader<ASSET_TYPE_IMAGE, GfxImage> class AssetLoaderGfxImage final : public BasicAssetLoader<AssetImage>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderLocalizeEntry final : public BasicAssetLoader<ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry> class AssetLoaderLocalizeEntry final : public BasicAssetLoader<AssetLocalize>
{ {
public: public:
_NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override; _NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override;

View File

@ -6,7 +6,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderMaterial final : public BasicAssetLoader<ASSET_TYPE_MATERIAL, Material> class AssetLoaderMaterial final : public BasicAssetLoader<AssetMaterial>
{ {
static std::string GetFileNameForAsset(const std::string& assetName); static std::string GetFileNameForAsset(const std::string& assetName);

View File

@ -7,7 +7,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderPhysConstraints final : public BasicAssetLoader<ASSET_TYPE_PHYSCONSTRAINTS, PhysConstraints> class AssetLoaderPhysConstraints final : public BasicAssetLoader<AssetPhysConstraints>
{ {
static void CalculatePhysConstraintsFields(PhysConstraints* physConstraints, Zone* zone); static void CalculatePhysConstraintsFields(PhysConstraints* physConstraints, Zone* zone);

View File

@ -7,7 +7,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderPhysPreset final : public BasicAssetLoader<ASSET_TYPE_PHYSPRESET, PhysPreset> class AssetLoaderPhysPreset final : public BasicAssetLoader<AssetPhysPreset>
{ {
static void CopyFromPhysPresetInfo(const PhysPresetInfo* physPresetInfo, PhysPreset* physPreset); static void CopyFromPhysPresetInfo(const PhysPresetInfo* physPresetInfo, PhysPreset* physPreset);

View File

@ -6,7 +6,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderQdb final : public BasicAssetLoader<ASSET_TYPE_QDB, Qdb> class AssetLoaderQdb final : public BasicAssetLoader<AssetQdb>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderRawFile final : public BasicAssetLoader<ASSET_TYPE_RAWFILE, RawFile> class AssetLoaderRawFile final : public BasicAssetLoader<AssetRawFile>
{ {
static constexpr size_t COMPRESSED_BUFFER_SIZE_PADDING = 64; static constexpr size_t COMPRESSED_BUFFER_SIZE_PADDING = 64;

View File

@ -6,7 +6,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderScriptParseTree final : public BasicAssetLoader<ASSET_TYPE_SCRIPTPARSETREE, ScriptParseTree> class AssetLoaderScriptParseTree final : public BasicAssetLoader<AssetScript>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderSlug final : public BasicAssetLoader<ASSET_TYPE_SLUG, Slug> class AssetLoaderSlug final : public BasicAssetLoader<AssetSlug>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

View File

@ -6,7 +6,7 @@
namespace T6 namespace T6
{ {
class AssetLoaderSoundBank final : public BasicAssetLoader<ASSET_TYPE_SOUND, SndBank> class AssetLoaderSoundBank final : public BasicAssetLoader<AssetSoundBank>
{ {
public: public:
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;

Some files were not shown because too many files have changed in this diff Show More