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
110 changed files with 195 additions and 199 deletions

View File

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

View File

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

View File

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

View File

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

View File

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