diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderAddonMapEnts.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderAddonMapEnts.cpp new file mode 100644 index 00000000..6c0c2ea6 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderAddonMapEnts.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderAddonMapEnts.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderAddonMapEnts.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderAddonMapEnts.h new file mode 100644 index 00000000..20c1be55 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderAddonMapEnts.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderAddonMapEnts final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderClipMap.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderClipMap.cpp new file mode 100644 index 00000000..84730867 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderClipMap.cpp @@ -0,0 +1,27 @@ +#include "AssetLoaderClipMap.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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; +} + +asset_type_t AssetLoaderClipMapSp::GetHandlingAssetType() const +{ + return ASSET_TYPE_CLIPMAP_SP; +} + +asset_type_t AssetLoaderClipMapMp::GetHandlingAssetType() const +{ + return ASSET_TYPE_CLIPMAP_MP; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderClipMap.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderClipMap.h new file mode 100644 index 00000000..a0ced2d6 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderClipMap.h @@ -0,0 +1,25 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderClipMap : public BasicAssetLoader + { + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; + + class AssetLoaderClipMapSp final : public AssetLoaderClipMap + { + public: + _NODISCARD asset_type_t GetHandlingAssetType() const override; + }; + + class AssetLoaderClipMapMp final : public AssetLoaderClipMap + { + public: + _NODISCARD asset_type_t GetHandlingAssetType() const override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderComWorld.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderComWorld.cpp new file mode 100644 index 00000000..931b72e4 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderComWorld.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderComWorld.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderComWorld.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderComWorld.h new file mode 100644 index 00000000..3490a46a --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderComWorld.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderComWorld final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFont.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFont.cpp new file mode 100644 index 00000000..8accee5d --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFont.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderFont.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderFont.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFont.h new file mode 100644 index 00000000..4ed08bee --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFont.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderFont final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFx.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFx.cpp new file mode 100644 index 00000000..5c12e978 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFx.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderFx.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderFx.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFx.h new file mode 100644 index 00000000..b76aa0eb --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFx.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderFx final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxImpactTable.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxImpactTable.cpp new file mode 100644 index 00000000..59b282e5 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxImpactTable.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderFxImpactTable.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderFxImpactTable.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxImpactTable.h new file mode 100644 index 00000000..5ab9bb86 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxImpactTable.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderFxImpactTable final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxWorld.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxWorld.cpp new file mode 100644 index 00000000..945a84cc --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxWorld.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderFxWorld.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderFxWorld.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxWorld.h new file mode 100644 index 00000000..e914e741 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderFxWorld.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderFxWorld final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldMp.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldMp.cpp new file mode 100644 index 00000000..b2100227 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldMp.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGameWorldMp.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderGameWorldMp::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* gameWorld = memory->Create(); + memset(gameWorld, 0, sizeof(GameWorldMp)); + gameWorld->name = memory->Dup(assetName.c_str()); + return gameWorld; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldMp.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldMp.h new file mode 100644 index 00000000..3fafb225 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldMp.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderGameWorldMp final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldSp.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldSp.cpp new file mode 100644 index 00000000..82788b63 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldSp.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGameWorldSp.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderGameWorldSp::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* gameWorld = memory->Create(); + memset(gameWorld, 0, sizeof(GameWorldSp)); + gameWorld->name = memory->Dup(assetName.c_str()); + return gameWorld; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldSp.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldSp.h new file mode 100644 index 00000000..e0d03d16 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGameWorldSp.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderGameWorldSp final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxLightDef.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxLightDef.cpp new file mode 100644 index 00000000..2f16d842 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxLightDef.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGfxLightDef.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderGfxLightDef.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxLightDef.h new file mode 100644 index 00000000..133f0d5d --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxLightDef.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderGfxLightDef final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxWorld.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxWorld.cpp new file mode 100644 index 00000000..8676b1d7 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxWorld.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGfxWorld.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderGfxWorld.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxWorld.h new file mode 100644 index 00000000..ae6ec95f --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxWorld.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderGfxWorld final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLeaderboard.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLeaderboard.cpp new file mode 100644 index 00000000..49e965be --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLeaderboard.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderLeaderboard.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderLeaderboard.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLeaderboard.h new file mode 100644 index 00000000..f10497e4 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLeaderboard.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderLeaderboard final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLoadedSound.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLoadedSound.cpp new file mode 100644 index 00000000..e0d50947 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLoadedSound.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderLoadedSound.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderLoadedSound.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLoadedSound.h new file mode 100644 index 00000000..14a0e2bd --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderLoadedSound.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderLoadedSound final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMapEnts.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMapEnts.cpp new file mode 100644 index 00000000..627e66b2 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMapEnts.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderMapEnts.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderMapEnts.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMapEnts.h new file mode 100644 index 00000000..28adc57c --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderMapEnts.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderMapEnts final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysCollmap.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysCollmap.cpp new file mode 100644 index 00000000..c838edbf --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysCollmap.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderPhysCollmap.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderPhysCollmap.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysCollmap.h new file mode 100644 index 00000000..3464be72 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysCollmap.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderPhysCollmap final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysPreset.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysPreset.cpp new file mode 100644 index 00000000..fff18b2a --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysPreset.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderPhysPreset.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderPhysPreset.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysPreset.h new file mode 100644 index 00000000..277a63c9 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPhysPreset.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderPhysPreset final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPixelShader.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPixelShader.cpp new file mode 100644 index 00000000..2a7a1ced --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPixelShader.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderPixelShader.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderPixelShader.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPixelShader.h new file mode 100644 index 00000000..f85a4c4a --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderPixelShader.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderPixelShader final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSndCurve.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSndCurve.cpp new file mode 100644 index 00000000..fb864e64 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSndCurve.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderSndCurve.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderSndCurve::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/IW4/AssetLoaders/AssetLoaderSndCurve.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSndCurve.h new file mode 100644 index 00000000..505b18bf --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSndCurve.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderSndCurve final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSoundAliasList.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSoundAliasList.cpp new file mode 100644 index 00000000..7ec9e48c --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSoundAliasList.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderSoundAliasList.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderSoundAliasList.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSoundAliasList.h new file mode 100644 index 00000000..42b2d6bf --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderSoundAliasList.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderSoundAliasList final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStringTable.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStringTable.cpp new file mode 100644 index 00000000..a78c1c26 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStringTable.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderStringTable.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderStringTable::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* stringTable = memory->Create(); + memset(stringTable, 0, sizeof(StringTable)); + stringTable->name = memory->Dup(assetName.c_str()); + return stringTable; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStringTable.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStringTable.h new file mode 100644 index 00000000..4fb57ceb --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStringTable.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderStringTable final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStructuredDataDefSet.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStructuredDataDefSet.cpp new file mode 100644 index 00000000..4360e57a --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStructuredDataDefSet.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderStructuredDataDefSet.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderStructuredDataDefSet::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/IW4/AssetLoaders/AssetLoaderStructuredDataDefSet.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStructuredDataDefSet.h new file mode 100644 index 00000000..7491eb63 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderStructuredDataDefSet.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderStructuredDataDefSet final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTechniqueSet.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTechniqueSet.cpp new file mode 100644 index 00000000..dfbcd305 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTechniqueSet.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderTechniqueSet.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderTechniqueSet::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* techset = memory->Create(); + memset(techset, 0, sizeof(MaterialTechniqueSet)); + techset->name = memory->Dup(assetName.c_str()); + return techset; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTechniqueSet.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTechniqueSet.h new file mode 100644 index 00000000..a421f6f0 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTechniqueSet.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderTechniqueSet final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTracer.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTracer.cpp new file mode 100644 index 00000000..f7ca05b6 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTracer.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderTracer.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderTracer::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* tracer = memory->Create(); + memset(tracer, 0, sizeof(TracerDef)); + tracer->name = memory->Dup(assetName.c_str()); + return tracer; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTracer.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTracer.h new file mode 100644 index 00000000..44e855e1 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderTracer.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderTracer final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVehicle.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVehicle.cpp new file mode 100644 index 00000000..55e12a1f --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVehicle.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderVehicle.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderVehicle::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* vehicle = memory->Create(); + memset(vehicle, 0, sizeof(VehicleDef)); + vehicle->name = memory->Dup(assetName.c_str()); + return vehicle; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVehicle.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVehicle.h new file mode 100644 index 00000000..26ef3e37 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVehicle.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderVehicle final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexDecl.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexDecl.cpp new file mode 100644 index 00000000..9588ae76 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexDecl.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderVertexDecl.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderVertexDecl.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexDecl.h new file mode 100644 index 00000000..0a568bb7 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexDecl.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderVertexDecl final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexShader.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexShader.cpp new file mode 100644 index 00000000..b977d35a --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexShader.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderVertexShader.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderVertexShader.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexShader.h new file mode 100644 index 00000000..647543de --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderVertexShader.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderVertexShader final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderWeapon.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderWeapon.cpp new file mode 100644 index 00000000..dec4e5b6 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderWeapon.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderWeapon.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +void* AssetLoaderWeapon::CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) +{ + auto* weapon = memory->Create(); + memset(weapon, 0, sizeof(WeaponCompleteDef)); + weapon->szInternalName = memory->Dup(assetName.c_str()); + return weapon; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderWeapon.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderWeapon.h new file mode 100644 index 00000000..6640e946 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderWeapon.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderWeapon final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXAnim.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXAnim.cpp new file mode 100644 index 00000000..bb1a275b --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXAnim.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderXAnim.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderXAnim.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXAnim.h new file mode 100644 index 00000000..a3d98d3f --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXAnim.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderXAnim final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModel.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModel.cpp new file mode 100644 index 00000000..c8f43cfa --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModel.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderXModel.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderXModel.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModel.h new file mode 100644 index 00000000..b5e79d12 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModel.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderXModel final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModelSurfs.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModelSurfs.cpp new file mode 100644 index 00000000..ba8caa7b --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModelSurfs.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderXModelSurfs.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderXModelSurfs.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModelSurfs.h new file mode 100644 index 00000000..f9326ee7 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderXModelSurfs.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderXModelSurfs final : public BasicAssetLoader + { + public: + _NODISCARD void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) override; + }; +} diff --git a/src/ObjLoading/Game/IW4/ObjLoaderIW4.cpp b/src/ObjLoading/Game/IW4/ObjLoaderIW4.cpp index b38deaee..6bb43793 100644 --- a/src/ObjLoading/Game/IW4/ObjLoaderIW4.cpp +++ b/src/ObjLoading/Game/IW4/ObjLoaderIW4.cpp @@ -4,11 +4,42 @@ #include "Game/IW4/GameAssetPoolIW4.h" #include "ObjContainer/IPak/IPak.h" #include "ObjLoading.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/AssetLoaderGameWorldMp.h" +#include "AssetLoaders/AssetLoaderGameWorldSp.h" #include "AssetLoaders/AssetLoaderGfxImage.h" +#include "AssetLoaders/AssetLoaderGfxLightDef.h" +#include "AssetLoaders/AssetLoaderGfxWorld.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/AssetLoaderPhysCollmap.h" +#include "AssetLoaders/AssetLoaderPhysPreset.h" +#include "AssetLoaders/AssetLoaderPixelShader.h" #include "AssetLoaders/AssetLoaderRawFile.h" +#include "AssetLoaders/AssetLoaderSndCurve.h" +#include "AssetLoaders/AssetLoaderSoundAliasList.h" +#include "AssetLoaders/AssetLoaderStringTable.h" +#include "AssetLoaders/AssetLoaderStructuredDataDefSet.h" +#include "AssetLoaders/AssetLoaderTechniqueSet.h" +#include "AssetLoaders/AssetLoaderTracer.h" +#include "AssetLoaders/AssetLoaderVehicle.h" +#include "AssetLoaders/AssetLoaderVertexDecl.h" +#include "AssetLoaders/AssetLoaderVertexShader.h" +#include "AssetLoaders/AssetLoaderWeapon.h" +#include "AssetLoaders/AssetLoaderXAnim.h" +#include "AssetLoaders/AssetLoaderXModel.h" +#include "AssetLoaders/AssetLoaderXModelSurfs.h" #include "AssetLoading/AssetLoadingManager.h" #include "Image/Dx9TextureLoader.h" #include "Image/Texture.h" @@ -20,47 +51,45 @@ using namespace IW4; ObjLoader::ObjLoader() { #define REGISTER_ASSET_LOADER(t) {auto l = std::make_unique(); m_asset_loaders_by_type[l->GetHandlingAssetType()] = std::move(l);} -#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(AssetLoaderPixelShader) + REGISTER_ASSET_LOADER(AssetLoaderVertexShader) + REGISTER_ASSET_LOADER(AssetLoaderVertexDecl) + REGISTER_ASSET_LOADER(AssetLoaderTechniqueSet) 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_SP, clipMap_t)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_CLIPMAP_MP, 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_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(AssetLoaderSoundAliasList) + REGISTER_ASSET_LOADER(AssetLoaderSndCurve) + REGISTER_ASSET_LOADER(AssetLoaderLoadedSound) + REGISTER_ASSET_LOADER(AssetLoaderClipMapSp) + REGISTER_ASSET_LOADER(AssetLoaderClipMapMp) + REGISTER_ASSET_LOADER(AssetLoaderComWorld) + REGISTER_ASSET_LOADER(AssetLoaderGameWorldSp) + REGISTER_ASSET_LOADER(AssetLoaderGameWorldMp) + 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(BASIC_LOADER(ASSET_TYPE_MENU, menuDef_t)) + REGISTER_ASSET_LOADER(AssetLoaderMenuDef) REGISTER_ASSET_LOADER(AssetLoaderLocalizeEntry) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_WEAPON, WeaponCompleteDef)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_FX, FxEffectDef)) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_IMPACT_FX, FxImpactTable)) + REGISTER_ASSET_LOADER(AssetLoaderWeapon) + REGISTER_ASSET_LOADER(AssetLoaderFx) + REGISTER_ASSET_LOADER(AssetLoaderFxImpactTable) REGISTER_ASSET_LOADER(AssetLoaderRawFile) - REGISTER_ASSET_LOADER(BASIC_LOADER(ASSET_TYPE_STRINGTABLE, StringTable)) - 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)) - -#undef BASIC_LOADER + REGISTER_ASSET_LOADER(AssetLoaderStringTable) + REGISTER_ASSET_LOADER(AssetLoaderLeaderboard) + REGISTER_ASSET_LOADER(AssetLoaderStructuredDataDefSet) + REGISTER_ASSET_LOADER(AssetLoaderTracer) + REGISTER_ASSET_LOADER(AssetLoaderVehicle) + REGISTER_ASSET_LOADER(AssetLoaderAddonMapEnts) + #undef REGISTER_ASSET_LOADER }