From a0ff11a857128ddde1387c592489d87700040190 Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 29 Dec 2021 02:51:33 +0100 Subject: [PATCH] Create default GfxImage assets --- .../IW4/AssetLoaders/AssetLoaderGfxImage.cpp | 17 +++++++++++++++++ .../Game/IW4/AssetLoaders/AssetLoaderGfxImage.h | 14 ++++++++++++++ src/ObjLoading/Game/IW4/ObjLoaderIW4.cpp | 3 ++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxImage.cpp create mode 100644 src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxImage.h diff --git a/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxImage.cpp b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxImage.cpp new file mode 100644 index 00000000..86d1ac25 --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxImage.cpp @@ -0,0 +1,17 @@ +#include "AssetLoaderGfxImage.h" + +#include + +#include "ObjLoading.h" +#include "Game/IW4/IW4.h" +#include "Pool/GlobalAssetPool.h" + +using namespace IW4; + +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/IW4/AssetLoaders/AssetLoaderGfxImage.h b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxImage.h new file mode 100644 index 00000000..911fe22d --- /dev/null +++ b/src/ObjLoading/Game/IW4/AssetLoaders/AssetLoaderGfxImage.h @@ -0,0 +1,14 @@ +#pragma once + +#include "Game/IW4/IW4.h" +#include "AssetLoading/BasicAssetLoader.h" +#include "SearchPath/ISearchPath.h" + +namespace IW4 +{ + class AssetLoaderGfxImage 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 8e576100..b38deaee 100644 --- a/src/ObjLoading/Game/IW4/ObjLoaderIW4.cpp +++ b/src/ObjLoading/Game/IW4/ObjLoaderIW4.cpp @@ -4,6 +4,7 @@ #include "Game/IW4/GameAssetPoolIW4.h" #include "ObjContainer/IPak/IPak.h" #include "ObjLoading.h" +#include "AssetLoaders/AssetLoaderGfxImage.h" #include "AssetLoaders/AssetLoaderLocalizeEntry.h" #include "AssetLoaders/AssetLoaderMaterial.h" #include "AssetLoaders/AssetLoaderMenuList.h" @@ -31,7 +32,7 @@ ObjLoader::ObjLoader() 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(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))