From 15440e8d664098e74be3545bfb9affb6c2a1f427 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 24 May 2024 19:17:07 +0200 Subject: [PATCH] feat: add loader for creating empty assets for all remaining iw5 asset types --- .../AssetLoaders/AssetLoaderAddonMapEnts.cpp | 17 ++++ .../AssetLoaders/AssetLoaderAddonMapEnts.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderClipMap.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderClipMap.h | 13 +++ .../IW5/AssetLoaders/AssetLoaderComWorld.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderComWorld.h | 14 +++ .../Game/IW5/AssetLoaders/AssetLoaderFont.cpp | 17 ++++ .../Game/IW5/AssetLoaders/AssetLoaderFont.h | 14 +++ .../Game/IW5/AssetLoaders/AssetLoaderFx.cpp | 17 ++++ .../Game/IW5/AssetLoaders/AssetLoaderFx.h | 14 +++ .../AssetLoaders/AssetLoaderFxImpactTable.cpp | 17 ++++ .../AssetLoaders/AssetLoaderFxImpactTable.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderFxWorld.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderFxWorld.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderGfxImage.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderGfxImage.h | 14 +++ .../AssetLoaders/AssetLoaderGfxLightDef.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderGfxLightDef.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderGfxWorld.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderGfxWorld.h | 14 +++ .../AssetLoaders/AssetLoaderGlassWorld.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderGlassWorld.h | 14 +++ .../AssetLoaders/AssetLoaderLeaderboard.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderLeaderboard.h | 14 +++ .../AssetLoaders/AssetLoaderLoadedSound.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderLoadedSound.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderMapEnts.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderMapEnts.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderPathData.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderPathData.h | 14 +++ .../AssetLoaders/AssetLoaderPhysCollmap.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderPhysCollmap.h | 14 +++ .../AssetLoaders/AssetLoaderPhysPreset.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderPhysPreset.h | 14 +++ .../AssetLoaders/AssetLoaderPixelShader.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderPixelShader.h | 14 +++ .../AssetLoaderSoundAliasList.cpp | 17 ++++ .../AssetLoaders/AssetLoaderSoundAliasList.h | 14 +++ .../AssetLoaders/AssetLoaderSoundCurve.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderSoundCurve.h | 14 +++ .../AssetLoaderStructuredDataDef.cpp | 17 ++++ .../AssetLoaderStructuredDataDef.h | 14 +++ .../AssetLoaderSurfaceFxTable.cpp | 17 ++++ .../AssetLoaders/AssetLoaderSurfaceFxTable.h | 14 +++ .../AssetLoaders/AssetLoaderTechniqueSet.cpp | 17 ++++ .../AssetLoaders/AssetLoaderTechniqueSet.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderTracerDef.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderTracerDef.h | 14 +++ .../AssetLoaders/AssetLoaderVehicleDef.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderVehicleDef.h | 14 +++ .../AssetLoaders/AssetLoaderVehicleTrack.cpp | 17 ++++ .../AssetLoaders/AssetLoaderVehicleTrack.h | 14 +++ .../AssetLoaders/AssetLoaderVertexDecl.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderVertexDecl.h | 14 +++ .../AssetLoaders/AssetLoaderVertexShader.cpp | 17 ++++ .../AssetLoaders/AssetLoaderVertexShader.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderXAnim.cpp | 17 ++++ .../Game/IW5/AssetLoaders/AssetLoaderXAnim.h | 14 +++ .../IW5/AssetLoaders/AssetLoaderXModel.cpp | 17 ++++ .../Game/IW5/AssetLoaders/AssetLoaderXModel.h | 14 +++ .../AssetLoaders/AssetLoaderXModelSurfs.cpp | 17 ++++ .../IW5/AssetLoaders/AssetLoaderXModelSurfs.h | 14 +++ src/ObjLoading/Game/IW5/ObjLoaderIW5.cpp | 93 ++++++++++++------- 63 files changed, 1022 insertions(+), 31 deletions(-) create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderAddonMapEnts.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderAddonMapEnts.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderClipMap.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderClipMap.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderComWorld.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderComWorld.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFont.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFont.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFx.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFx.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxImpactTable.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxImpactTable.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxWorld.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxWorld.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxImage.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxImage.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxLightDef.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxLightDef.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxWorld.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxWorld.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGlassWorld.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGlassWorld.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLeaderboard.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLeaderboard.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLoadedSound.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLoadedSound.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderMapEnts.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderMapEnts.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPathData.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPathData.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysCollmap.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysCollmap.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysPreset.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysPreset.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPixelShader.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPixelShader.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundAliasList.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundAliasList.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundCurve.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundCurve.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderStructuredDataDef.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderStructuredDataDef.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSurfaceFxTable.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSurfaceFxTable.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTechniqueSet.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTechniqueSet.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTracerDef.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTracerDef.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleDef.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleDef.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleTrack.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleTrack.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexDecl.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexDecl.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexShader.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexShader.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXAnim.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXAnim.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModel.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModel.h create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModelSurfs.cpp create mode 100644 src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModelSurfs.h diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderAddonMapEnts.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderAddonMapEnts.cpp new file mode 100644 index 00000000..c3109c50 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderAddonMapEnts.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderAddonMapEnts.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderAddonMapEnts::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* addonMapEnts = memory->Create(); + memset(addonMapEnts, 0, sizeof(AddonMapEnts)); + addonMapEnts->name = memory->Dup(assetName.c_str()); + return addonMapEnts; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderAddonMapEnts.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderAddonMapEnts.h new file mode 100644 index 00000000..7c436fdc --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderAddonMapEnts.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderAddonMapEnts final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderClipMap.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderClipMap.cpp new file mode 100644 index 00000000..3f0e93b0 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderClipMap.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderClipMap.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderClipMap::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* clipMap = memory->Create(); + memset(clipMap, 0, sizeof(clipMap_t)); + clipMap->name = memory->Dup(assetName.c_str()); + return clipMap; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderClipMap.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderClipMap.h new file mode 100644 index 00000000..86e27f49 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderClipMap.h @@ -0,0 +1,13 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderClipMap : public BasicAssetLoader + { + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderComWorld.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderComWorld.cpp new file mode 100644 index 00000000..6cb25175 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderComWorld.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderComWorld.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderComWorld::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* comWorld = memory->Create(); + memset(comWorld, 0, sizeof(ComWorld)); + comWorld->name = memory->Dup(assetName.c_str()); + return comWorld; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderComWorld.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderComWorld.h new file mode 100644 index 00000000..c48daeb6 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderComWorld.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderComWorld final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFont.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFont.cpp new file mode 100644 index 00000000..121d92dc --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFont.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderFont.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderFont::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* font = memory->Create(); + memset(font, 0, sizeof(Font_s)); + font->fontName = memory->Dup(assetName.c_str()); + return font; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFont.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFont.h new file mode 100644 index 00000000..959ad81c --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFont.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderFont final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFx.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFx.cpp new file mode 100644 index 00000000..613ec05f --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFx.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderFx.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderFx::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* fx = memory->Create(); + memset(fx, 0, sizeof(FxEffectDef)); + fx->name = memory->Dup(assetName.c_str()); + return fx; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFx.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFx.h new file mode 100644 index 00000000..d9818e15 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFx.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderFx final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxImpactTable.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxImpactTable.cpp new file mode 100644 index 00000000..f6a4c7bf --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxImpactTable.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderFxImpactTable.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderFxImpactTable::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* fxImpactTable = memory->Create(); + memset(fxImpactTable, 0, sizeof(FxImpactTable)); + fxImpactTable->name = memory->Dup(assetName.c_str()); + return fxImpactTable; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxImpactTable.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxImpactTable.h new file mode 100644 index 00000000..8eb06d7f --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxImpactTable.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderFxImpactTable final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxWorld.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxWorld.cpp new file mode 100644 index 00000000..45b83494 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxWorld.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderFxWorld.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderFxWorld::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* fxWorld = memory->Create(); + memset(fxWorld, 0, sizeof(FxWorld)); + fxWorld->name = memory->Dup(assetName.c_str()); + return fxWorld; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxWorld.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxWorld.h new file mode 100644 index 00000000..4f50f068 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderFxWorld.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderFxWorld final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxImage.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxImage.cpp new file mode 100644 index 00000000..42ea92ac --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxImage.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGfxImage.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderGfxImage::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* image = memory->Create(); + memset(image, 0, sizeof(GfxImage)); + image->name = memory->Dup(assetName.c_str()); + return image; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxImage.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxImage.h new file mode 100644 index 00000000..8f7a9f41 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxImage.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderGfxImage final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxLightDef.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxLightDef.cpp new file mode 100644 index 00000000..d2bf64d3 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxLightDef.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGfxLightDef.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderGfxLightDef::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* lightDef = memory->Create(); + memset(lightDef, 0, sizeof(GfxLightDef)); + lightDef->name = memory->Dup(assetName.c_str()); + return lightDef; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxLightDef.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxLightDef.h new file mode 100644 index 00000000..f835ae77 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxLightDef.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderGfxLightDef final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxWorld.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxWorld.cpp new file mode 100644 index 00000000..40775533 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxWorld.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGfxWorld.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderGfxWorld::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* gfxWorld = memory->Create(); + memset(gfxWorld, 0, sizeof(GfxWorld)); + gfxWorld->name = memory->Dup(assetName.c_str()); + return gfxWorld; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxWorld.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxWorld.h new file mode 100644 index 00000000..fd374cf2 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGfxWorld.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderGfxWorld final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGlassWorld.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGlassWorld.cpp new file mode 100644 index 00000000..418a844b --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGlassWorld.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGlassWorld.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderGlassWorld::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* glassWorld = memory->Create(); + memset(glassWorld, 0, sizeof(GlassWorld)); + glassWorld->name = memory->Dup(assetName.c_str()); + return glassWorld; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGlassWorld.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGlassWorld.h new file mode 100644 index 00000000..cbea3768 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderGlassWorld.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderGlassWorld final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLeaderboard.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLeaderboard.cpp new file mode 100644 index 00000000..a1dce05f --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLeaderboard.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderLeaderboard.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderLeaderboard::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* leaderboard = memory->Create(); + memset(leaderboard, 0, sizeof(LeaderboardDef)); + leaderboard->name = memory->Dup(assetName.c_str()); + return leaderboard; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLeaderboard.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLeaderboard.h new file mode 100644 index 00000000..4c4cb9c1 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLeaderboard.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderLeaderboard final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLoadedSound.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLoadedSound.cpp new file mode 100644 index 00000000..26a1106d --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLoadedSound.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderLoadedSound.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderLoadedSound::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* loadedSound = memory->Create(); + memset(loadedSound, 0, sizeof(LoadedSound)); + loadedSound->name = memory->Dup(assetName.c_str()); + return loadedSound; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLoadedSound.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLoadedSound.h new file mode 100644 index 00000000..d1f49793 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderLoadedSound.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderLoadedSound final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderMapEnts.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderMapEnts.cpp new file mode 100644 index 00000000..07f7781e --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderMapEnts.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderMapEnts.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderMapEnts::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* mapEnts = memory->Create(); + memset(mapEnts, 0, sizeof(MapEnts)); + mapEnts->name = memory->Dup(assetName.c_str()); + return mapEnts; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderMapEnts.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderMapEnts.h new file mode 100644 index 00000000..a00cc614 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderMapEnts.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderMapEnts final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPathData.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPathData.cpp new file mode 100644 index 00000000..e9959372 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPathData.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderPathData.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderPathData::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* pathData = memory->Create(); + memset(pathData, 0, sizeof(PathData)); + pathData->name = memory->Dup(assetName.c_str()); + return pathData; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPathData.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPathData.h new file mode 100644 index 00000000..6777c625 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPathData.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderPathData final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysCollmap.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysCollmap.cpp new file mode 100644 index 00000000..544ad3ea --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysCollmap.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderPhysCollmap.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderPhysCollmap::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* collmap = memory->Create(); + memset(collmap, 0, sizeof(PhysCollmap)); + collmap->name = memory->Dup(assetName.c_str()); + return collmap; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysCollmap.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysCollmap.h new file mode 100644 index 00000000..2edb3742 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysCollmap.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderPhysCollmap final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysPreset.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysPreset.cpp new file mode 100644 index 00000000..ecfa646b --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysPreset.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderPhysPreset.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderPhysPreset::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* physPreset = memory->Create(); + memset(physPreset, 0, sizeof(PhysPreset)); + physPreset->name = memory->Dup(assetName.c_str()); + return physPreset; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysPreset.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysPreset.h new file mode 100644 index 00000000..c6f9e262 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPhysPreset.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderPhysPreset final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPixelShader.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPixelShader.cpp new file mode 100644 index 00000000..787118a7 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPixelShader.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderPixelShader.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderPixelShader::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* pixelShader = memory->Create(); + memset(pixelShader, 0, sizeof(MaterialPixelShader)); + pixelShader->name = memory->Dup(assetName.c_str()); + return pixelShader; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPixelShader.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPixelShader.h new file mode 100644 index 00000000..0b24cf3f --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderPixelShader.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderPixelShader final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundAliasList.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundAliasList.cpp new file mode 100644 index 00000000..0a581719 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundAliasList.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderSoundAliasList.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderSoundAliasList::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* sndAliasList = memory->Create(); + memset(sndAliasList, 0, sizeof(snd_alias_list_t)); + sndAliasList->aliasName = memory->Dup(assetName.c_str()); + return sndAliasList; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundAliasList.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundAliasList.h new file mode 100644 index 00000000..aa9f5076 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundAliasList.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderSoundAliasList final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundCurve.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundCurve.cpp new file mode 100644 index 00000000..5d786501 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundCurve.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderSoundCurve.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderSoundCurve::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* sndCurve = memory->Create(); + memset(sndCurve, 0, sizeof(SndCurve)); + sndCurve->filename = memory->Dup(assetName.c_str()); + return sndCurve; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundCurve.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundCurve.h new file mode 100644 index 00000000..454f1e23 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSoundCurve.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderSoundCurve final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderStructuredDataDef.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderStructuredDataDef.cpp new file mode 100644 index 00000000..bc52d984 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderStructuredDataDef.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderStructuredDataDef.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderStructuredDataDef::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* structuredDataDefSet = memory->Create(); + memset(structuredDataDefSet, 0, sizeof(StructuredDataDefSet)); + structuredDataDefSet->name = memory->Dup(assetName.c_str()); + return structuredDataDefSet; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderStructuredDataDef.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderStructuredDataDef.h new file mode 100644 index 00000000..3cd107b5 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderStructuredDataDef.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderStructuredDataDef final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSurfaceFxTable.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSurfaceFxTable.cpp new file mode 100644 index 00000000..82cfd398 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSurfaceFxTable.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderSurfaceFxTable.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderSurfaceFxTable::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* surfaceFxTable = memory->Create(); + memset(surfaceFxTable, 0, sizeof(SurfaceFxTable)); + surfaceFxTable->name = memory->Dup(assetName.c_str()); + return surfaceFxTable; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSurfaceFxTable.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSurfaceFxTable.h new file mode 100644 index 00000000..390ad667 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderSurfaceFxTable.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderSurfaceFxTable final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTechniqueSet.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTechniqueSet.cpp new file mode 100644 index 00000000..81aae5d7 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTechniqueSet.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderTechniqueSet.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderTechniqueSet::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* techniqueSet = memory->Create(); + memset(techniqueSet, 0, sizeof(MaterialTechniqueSet)); + techniqueSet->name = memory->Dup(assetName.c_str()); + return techniqueSet; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTechniqueSet.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTechniqueSet.h new file mode 100644 index 00000000..df4a7265 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTechniqueSet.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderTechniqueSet final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTracerDef.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTracerDef.cpp new file mode 100644 index 00000000..91bf73f6 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTracerDef.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderTracerDef.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderTracerDef::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* tracerDef = memory->Create(); + memset(tracerDef, 0, sizeof(TracerDef)); + tracerDef->name = memory->Dup(assetName.c_str()); + return tracerDef; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTracerDef.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTracerDef.h new file mode 100644 index 00000000..3efda088 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderTracerDef.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderTracerDef final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleDef.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleDef.cpp new file mode 100644 index 00000000..f60fca54 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleDef.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderVehicleDef.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderVehicleDef::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* vehicleDef = memory->Create(); + memset(vehicleDef, 0, sizeof(VehicleDef)); + vehicleDef->name = memory->Dup(assetName.c_str()); + return vehicleDef; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleDef.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleDef.h new file mode 100644 index 00000000..c2390077 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleDef.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderVehicleDef final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleTrack.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleTrack.cpp new file mode 100644 index 00000000..4db1cb43 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleTrack.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderVehicleTrack.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderVehicleTrack::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* vehicleTrack = memory->Create(); + memset(vehicleTrack, 0, sizeof(VehicleTrack)); + vehicleTrack->name = memory->Dup(assetName.c_str()); + return vehicleTrack; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleTrack.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleTrack.h new file mode 100644 index 00000000..747d7aeb --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVehicleTrack.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderVehicleTrack final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexDecl.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexDecl.cpp new file mode 100644 index 00000000..96be5b97 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexDecl.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderVertexDecl.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderVertexDecl::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* vertexDecl = memory->Create(); + memset(vertexDecl, 0, sizeof(MaterialVertexDeclaration)); + vertexDecl->name = memory->Dup(assetName.c_str()); + return vertexDecl; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexDecl.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexDecl.h new file mode 100644 index 00000000..0859e5da --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexDecl.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderVertexDecl final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexShader.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexShader.cpp new file mode 100644 index 00000000..267f1c76 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexShader.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderVertexShader.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderVertexShader::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* vertexShader = memory->Create(); + memset(vertexShader, 0, sizeof(MaterialVertexShader)); + vertexShader->name = memory->Dup(assetName.c_str()); + return vertexShader; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexShader.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexShader.h new file mode 100644 index 00000000..492e40a8 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderVertexShader.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderVertexShader final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXAnim.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXAnim.cpp new file mode 100644 index 00000000..0f0cc5e8 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXAnim.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderXAnim.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderXAnim::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* anim = memory->Create(); + memset(anim, 0, sizeof(XAnimParts)); + anim->name = memory->Dup(assetName.c_str()); + return anim; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXAnim.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXAnim.h new file mode 100644 index 00000000..077acd5f --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXAnim.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderXAnim final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModel.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModel.cpp new file mode 100644 index 00000000..2822c257 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModel.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderXModel.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderXModel::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* model = memory->Create(); + memset(model, 0, sizeof(XModel)); + model->name = memory->Dup(assetName.c_str()); + return model; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModel.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModel.h new file mode 100644 index 00000000..3837f5e5 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModel.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderXModel final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModelSurfs.cpp b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModelSurfs.cpp new file mode 100644 index 00000000..11952da7 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModelSurfs.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderXModelSurfs.h" + +#include "Game/IW5/IW5.h" +#include "ObjLoading.h" +#include "Pool/GlobalAssetPool.h" + +#include + +using namespace IW5; + +void* AssetLoaderXModelSurfs::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* modelSurfs = memory->Create(); + memset(modelSurfs, 0, sizeof(XModelSurfs)); + modelSurfs->name = memory->Dup(assetName.c_str()); + return modelSurfs; +} diff --git a/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModelSurfs.h b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModelSurfs.h new file mode 100644 index 00000000..dfbfd1f9 --- /dev/null +++ b/src/ObjLoading/Game/IW5/AssetLoaders/AssetLoaderXModelSurfs.h @@ -0,0 +1,14 @@ +#pragma once + +#include "AssetLoading/BasicAssetLoader.h" +#include "Game/IW5/IW5.h" +#include "SearchPath/ISearchPath.h" + +namespace IW5 +{ + class AssetLoaderXModelSurfs final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} // namespace IW5 diff --git a/src/ObjLoading/Game/IW5/ObjLoaderIW5.cpp b/src/ObjLoading/Game/IW5/ObjLoaderIW5.cpp index cab88cc9..d577cae1 100644 --- a/src/ObjLoading/Game/IW5/ObjLoaderIW5.cpp +++ b/src/ObjLoading/Game/IW5/ObjLoaderIW5.cpp @@ -1,14 +1,45 @@ #include "ObjLoaderIW5.h" +#include "AssetLoaders/AssetLoaderAddonMapEnts.h" +#include "AssetLoaders/AssetLoaderClipMap.h" +#include "AssetLoaders/AssetLoaderComWorld.h" +#include "AssetLoaders/AssetLoaderFont.h" +#include "AssetLoaders/AssetLoaderFx.h" +#include "AssetLoaders/AssetLoaderFxImpactTable.h" +#include "AssetLoaders/AssetLoaderFxWorld.h" +#include "AssetLoaders/AssetLoaderGfxImage.h" +#include "AssetLoaders/AssetLoaderGfxLightDef.h" +#include "AssetLoaders/AssetLoaderGfxWorld.h" +#include "AssetLoaders/AssetLoaderGlassWorld.h" +#include "AssetLoaders/AssetLoaderLeaderboard.h" +#include "AssetLoaders/AssetLoaderLoadedSound.h" #include "AssetLoaders/AssetLoaderLocalizeEntry.h" +#include "AssetLoaders/AssetLoaderMapEnts.h" #include "AssetLoaders/AssetLoaderMaterial.h" #include "AssetLoaders/AssetLoaderMenuDef.h" #include "AssetLoaders/AssetLoaderMenuList.h" +#include "AssetLoaders/AssetLoaderPathData.h" +#include "AssetLoaders/AssetLoaderPhysCollmap.h" +#include "AssetLoaders/AssetLoaderPhysPreset.h" +#include "AssetLoaders/AssetLoaderPixelShader.h" #include "AssetLoaders/AssetLoaderRawFile.h" #include "AssetLoaders/AssetLoaderScriptFile.h" +#include "AssetLoaders/AssetLoaderSoundAliasList.h" +#include "AssetLoaders/AssetLoaderSoundCurve.h" #include "AssetLoaders/AssetLoaderStringTable.h" +#include "AssetLoaders/AssetLoaderStructuredDataDef.h" +#include "AssetLoaders/AssetLoaderSurfaceFxTable.h" +#include "AssetLoaders/AssetLoaderTechniqueSet.h" +#include "AssetLoaders/AssetLoaderTracerDef.h" +#include "AssetLoaders/AssetLoaderVehicleDef.h" +#include "AssetLoaders/AssetLoaderVehicleTrack.h" +#include "AssetLoaders/AssetLoaderVertexDecl.h" +#include "AssetLoaders/AssetLoaderVertexShader.h" #include "AssetLoaders/AssetLoaderWeapon.h" #include "AssetLoaders/AssetLoaderWeaponAttachment.h" +#include "AssetLoaders/AssetLoaderXAnim.h" +#include "AssetLoaders/AssetLoaderXModel.h" +#include "AssetLoaders/AssetLoaderXModelSurfs.h" #include "AssetLoading/AssetLoadingManager.h" #include "Game/IW5/GameAssetPoolIW5.h" #include "Game/IW5/GameIW5.h" @@ -30,46 +61,46 @@ ObjLoader::ObjLoader() } #define BASIC_LOADER(assetType, assetClass) BasicAssetLoader - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_PHYSPRESET, PhysPreset)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_PHYSCOLLMAP, PhysCollmap)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XANIMPARTS, XAnimParts)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XMODEL_SURFS, XModelSurfs)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_XMODEL, XModel)) + REGISTER_ASSET_LOADER(AssetLoaderPhysPreset) + REGISTER_ASSET_LOADER(AssetLoaderPhysCollmap) + REGISTER_ASSET_LOADER(AssetLoaderXAnim) + REGISTER_ASSET_LOADER(AssetLoaderXModelSurfs) + REGISTER_ASSET_LOADER(AssetLoaderXModel) REGISTER_ASSET_LOADER(AssetLoaderMaterial) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_PIXELSHADER, MaterialPixelShader)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_VERTEXSHADER, MaterialVertexShader)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_IMAGE, GfxImage)) - 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_COMWORLD, ComWorld)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_GLASSWORLD, GlassWorld)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_PATHDATA, PathData)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_VEHICLE_TRACK, VehicleTrack)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_MAP_ENTS, MapEnts)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FXWORLD, FxWorld)) - 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(AssetLoaderPixelShader) + REGISTER_ASSET_LOADER(AssetLoaderVertexShader) + REGISTER_ASSET_LOADER(AssetLoaderVertexDecl) + REGISTER_ASSET_LOADER(AssetLoaderTechniqueSet) + REGISTER_ASSET_LOADER(AssetLoaderGfxImage) + REGISTER_ASSET_LOADER(AssetLoaderSoundAliasList) + REGISTER_ASSET_LOADER(AssetLoaderSoundCurve) + REGISTER_ASSET_LOADER(AssetLoaderLoadedSound) + REGISTER_ASSET_LOADER(AssetLoaderClipMap) + REGISTER_ASSET_LOADER(AssetLoaderComWorld) + REGISTER_ASSET_LOADER(AssetLoaderGlassWorld) + REGISTER_ASSET_LOADER(AssetLoaderPathData) + REGISTER_ASSET_LOADER(AssetLoaderVehicleTrack) + REGISTER_ASSET_LOADER(AssetLoaderMapEnts) + REGISTER_ASSET_LOADER(AssetLoaderFxWorld) + REGISTER_ASSET_LOADER(AssetLoaderGfxWorld) + REGISTER_ASSET_LOADER(AssetLoaderGfxLightDef) + REGISTER_ASSET_LOADER(AssetLoaderFont) REGISTER_ASSET_LOADER(AssetLoaderMenuList) REGISTER_ASSET_LOADER(AssetLoaderMenuDef) REGISTER_ASSET_LOADER(AssetLoaderLocalizeEntry) REGISTER_ASSET_LOADER(AssetLoaderWeaponAttachment) REGISTER_ASSET_LOADER(AssetLoaderWeapon) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FX, FxEffectDef)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_IMPACT_FX, FxImpactTable)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_SURFACE_FX, SurfaceFxTable)) + REGISTER_ASSET_LOADER(AssetLoaderFx) + REGISTER_ASSET_LOADER(AssetLoaderFxImpactTable) + REGISTER_ASSET_LOADER(AssetLoaderSurfaceFxTable) REGISTER_ASSET_LOADER(AssetLoaderRawFile) REGISTER_ASSET_LOADER(AssetLoaderScriptFile) REGISTER_ASSET_LOADER(AssetLoaderStringTable) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_LEADERBOARD, LeaderboardDef)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_STRUCTURED_DATA_DEF, StructuredDataDefSet)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_TRACER, TracerDef)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_VEHICLE, VehicleDef)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts)) + REGISTER_ASSET_LOADER(AssetLoaderLeaderboard) + REGISTER_ASSET_LOADER(AssetLoaderStructuredDataDef) + REGISTER_ASSET_LOADER(AssetLoaderTracerDef) + REGISTER_ASSET_LOADER(AssetLoaderVehicleDef) + REGISTER_ASSET_LOADER(AssetLoaderAddonMapEnts) #undef BASIC_LOADER #undef REGISTER_ASSET_LOADER