diff --git a/src/Linker/ZoneCreation/ZoneCreator.cpp b/src/Linker/ZoneCreation/ZoneCreator.cpp index 52b973dc..48090bde 100644 --- a/src/Linker/ZoneCreation/ZoneCreator.cpp +++ b/src/Linker/ZoneCreation/ZoneCreator.cpp @@ -1,6 +1,5 @@ #include "ZoneCreator.h" -#include "AssetLoading/AssetLoadingContext.h" #include "Gdt/GdtLookup.h" #include "IObjCompiler.h" #include "IObjLoader.h" diff --git a/src/ObjCompiling/IObjCompiler.h b/src/ObjCompiling/IObjCompiler.h index c03a0ef5..e27cc588 100644 --- a/src/ObjCompiling/IObjCompiler.h +++ b/src/ObjCompiling/IObjCompiler.h @@ -1,7 +1,6 @@ #pragma once #include "Asset/AssetCreatorCollection.h" -#include "AssetLoading/AssetLoadingContext.h" #include "SearchPath/ISearchPath.h" #include "Zone/Definition/ZoneDefinition.h" #include "Zone/Zone.h" diff --git a/src/ObjLoading/Asset/AssetCreationContext.h b/src/ObjLoading/Asset/AssetCreationContext.h index b8d3e23d..812ff978 100644 --- a/src/ObjLoading/Asset/AssetCreationContext.h +++ b/src/ObjLoading/Asset/AssetCreationContext.h @@ -1,6 +1,6 @@ #pragma once -#include "AssetLoading/IZoneAssetLoaderState.h" +#include "Asset/IZoneAssetLoaderState.h" #include "AssetRegistration.h" #include "Game/IAsset.h" #include "Pool/XAssetInfo.h" diff --git a/src/ObjLoading/AssetLoading/IZoneAssetLoaderState.h b/src/ObjLoading/Asset/IZoneAssetLoaderState.h similarity index 100% rename from src/ObjLoading/AssetLoading/IZoneAssetLoaderState.h rename to src/ObjLoading/Asset/IZoneAssetLoaderState.h diff --git a/src/ObjLoading/AssetLoading/AssetLoadingContext.cpp b/src/ObjLoading/AssetLoading/AssetLoadingContext.cpp deleted file mode 100644 index dbd2f2cf..00000000 --- a/src/ObjLoading/AssetLoading/AssetLoadingContext.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "AssetLoadingContext.h" - -AssetLoadingContext::AssetLoadingContext(Zone& zone, ISearchPath& rawSearchPath, std::vector gdtFiles) - : m_zone(zone), - m_raw_search_path(rawSearchPath) -{ -} diff --git a/src/ObjLoading/AssetLoading/AssetLoadingContext.h b/src/ObjLoading/AssetLoading/AssetLoadingContext.h deleted file mode 100644 index c57fb6c7..00000000 --- a/src/ObjLoading/AssetLoading/AssetLoadingContext.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include "Gdt/IGdtQueryable.h" -#include "IZoneAssetLoaderState.h" -#include "Obj/Gdt/Gdt.h" -#include "SearchPath/ISearchPath.h" -#include "Zone/Zone.h" - -#include -#include -#include - -class AssetLoadingContext final : public IGdtQueryable -{ -public: - AssetLoadingContext(Zone& zone, ISearchPath& rawSearchPath, std::vector gdtFiles); - GdtEntry* GetGdtEntryByGdfAndName(const std::string& gdfName, const std::string& entryName) override; - - template T* GetZoneAssetLoaderState() - { - static_assert(std::is_base_of_v, "T must inherit IZoneAssetLoaderState"); - // T must also have a public default constructor - - const auto foundEntry = m_zone_asset_loader_states.find(typeid(T)); - if (foundEntry != m_zone_asset_loader_states.end()) - return dynamic_cast(foundEntry->second.get()); - - auto newState = std::make_unique(); - newState->SetZone(&m_zone); - auto* newStatePtr = newState.get(); - m_zone_asset_loader_states.emplace(std::make_pair>(typeid(T), std::move(newState))); - return newStatePtr; - } - -public: - Zone& m_zone; - ISearchPath& m_raw_search_path; - std::unordered_map m_ignored_asset_map; - - std::unordered_map> m_zone_asset_loader_states; -}; diff --git a/src/ObjLoading/AssetLoading/BasicAssetLoader.h b/src/ObjLoading/AssetLoading/BasicAssetLoader.h deleted file mode 100644 index d224fe26..00000000 --- a/src/ObjLoading/AssetLoading/BasicAssetLoader.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once -#include "IAssetLoader.h" -#include "Pool/GlobalAssetPool.h" - -template class BasicAssetLoaderWithoutType : public IAssetLoader -{ -public: - _NODISCARD XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const override - { - return GlobalAssetPool::GetAssetByName(assetName); - } -}; - -template class BasicAssetLoader : public BasicAssetLoaderWithoutType -{ -public: - static_assert(std::is_base_of_v); - - _NODISCARD asset_type_t GetHandlingAssetType() const override - { - return AssetType::EnumEntry; - } -}; diff --git a/src/ObjLoading/AssetLoading/IAssetLoader.h b/src/ObjLoading/AssetLoading/IAssetLoader.h deleted file mode 100644 index 910f6d61..00000000 --- a/src/ObjLoading/AssetLoading/IAssetLoader.h +++ /dev/null @@ -1,54 +0,0 @@ -#pragma once - -#include "Gdt/IGdtQueryable.h" -#include "IAssetLoadingManager.h" -#include "SearchPath/ISearchPath.h" -#include "Utils/ClassUtils.h" -#include "Zone/ZoneTypes.h" - -#include - -class IAssetLoader -{ -public: - IAssetLoader() = default; - virtual ~IAssetLoader() = default; - IAssetLoader(const IAssetLoader& other) = default; - IAssetLoader(IAssetLoader&& other) noexcept = default; - IAssetLoader& operator=(const IAssetLoader& other) = default; - IAssetLoader& operator=(IAssetLoader&& other) noexcept = default; - - _NODISCARD virtual asset_type_t GetHandlingAssetType() const = 0; - _NODISCARD virtual XAssetInfoGeneric* LoadFromGlobalAssetPools(const std::string& assetName) const = 0; - - _NODISCARD virtual void* CreateEmptyAsset(const std::string& assetName, MemoryManager* memory) - { - // TODO: Make this pure virtual - return nullptr; - } - - _NODISCARD virtual bool CanLoadFromGdt() const - { - return false; - } - - _NODISCARD virtual bool CanLoadFromRaw() const - { - return false; - } - - virtual bool LoadFromGdt(const std::string& assetName, IGdtQueryable* gdtQueryable, MemoryManager* memory, IAssetLoadingManager* manager, Zone* zone) const - { - return false; - } - - virtual bool LoadFromRaw(const std::string& assetName, ISearchPath* searchPath, MemoryManager* memory, IAssetLoadingManager* manager, Zone* zone) const - { - return false; - } - - virtual void FinalizeAssetsForZone(AssetLoadingContext& context) const - { - // Do nothing by default - } -}; diff --git a/src/ObjLoading/AssetLoading/IAssetLoadingManager.h b/src/ObjLoading/AssetLoading/IAssetLoadingManager.h deleted file mode 100644 index a8c2f64f..00000000 --- a/src/ObjLoading/AssetLoading/IAssetLoadingManager.h +++ /dev/null @@ -1,89 +0,0 @@ -#pragma once -#include "AssetLoadingContext.h" -#include "Game/IAsset.h" -#include "Pool/XAssetInfo.h" -#include "Utils/ClassUtils.h" -#include "Zone/ZoneTypes.h" - -#include - -class IAssetLoadingManager -{ -public: - IAssetLoadingManager() = default; - virtual ~IAssetLoadingManager() = default; - IAssetLoadingManager(const IAssetLoadingManager& other) = default; - IAssetLoadingManager(IAssetLoadingManager&& other) noexcept = default; - IAssetLoadingManager& operator=(const IAssetLoadingManager& other) = default; - IAssetLoadingManager& operator=(IAssetLoadingManager&& other) noexcept = default; - - _NODISCARD virtual AssetLoadingContext* GetAssetLoadingContext() const = 0; - - template XAssetInfo* AddAsset(const std::string& assetName, typename AssetType::Type* asset) - { - static_assert(std::is_base_of_v); - - return static_cast*>(AddAsset(std::make_unique( - AssetType::EnumEntry, assetName, asset, std::vector(), std::vector(), std::vector()))); - } - - template - XAssetInfo* AddAsset(const std::string& assetName, typename AssetType::Type* asset, std::vector dependencies) - { - static_assert(std::is_base_of_v); - - return static_cast*>(AddAsset(std::make_unique( - AssetType::EnumEntry, assetName, asset, std::move(dependencies), std::vector(), std::vector()))); - } - - template - XAssetInfo* AddAsset(const std::string& assetName, - typename AssetType::Type* asset, - std::vector dependencies, - std::vector usedScriptStrings) - { - static_assert(std::is_base_of_v); - - return static_cast*>(AddAsset(std::make_unique( - AssetType::EnumEntry, assetName, asset, std::move(dependencies), std::move(usedScriptStrings), std::vector()))); - } - - template - XAssetInfo* AddAsset(const std::string& assetName, - typename AssetType::Type* asset, - std::vector dependencies, - std::vector usedScriptStrings, - std::vector indirectAssetReferences) - { - static_assert(std::is_base_of_v); - - return static_cast*>(AddAsset(std::make_unique( - AssetType::EnumEntry, assetName, asset, std::move(dependencies), std::move(usedScriptStrings), std::move(indirectAssetReferences)))); - } - - template XAssetInfo* AddAsset(std::unique_ptr> xAssetInfo) - { - static_assert(std::is_base_of_v); - - return static_cast*>(AddAsset(std::unique_ptr(xAssetInfo.release()))); - } - - template XAssetInfo* LoadDependency(const std::string& assetName) - { - static_assert(std::is_base_of_v); - - return static_cast*>(LoadDependency(AssetType::EnumEntry, assetName)); - } - - template IndirectAssetReference LoadIndirectAssetReference(const std::string& assetName) - { - static_assert(std::is_base_of_v); - - return LoadIndirectAssetReference(AssetType::EnumEntry, assetName); - } - -protected: - virtual XAssetInfoGeneric* AddAsset(std::unique_ptr xAssetInfo) = 0; - virtual XAssetInfoGeneric* LoadDependency(asset_type_t assetType, const std::string& assetName) = 0; - virtual IndirectAssetReference LoadIndirectAssetReference(asset_type_t assetType, const std::string& assetName) = 0; -}; diff --git a/src/ObjLoading/Game/IW4/InfoString/InfoStringToStructConverter.h b/src/ObjLoading/Game/IW4/InfoString/InfoStringToStructConverter.h index 2953e74f..624d63a9 100644 --- a/src/ObjLoading/Game/IW4/InfoString/InfoStringToStructConverter.h +++ b/src/ObjLoading/Game/IW4/InfoString/InfoStringToStructConverter.h @@ -1,6 +1,5 @@ #pragma once -#include "AssetLoading/IAssetLoadingManager.h" #include "Game/IW4/IW4.h" #include "InfoString/InfoStringToStructConverterBase.h" diff --git a/src/ObjLoading/Game/IW4/Material/LoaderMaterialIW4.cpp b/src/ObjLoading/Game/IW4/Material/LoaderMaterialIW4.cpp index 45f6a954..0c51d21f 100644 --- a/src/ObjLoading/Game/IW4/Material/LoaderMaterialIW4.cpp +++ b/src/ObjLoading/Game/IW4/Material/LoaderMaterialIW4.cpp @@ -1,12 +1,12 @@ #include "LoaderMaterialIW4.h" -#include "AssetLoading/AbstractGdtEntryReader.h" #include "Game/IW4/CommonIW4.h" #include "Game/IW4/IW4.h" #include "Game/IW4/MaterialConstantsIW4.h" #include "Game/IW4/ObjConstantsIW4.h" #include "Game/IW4/Techset/LoaderTechsetIW4.h" #include "Game/IW4/TechsetConstantsIW4.h" +#include "Gdt/AbstractGdtEntryReader.h" #include "ObjLoading.h" #include "Pool/GlobalAssetPool.h" #include "StateMap/StateMapFromTechniqueExtractor.h" diff --git a/src/ObjLoading/Game/IW4/Menu/MenuConversionZoneStateIW4.h b/src/ObjLoading/Game/IW4/Menu/MenuConversionZoneStateIW4.h index 0978a6cc..9cdd0983 100644 --- a/src/ObjLoading/Game/IW4/Menu/MenuConversionZoneStateIW4.h +++ b/src/ObjLoading/Game/IW4/Menu/MenuConversionZoneStateIW4.h @@ -1,6 +1,6 @@ #pragma once -#include "AssetLoading/IZoneAssetLoaderState.h" +#include "Asset/IZoneAssetLoaderState.h" #include "Game/IW4/IW4.h" #include diff --git a/src/ObjLoading/Game/IW4/ObjLoaderIW4.h b/src/ObjLoading/Game/IW4/ObjLoaderIW4.h index 335dbffc..4d080914 100644 --- a/src/ObjLoading/Game/IW4/ObjLoaderIW4.h +++ b/src/ObjLoading/Game/IW4/ObjLoaderIW4.h @@ -1,6 +1,5 @@ #pragma once -#include "AssetLoading/IAssetLoader.h" #include "IObjLoader.h" #include "SearchPath/ISearchPath.h" #include "Zone/Zone.h" diff --git a/src/ObjLoading/Game/IW5/InfoString/InfoStringToStructConverter.h b/src/ObjLoading/Game/IW5/InfoString/InfoStringToStructConverter.h index 88002e13..7e415486 100644 --- a/src/ObjLoading/Game/IW5/InfoString/InfoStringToStructConverter.h +++ b/src/ObjLoading/Game/IW5/InfoString/InfoStringToStructConverter.h @@ -1,6 +1,5 @@ #pragma once -#include "AssetLoading/IAssetLoadingManager.h" #include "Game/IW5/IW5.h" #include "InfoString/InfoStringToStructConverterBase.h" diff --git a/src/ObjLoading/Game/IW5/Menu/MenuConversionZoneStateIW5.h b/src/ObjLoading/Game/IW5/Menu/MenuConversionZoneStateIW5.h index 214a6f6e..236d7dd7 100644 --- a/src/ObjLoading/Game/IW5/Menu/MenuConversionZoneStateIW5.h +++ b/src/ObjLoading/Game/IW5/Menu/MenuConversionZoneStateIW5.h @@ -1,6 +1,6 @@ #pragma once -#include "AssetLoading/IZoneAssetLoaderState.h" +#include "Asset/IZoneAssetLoaderState.h" #include "Game/IW5/IW5.h" #include diff --git a/src/ObjLoading/Game/IW5/ObjLoaderIW5.h b/src/ObjLoading/Game/IW5/ObjLoaderIW5.h index b7e34526..2b882ecb 100644 --- a/src/ObjLoading/Game/IW5/ObjLoaderIW5.h +++ b/src/ObjLoading/Game/IW5/ObjLoaderIW5.h @@ -1,6 +1,5 @@ #pragma once -#include "AssetLoading/IAssetLoader.h" #include "IObjLoader.h" #include "SearchPath/ISearchPath.h" diff --git a/src/ObjLoading/Game/T5/ObjLoaderT5.h b/src/ObjLoading/Game/T5/ObjLoaderT5.h index 56954718..99fc99c8 100644 --- a/src/ObjLoading/Game/T5/ObjLoaderT5.h +++ b/src/ObjLoading/Game/T5/ObjLoaderT5.h @@ -1,6 +1,5 @@ #pragma once -#include "AssetLoading/IAssetLoader.h" #include "IObjLoader.h" #include "SearchPath/ISearchPath.h" diff --git a/src/ObjLoading/Game/T6/InfoString/InfoStringToStructConverter.h b/src/ObjLoading/Game/T6/InfoString/InfoStringToStructConverter.h index 5c533635..6a2b3ddf 100644 --- a/src/ObjLoading/Game/T6/InfoString/InfoStringToStructConverter.h +++ b/src/ObjLoading/Game/T6/InfoString/InfoStringToStructConverter.h @@ -1,6 +1,5 @@ #pragma once -#include "AssetLoading/IAssetLoadingManager.h" #include "Game/T6/T6.h" #include "InfoString/InfoStringToStructConverterBase.h" diff --git a/src/ObjLoading/Game/T6/ObjLoaderT6.h b/src/ObjLoading/Game/T6/ObjLoaderT6.h index 0eb8669a..6e210b85 100644 --- a/src/ObjLoading/Game/T6/ObjLoaderT6.h +++ b/src/ObjLoading/Game/T6/ObjLoaderT6.h @@ -1,6 +1,5 @@ #pragma once -#include "AssetLoading/IAssetLoader.h" #include "Game/T6/T6.h" #include "IObjLoader.h" #include "ObjContainer/SoundBank/SoundBank.h" diff --git a/src/ObjLoading/AssetLoading/AbstractGdtEntryReader.cpp b/src/ObjLoading/Gdt/AbstractGdtEntryReader.cpp similarity index 100% rename from src/ObjLoading/AssetLoading/AbstractGdtEntryReader.cpp rename to src/ObjLoading/Gdt/AbstractGdtEntryReader.cpp diff --git a/src/ObjLoading/AssetLoading/AbstractGdtEntryReader.h b/src/ObjLoading/Gdt/AbstractGdtEntryReader.h similarity index 100% rename from src/ObjLoading/AssetLoading/AbstractGdtEntryReader.h rename to src/ObjLoading/Gdt/AbstractGdtEntryReader.h diff --git a/src/ObjLoading/IObjLoader.h b/src/ObjLoading/IObjLoader.h index 6b7c8901..b534cac6 100644 --- a/src/ObjLoading/IObjLoader.h +++ b/src/ObjLoading/IObjLoader.h @@ -1,7 +1,6 @@ #pragma once #include "Asset/AssetCreatorCollection.h" -#include "AssetLoading/AssetLoadingContext.h" #include "Gdt/IGdtQueryable.h" #include "SearchPath/ISearchPath.h" #include "Zone/Zone.h" diff --git a/src/ObjLoading/Localize/CommonLocalizeLoader.h b/src/ObjLoading/Localize/CommonLocalizeLoader.h index 6768bdd6..b6cc6c43 100644 --- a/src/ObjLoading/Localize/CommonLocalizeLoader.h +++ b/src/ObjLoading/Localize/CommonLocalizeLoader.h @@ -1,7 +1,6 @@ #pragma once #include "Asset/IAssetCreator.h" -#include "AssetLoading/IAssetLoadingManager.h" #include "Localize/CommonLocalizeEntry.h" #include "Localize/Parsing/ILocalizeFileDuplicationChecker.h" #include "SearchPath/ISearchPath.h" diff --git a/src/ObjLoading/Parsing/Menu/MenuAssetZoneState.h b/src/ObjLoading/Parsing/Menu/MenuAssetZoneState.h index 54c503f1..c2e24ce3 100644 --- a/src/ObjLoading/Parsing/Menu/MenuAssetZoneState.h +++ b/src/ObjLoading/Parsing/Menu/MenuAssetZoneState.h @@ -1,6 +1,6 @@ #pragma once -#include "AssetLoading/IZoneAssetLoaderState.h" +#include "Asset/IZoneAssetLoaderState.h" #include "Domain/CommonFunctionDef.h" #include "Domain/CommonMenuDef.h" diff --git a/src/ObjLoading/Techset/TechniqueStateMapCache.h b/src/ObjLoading/Techset/TechniqueStateMapCache.h index 5d9d29a6..f5d48b9f 100644 --- a/src/ObjLoading/Techset/TechniqueStateMapCache.h +++ b/src/ObjLoading/Techset/TechniqueStateMapCache.h @@ -1,6 +1,6 @@ #pragma once -#include "AssetLoading/IZoneAssetLoaderState.h" +#include "Asset/IZoneAssetLoaderState.h" #include "StateMap/StateMapDefinition.h" #include "Utils/ClassUtils.h" diff --git a/src/ObjLoading/Techset/TechsetDefinitionCache.h b/src/ObjLoading/Techset/TechsetDefinitionCache.h index 83bff720..e11f9c47 100644 --- a/src/ObjLoading/Techset/TechsetDefinitionCache.h +++ b/src/ObjLoading/Techset/TechsetDefinitionCache.h @@ -1,6 +1,6 @@ #pragma once -#include "AssetLoading/IZoneAssetLoaderState.h" +#include "Asset/IZoneAssetLoaderState.h" #include "TechsetDefinition.h" #include "Utils/ClassUtils.h" diff --git a/src/ObjLoading/Weapon/AccuracyGraphLoader.h b/src/ObjLoading/Weapon/AccuracyGraphLoader.h index 85f9cac4..3aadccd9 100644 --- a/src/ObjLoading/Weapon/AccuracyGraphLoader.h +++ b/src/ObjLoading/Weapon/AccuracyGraphLoader.h @@ -1,6 +1,6 @@ #pragma once -#include "AssetLoading/IZoneAssetLoaderState.h" +#include "Asset/IZoneAssetLoaderState.h" #include "Parsing/GenericGraph2D.h" #include "SearchPath/ISearchPath.h"