mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-30 00:01:54 +00:00
refactor: use template based asset structs for AssetLoaders
This commit is contained in:
@ -11,7 +11,7 @@
|
||||
|
||||
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_TYPE = 1;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
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;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
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;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
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);
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderPhysConstraints final : public BasicAssetLoader<ASSET_TYPE_PHYSCONSTRAINTS, PhysConstraints>
|
||||
class AssetLoaderPhysConstraints final : public BasicAssetLoader<AssetPhysConstraints>
|
||||
{
|
||||
static void CalculatePhysConstraintsFields(PhysConstraints* physConstraints, Zone* zone);
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
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);
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderQdb final : public BasicAssetLoader<ASSET_TYPE_QDB, Qdb>
|
||||
class AssetLoaderQdb final : public BasicAssetLoader<AssetQdb>
|
||||
{
|
||||
public:
|
||||
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
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;
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderScriptParseTree final : public BasicAssetLoader<ASSET_TYPE_SCRIPTPARSETREE, ScriptParseTree>
|
||||
class AssetLoaderScriptParseTree final : public BasicAssetLoader<AssetScript>
|
||||
{
|
||||
public:
|
||||
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderSlug final : public BasicAssetLoader<ASSET_TYPE_SLUG, Slug>
|
||||
class AssetLoaderSlug final : public BasicAssetLoader<AssetSlug>
|
||||
{
|
||||
public:
|
||||
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderSoundBank final : public BasicAssetLoader<ASSET_TYPE_SOUND, SndBank>
|
||||
class AssetLoaderSoundBank final : public BasicAssetLoader<AssetSoundBank>
|
||||
{
|
||||
public:
|
||||
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
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;
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderTracer final : public BasicAssetLoader<ASSET_TYPE_TRACER, TracerDef>
|
||||
class AssetLoaderTracer final : public BasicAssetLoader<AssetTracer>
|
||||
{
|
||||
static bool
|
||||
LoadFromInfoString(const InfoString& infoString, const std::string& assetName, MemoryManager* memory, IAssetLoadingManager* manager, Zone* zone);
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderVehicle final : public BasicAssetLoader<ASSET_TYPE_VEHICLEDEF, VehicleDef>
|
||||
class AssetLoaderVehicle final : public BasicAssetLoader<AssetVehicle>
|
||||
{
|
||||
static bool
|
||||
LoadFromInfoString(const InfoString& infoString, const std::string& assetName, MemoryManager* memory, IAssetLoadingManager* manager, Zone* zone);
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderWeapon final : public BasicAssetLoader<ASSET_TYPE_WEAPON, WeaponVariantDef>
|
||||
class AssetLoaderWeapon final : public BasicAssetLoader<AssetWeapon>
|
||||
{
|
||||
static void LinkWeaponFullDefSubStructs(WeaponFullDef* weapon);
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderWeaponAttachment final : public BasicAssetLoader<ASSET_TYPE_ATTACHMENT, WeaponAttachment>
|
||||
class AssetLoaderWeaponAttachment final : public BasicAssetLoader<AssetAttachment>
|
||||
{
|
||||
static void CalculateAttachmentFields(WeaponAttachment* attachment);
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderWeaponAttachmentUnique final : public BasicAssetLoader<ASSET_TYPE_ATTACHMENT_UNIQUE, WeaponAttachmentUnique>
|
||||
class AssetLoaderWeaponAttachmentUnique final : public BasicAssetLoader<AssetAttachmentUnique>
|
||||
{
|
||||
static void LinkAttachmentUniqueFullSubStructs(WeaponAttachmentUniqueFull* attachmentUnique);
|
||||
static bool CalculateAttachmentUniqueFields(const std::string& assetName, WeaponAttachmentUniqueFull* attachmentUnique);
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderWeaponCamo final : public BasicAssetLoader<ASSET_TYPE_WEAPON_CAMO, WeaponCamo>
|
||||
class AssetLoaderWeaponCamo final : public BasicAssetLoader<AssetWeaponCamo>
|
||||
{
|
||||
public:
|
||||
_NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderXModel final : public BasicAssetLoader<ASSET_TYPE_XMODEL, XModel>
|
||||
class AssetLoaderXModel final : public BasicAssetLoader<AssetXModel>
|
||||
{
|
||||
static std::string GetFileNameForAsset(const std::string& assetName);
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
namespace T6
|
||||
{
|
||||
class AssetLoaderZBarrier final : public BasicAssetLoader<ASSET_TYPE_ZBARRIER, ZBarrierDef>
|
||||
class AssetLoaderZBarrier final : public BasicAssetLoader<AssetZBarrier>
|
||||
{
|
||||
static void CalculateZBarrierFields(ZBarrierDef* zbarrier);
|
||||
|
||||
|
@ -44,59 +44,56 @@ namespace T6
|
||||
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(AssetLoaderPhysPreset)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderPhysConstraints)
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_DESTRUCTIBLEDEF, DestructibleDef))
|
||||
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(BasicAssetLoader<AssetDestructibleDef>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetXAnim>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetXModel>)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderMaterial)
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet))
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetTechniqueSet>)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderGfxImage)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderSoundBank)
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SOUND_PATCH, SndPatch))
|
||||
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(BasicAssetLoader<AssetSoundPatch>)
|
||||
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(AssetLoaderFontIcon)
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MENULIST, MenuList))
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MENU, menuDef_t))
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMenuList>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMenu>)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderLocalizeEntry)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderWeapon)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderWeaponAttachment)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderWeaponAttachmentUnique)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderWeaponCamo)
|
||||
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<AssetSoundDriverGlobals>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetFx>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetImpactFx>)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderRawFile)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderStringTable)
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_LEADERBOARD, LeaderboardDef))
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XGLOBALS, XGlobals))
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_DDL, ddlRoot_t))
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GLASSES, Glasses))
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_EMBLEMSET, EmblemSet))
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetLeaderBoard>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetXGlobals>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetDDL>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetGlasses>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetEmblemSet>)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderScriptParseTree)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderVehicle)
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MEMORYBLOCK, MemoryBlock))
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts))
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetMemoryBlock>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetAddonMapEnts>)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderTracer)
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SKINNEDVERTS, SkinnedVertsDef))
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetSkinnedVerts>)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderQdb)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderSlug)
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FOOTSTEP_TABLE, FootstepTableDef))
|
||||
REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FOOTSTEPFX_TABLE, FootstepFXTableDef))
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetFootstepTable>)
|
||||
REGISTER_ASSET_LOADER(BasicAssetLoader<AssetFootstepFxTable>)
|
||||
REGISTER_ASSET_LOADER(AssetLoaderZBarrier)
|
||||
|
||||
#undef BASIC_LOADER
|
||||
#undef REGISTER_ASSET_LOADER
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user