mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-19 15:52:53 +00:00
chore: rename ZoneAssetLoaderState to ZoneAssetCreationState
This commit is contained in:
parent
9068e96dfa
commit
416823c6cd
@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/AssetCreatorCollection.h"
|
#include "Asset/AssetCreatorCollection.h"
|
||||||
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "Asset/ZoneDefinitionContext.h"
|
#include "Asset/ZoneDefinitionContext.h"
|
||||||
#include "Gdt/IGdtQueryable.h"
|
#include "Gdt/IGdtQueryable.h"
|
||||||
#include "SearchPath/ISearchPath.h"
|
#include "SearchPath/ISearchPath.h"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "SearchPath/ISearchPath.h"
|
#include "SearchPath/ISearchPath.h"
|
||||||
|
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
@ -21,7 +21,7 @@ private:
|
|||||||
std::vector<std::string> m_image_names;
|
std::vector<std::string> m_image_names;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IPakCreator : public IZoneAssetLoaderState
|
class IPakCreator : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
IPakToCreate* GetOrAddIPak(const std::string& ipakName);
|
IPakToCreate* GetOrAddIPak(const std::string& ipakName);
|
||||||
|
@ -39,7 +39,7 @@ void AbstractImageIPakPostProcessor::FindNextObjContainer(AssetCreationContext&
|
|||||||
if (objContainer.m_type != ZoneDefinitionObjContainerType::IPAK)
|
if (objContainer.m_type != ZoneDefinitionObjContainerType::IPAK)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
auto& ipakCreator = context.GetZoneAssetLoaderState<IPakCreator>();
|
auto& ipakCreator = context.GetZoneAssetCreationState<IPakCreator>();
|
||||||
m_current_ipak = ipakCreator.GetOrAddIPak(objContainer.m_name);
|
m_current_ipak = ipakCreator.GetOrAddIPak(objContainer.m_name);
|
||||||
m_current_ipak_start_index = objContainer.m_asset_start;
|
m_current_ipak_start_index = objContainer.m_asset_start;
|
||||||
m_current_ipak_end_index = objContainer.m_asset_end;
|
m_current_ipak_end_index = objContainer.m_asset_end;
|
||||||
@ -70,5 +70,5 @@ void AbstractImageIPakPostProcessor::PostProcessAsset(XAssetInfoGeneric& assetIn
|
|||||||
|
|
||||||
void AbstractImageIPakPostProcessor::FinalizeZone(AssetCreationContext& context)
|
void AbstractImageIPakPostProcessor::FinalizeZone(AssetCreationContext& context)
|
||||||
{
|
{
|
||||||
context.GetZoneAssetLoaderState<IPakCreator>().Finalize(m_search_path, m_out_dir);
|
context.GetZoneAssetCreationState<IPakCreator>().Finalize(m_search_path, m_out_dir);
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ void AbstractImageIwdPostProcessor::FindNextObjContainer(AssetCreationContext& c
|
|||||||
if (objContainer.m_type != ZoneDefinitionObjContainerType::IWD)
|
if (objContainer.m_type != ZoneDefinitionObjContainerType::IWD)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
auto& iwdCreator = context.GetZoneAssetLoaderState<IwdCreator>();
|
auto& iwdCreator = context.GetZoneAssetCreationState<IwdCreator>();
|
||||||
m_current_iwd = iwdCreator.GetOrAddIwd(objContainer.m_name);
|
m_current_iwd = iwdCreator.GetOrAddIwd(objContainer.m_name);
|
||||||
m_current_iwd_start_index = objContainer.m_asset_start;
|
m_current_iwd_start_index = objContainer.m_asset_start;
|
||||||
m_current_iwd_end_index = objContainer.m_asset_end;
|
m_current_iwd_end_index = objContainer.m_asset_end;
|
||||||
@ -71,5 +71,5 @@ void AbstractImageIwdPostProcessor::PostProcessAsset(XAssetInfoGeneric& assetInf
|
|||||||
|
|
||||||
void AbstractImageIwdPostProcessor::FinalizeZone(AssetCreationContext& context)
|
void AbstractImageIwdPostProcessor::FinalizeZone(AssetCreationContext& context)
|
||||||
{
|
{
|
||||||
context.GetZoneAssetLoaderState<IwdCreator>().Finalize(m_search_path, m_out_dir);
|
context.GetZoneAssetCreationState<IwdCreator>().Finalize(m_search_path, m_out_dir);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "SearchPath/ISearchPath.h"
|
#include "SearchPath/ISearchPath.h"
|
||||||
|
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
@ -21,7 +21,7 @@ private:
|
|||||||
std::vector<std::string> m_file_paths;
|
std::vector<std::string> m_file_paths;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IwdCreator : public IZoneAssetLoaderState
|
class IwdCreator : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
IwdToCreate* GetOrAddIwd(const std::string& iwdName);
|
IwdToCreate* GetOrAddIwd(const std::string& iwdName);
|
||||||
|
@ -63,7 +63,7 @@ std::unique_ptr<XAssetInfoGeneric> GenericAssetRegistration::CreateXAssetInfo()
|
|||||||
}
|
}
|
||||||
|
|
||||||
AssetCreationContext::AssetCreationContext(Zone& zone, const AssetCreatorCollection* creators, const IgnoredAssetLookup* ignoredAssetLookup)
|
AssetCreationContext::AssetCreationContext(Zone& zone, const AssetCreatorCollection* creators, const IgnoredAssetLookup* ignoredAssetLookup)
|
||||||
: ZoneAssetLoaderContainer(zone),
|
: ZoneAssetCreationStateContainer(zone),
|
||||||
m_creators(creators),
|
m_creators(creators),
|
||||||
m_ignored_asset_lookup(ignoredAssetLookup)
|
m_ignored_asset_lookup(ignoredAssetLookup)
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "AssetRegistration.h"
|
#include "AssetRegistration.h"
|
||||||
#include "Game/IAsset.h"
|
#include "Game/IAsset.h"
|
||||||
#include "Pool/XAssetInfo.h"
|
#include "Pool/XAssetInfo.h"
|
||||||
@ -26,7 +26,7 @@ public:
|
|||||||
std::unordered_multimap<std::string, asset_type_t> m_ignored_asset_lookup;
|
std::unordered_multimap<std::string, asset_type_t> m_ignored_asset_lookup;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AssetCreationContext : public ZoneAssetLoaderContainer
|
class AssetCreationContext : public ZoneAssetCreationStateContainer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
AssetCreationContext(Zone& zone, const AssetCreatorCollection* creators, const IgnoredAssetLookup* ignoredAssetLookup);
|
AssetCreationContext(Zone& zone, const AssetCreatorCollection* creators, const IgnoredAssetLookup* ignoredAssetLookup);
|
||||||
|
57
src/ObjLoading/Asset/IZoneAssetCreationState.h
Normal file
57
src/ObjLoading/Asset/IZoneAssetCreationState.h
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Zone/Zone.h"
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <typeindex>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
|
class IZoneAssetCreationState
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
IZoneAssetCreationState() = default;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~IZoneAssetCreationState() = default;
|
||||||
|
IZoneAssetCreationState(const IZoneAssetCreationState& other) = default;
|
||||||
|
IZoneAssetCreationState(IZoneAssetCreationState&& other) noexcept = default;
|
||||||
|
IZoneAssetCreationState& operator=(const IZoneAssetCreationState& other) = default;
|
||||||
|
IZoneAssetCreationState& operator=(IZoneAssetCreationState&& other) noexcept = default;
|
||||||
|
|
||||||
|
virtual void SetZone(Zone* zone)
|
||||||
|
{
|
||||||
|
// Do nothing by default
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class ZoneAssetCreationStateContainer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ZoneAssetCreationStateContainer(Zone& zone)
|
||||||
|
: m_zone(zone)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T> T& GetZoneAssetCreationState()
|
||||||
|
{
|
||||||
|
static_assert(std::is_base_of_v<IZoneAssetCreationState, T>, "T must inherit IZoneAssetCreationState");
|
||||||
|
// T must also have a public default constructor
|
||||||
|
|
||||||
|
const auto foundEntry = m_zone_asset_creation_states.find(typeid(T));
|
||||||
|
if (foundEntry != m_zone_asset_creation_states.end())
|
||||||
|
return *dynamic_cast<T*>(foundEntry->second.get());
|
||||||
|
|
||||||
|
auto newState = std::make_unique<T>();
|
||||||
|
newState->SetZone(&m_zone);
|
||||||
|
auto* newStatePtr = newState.get();
|
||||||
|
m_zone_asset_creation_states.emplace(std::make_pair<std::type_index, std::unique_ptr<IZoneAssetCreationState>>(typeid(T), std::move(newState)));
|
||||||
|
|
||||||
|
return *newStatePtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Zone& m_zone;
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::unordered_map<std::type_index, std::unique_ptr<IZoneAssetCreationState>> m_zone_asset_creation_states;
|
||||||
|
};
|
@ -1,57 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include "Zone/Zone.h"
|
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
#include <typeindex>
|
|
||||||
#include <unordered_map>
|
|
||||||
|
|
||||||
class IZoneAssetLoaderState
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
IZoneAssetLoaderState() = default;
|
|
||||||
|
|
||||||
public:
|
|
||||||
virtual ~IZoneAssetLoaderState() = default;
|
|
||||||
IZoneAssetLoaderState(const IZoneAssetLoaderState& other) = default;
|
|
||||||
IZoneAssetLoaderState(IZoneAssetLoaderState&& other) noexcept = default;
|
|
||||||
IZoneAssetLoaderState& operator=(const IZoneAssetLoaderState& other) = default;
|
|
||||||
IZoneAssetLoaderState& operator=(IZoneAssetLoaderState&& other) noexcept = default;
|
|
||||||
|
|
||||||
virtual void SetZone(Zone* zone)
|
|
||||||
{
|
|
||||||
// Do nothing by default
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class ZoneAssetLoaderContainer
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
ZoneAssetLoaderContainer(Zone& zone)
|
|
||||||
: m_zone(zone)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T> T& GetZoneAssetLoaderState()
|
|
||||||
{
|
|
||||||
static_assert(std::is_base_of_v<IZoneAssetLoaderState, T>, "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<T*>(foundEntry->second.get());
|
|
||||||
|
|
||||||
auto newState = std::make_unique<T>();
|
|
||||||
newState->SetZone(&m_zone);
|
|
||||||
auto* newStatePtr = newState.get();
|
|
||||||
m_zone_asset_loader_states.emplace(std::make_pair<std::type_index, std::unique_ptr<IZoneAssetLoaderState>>(typeid(T), std::move(newState)));
|
|
||||||
|
|
||||||
return *newStatePtr;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
Zone& m_zone;
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::unordered_map<std::type_index, std::unique_ptr<IZoneAssetLoaderState>> m_zone_asset_loader_states;
|
|
||||||
};
|
|
@ -44,7 +44,7 @@ namespace
|
|||||||
m_search_path(searchPath),
|
m_search_path(searchPath),
|
||||||
m_context(context),
|
m_context(context),
|
||||||
m_registration(registration),
|
m_registration(registration),
|
||||||
m_state_map_cache(context.GetZoneAssetLoaderState<techset::TechniqueStateMapCache>()),
|
m_state_map_cache(context.GetZoneAssetCreationState<techset::TechniqueStateMapCache>()),
|
||||||
m_base_state_bits{},
|
m_base_state_bits{},
|
||||||
m_techset_creator(CreateTechsetLoader(memory, searchPath))
|
m_techset_creator(CreateTechsetLoader(memory, searchPath))
|
||||||
{
|
{
|
||||||
@ -792,7 +792,7 @@ namespace
|
|||||||
m_registration.AddDependency(techset);
|
m_registration.AddDependency(techset);
|
||||||
m_material.techniqueSet = techset->Asset();
|
m_material.techniqueSet = techset->Asset();
|
||||||
|
|
||||||
auto& definitionCache = m_context.GetZoneAssetLoaderState<techset::TechsetDefinitionCache>();
|
auto& definitionCache = m_context.GetZoneAssetCreationState<techset::TechsetDefinitionCache>();
|
||||||
|
|
||||||
bool failure = false;
|
bool failure = false;
|
||||||
const auto* techsetDefinition = m_techset_creator->LoadTechsetDefinition(techsetName, m_context, failure);
|
const auto* techsetDefinition = m_techset_creator->LoadTechsetDefinition(techsetName, m_context, failure);
|
||||||
|
@ -28,8 +28,8 @@ namespace
|
|||||||
std::vector<menuDef_t*> menus;
|
std::vector<menuDef_t*> menus;
|
||||||
AssetRegistration<AssetMenuList> registration(assetName);
|
AssetRegistration<AssetMenuList> registration(assetName);
|
||||||
|
|
||||||
auto& zoneState = context.GetZoneAssetLoaderState<menu::MenuAssetZoneState>();
|
auto& zoneState = context.GetZoneAssetCreationState<menu::MenuAssetZoneState>();
|
||||||
auto& conversionState = context.GetZoneAssetLoaderState<MenuConversionZoneState>();
|
auto& conversionState = context.GetZoneAssetCreationState<MenuConversionZoneState>();
|
||||||
|
|
||||||
std::deque<std::string> menuLoadQueue;
|
std::deque<std::string> menuLoadQueue;
|
||||||
const auto alreadyLoadedMenuListFileMenus = conversionState.m_menus_by_filename.find(assetName);
|
const auto alreadyLoadedMenuListFileMenus = conversionState.m_menus_by_filename.find(assetName);
|
||||||
@ -74,7 +74,7 @@ namespace
|
|||||||
|
|
||||||
void FinalizeZone(AssetCreationContext& context) override
|
void FinalizeZone(AssetCreationContext& context) override
|
||||||
{
|
{
|
||||||
context.GetZoneAssetLoaderState<MenuConversionZoneState>().FinalizeSupportingData();
|
context.GetZoneAssetCreationState<MenuConversionZoneState>().FinalizeSupportingData();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "Game/IW4/IW4.h"
|
#include "Game/IW4/IW4.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
class MenuConversionZoneState final : public IZoneAssetLoaderState
|
class MenuConversionZoneState final : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
Zone* m_zone;
|
Zone* m_zone;
|
||||||
std::vector<Statement_s*> m_functions;
|
std::vector<Statement_s*> m_functions;
|
||||||
|
@ -1112,8 +1112,8 @@ namespace
|
|||||||
public:
|
public:
|
||||||
MenuConverter(const bool disableOptimizations, ISearchPath& searchPath, MemoryManager& memory, AssetCreationContext& context)
|
MenuConverter(const bool disableOptimizations, ISearchPath& searchPath, MemoryManager& memory, AssetCreationContext& context)
|
||||||
: AbstractMenuConverter(disableOptimizations, searchPath, memory, context),
|
: AbstractMenuConverter(disableOptimizations, searchPath, memory, context),
|
||||||
m_conversion_zone_state(context.GetZoneAssetLoaderState<MenuConversionZoneState>()),
|
m_conversion_zone_state(context.GetZoneAssetCreationState<MenuConversionZoneState>()),
|
||||||
m_parsing_zone_state(context.GetZoneAssetLoaderState<MenuAssetZoneState>())
|
m_parsing_zone_state(context.GetZoneAssetCreationState<MenuAssetZoneState>())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ namespace
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TechniqueZoneLoadingState final : public IZoneAssetLoaderState
|
class TechniqueZoneLoadingState final : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef const float (*literal_t)[4];
|
typedef const float (*literal_t)[4];
|
||||||
@ -84,7 +84,7 @@ namespace
|
|||||||
std::map<techset::ShaderArgumentLiteralSource, literal_t> m_allocated_literals;
|
std::map<techset::ShaderArgumentLiteralSource, literal_t> m_allocated_literals;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ShaderInfoFromFileSystemCacheState final : public IZoneAssetLoaderState
|
class ShaderInfoFromFileSystemCacheState final : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
std::unordered_map<std::string, std::unique_ptr<d3d9::ShaderInfo>> m_cached_shader_info;
|
std::unordered_map<std::string, std::unique_ptr<d3d9::ShaderInfo>> m_cached_shader_info;
|
||||||
|
|
||||||
@ -205,9 +205,9 @@ namespace
|
|||||||
m_search_path(searchPath),
|
m_search_path(searchPath),
|
||||||
m_memory(memory),
|
m_memory(memory),
|
||||||
m_context(context),
|
m_context(context),
|
||||||
m_zone_state(context.GetZoneAssetLoaderState<TechniqueZoneLoadingState>()),
|
m_zone_state(context.GetZoneAssetCreationState<TechniqueZoneLoadingState>()),
|
||||||
m_state_map_cache(context.GetZoneAssetLoaderState<techset::TechniqueStateMapCache>()),
|
m_state_map_cache(context.GetZoneAssetCreationState<techset::TechniqueStateMapCache>()),
|
||||||
m_shader_info_cache(context.GetZoneAssetLoaderState<ShaderInfoFromFileSystemCacheState>()),
|
m_shader_info_cache(context.GetZoneAssetCreationState<ShaderInfoFromFileSystemCacheState>()),
|
||||||
m_techset_creator(techsetCreator)
|
m_techset_creator(techsetCreator)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -1034,7 +1034,7 @@ namespace
|
|||||||
: m_search_path(searchPath),
|
: m_search_path(searchPath),
|
||||||
m_memory(memory),
|
m_memory(memory),
|
||||||
m_context(context),
|
m_context(context),
|
||||||
m_zone_state(context.GetZoneAssetLoaderState<TechniqueZoneLoadingState>()),
|
m_zone_state(context.GetZoneAssetCreationState<TechniqueZoneLoadingState>()),
|
||||||
m_techset_creator(techsetCreator)
|
m_techset_creator(techsetCreator)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -1313,7 +1313,7 @@ namespace
|
|||||||
techset::TechsetDefinition* LoadTechsetDefinition(const std::string& assetName, AssetCreationContext& context, bool& failure) override
|
techset::TechsetDefinition* LoadTechsetDefinition(const std::string& assetName, AssetCreationContext& context, bool& failure) override
|
||||||
{
|
{
|
||||||
failure = false;
|
failure = false;
|
||||||
auto& definitionCache = context.GetZoneAssetLoaderState<techset::TechsetDefinitionCache>();
|
auto& definitionCache = context.GetZoneAssetCreationState<techset::TechsetDefinitionCache>();
|
||||||
auto* cachedTechsetDefinition = definitionCache.GetCachedTechsetDefinition(assetName);
|
auto* cachedTechsetDefinition = definitionCache.GetCachedTechsetDefinition(assetName);
|
||||||
if (cachedTechsetDefinition)
|
if (cachedTechsetDefinition)
|
||||||
return cachedTechsetDefinition;
|
return cachedTechsetDefinition;
|
||||||
@ -1340,7 +1340,7 @@ namespace
|
|||||||
|
|
||||||
const state_map::StateMapDefinition* LoadStateMapDefinition(const std::string& stateMapName, AssetCreationContext& context) override
|
const state_map::StateMapDefinition* LoadStateMapDefinition(const std::string& stateMapName, AssetCreationContext& context) override
|
||||||
{
|
{
|
||||||
auto& stateMapCache = context.GetZoneAssetLoaderState<techset::TechniqueStateMapCache>();
|
auto& stateMapCache = context.GetZoneAssetCreationState<techset::TechniqueStateMapCache>();
|
||||||
auto* cachedStateMap = stateMapCache.GetCachedStateMap(stateMapName);
|
auto* cachedStateMap = stateMapCache.GetCachedStateMap(stateMapName);
|
||||||
if (cachedStateMap)
|
if (cachedStateMap)
|
||||||
return cachedStateMap;
|
return cachedStateMap;
|
||||||
|
@ -392,7 +392,7 @@ namespace
|
|||||||
|
|
||||||
bool LoadAccuracyGraphs(WeaponFullDef& weaponFullDef, MemoryManager& memory, ISearchPath& searchPath, AssetCreationContext& context)
|
bool LoadAccuracyGraphs(WeaponFullDef& weaponFullDef, MemoryManager& memory, ISearchPath& searchPath, AssetCreationContext& context)
|
||||||
{
|
{
|
||||||
auto& accuracyGraphLoader = context.GetZoneAssetLoaderState<AccuracyGraphLoader>();
|
auto& accuracyGraphLoader = context.GetZoneAssetCreationState<AccuracyGraphLoader>();
|
||||||
|
|
||||||
if (weaponFullDef.weapDef.aiVsAiAccuracyGraphName && weaponFullDef.weapDef.aiVsAiAccuracyGraphName[0])
|
if (weaponFullDef.weapDef.aiVsAiAccuracyGraphName && weaponFullDef.weapDef.aiVsAiAccuracyGraphName[0])
|
||||||
{
|
{
|
||||||
|
@ -28,8 +28,8 @@ namespace
|
|||||||
std::vector<menuDef_t*> menus;
|
std::vector<menuDef_t*> menus;
|
||||||
AssetRegistration<AssetMenuList> registration(assetName);
|
AssetRegistration<AssetMenuList> registration(assetName);
|
||||||
|
|
||||||
auto& zoneState = context.GetZoneAssetLoaderState<menu::MenuAssetZoneState>();
|
auto& zoneState = context.GetZoneAssetCreationState<menu::MenuAssetZoneState>();
|
||||||
auto& conversionState = context.GetZoneAssetLoaderState<MenuConversionZoneState>();
|
auto& conversionState = context.GetZoneAssetCreationState<MenuConversionZoneState>();
|
||||||
|
|
||||||
std::deque<std::string> menuLoadQueue;
|
std::deque<std::string> menuLoadQueue;
|
||||||
const auto alreadyLoadedMenuListFileMenus = conversionState.m_menus_by_filename.find(assetName);
|
const auto alreadyLoadedMenuListFileMenus = conversionState.m_menus_by_filename.find(assetName);
|
||||||
@ -74,7 +74,7 @@ namespace
|
|||||||
|
|
||||||
void FinalizeZone(AssetCreationContext& context) override
|
void FinalizeZone(AssetCreationContext& context) override
|
||||||
{
|
{
|
||||||
context.GetZoneAssetLoaderState<MenuConversionZoneState>().FinalizeSupportingData();
|
context.GetZoneAssetCreationState<MenuConversionZoneState>().FinalizeSupportingData();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "Game/IW5/IW5.h"
|
#include "Game/IW5/IW5.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
namespace IW5
|
namespace IW5
|
||||||
{
|
{
|
||||||
class MenuConversionZoneState final : public IZoneAssetLoaderState
|
class MenuConversionZoneState final : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
Zone* m_zone;
|
Zone* m_zone;
|
||||||
std::vector<Statement_s*> m_functions;
|
std::vector<Statement_s*> m_functions;
|
||||||
|
@ -1120,8 +1120,8 @@ namespace
|
|||||||
public:
|
public:
|
||||||
MenuConverter(const bool disableOptimizations, ISearchPath& searchPath, MemoryManager& memory, AssetCreationContext& context)
|
MenuConverter(const bool disableOptimizations, ISearchPath& searchPath, MemoryManager& memory, AssetCreationContext& context)
|
||||||
: AbstractMenuConverter(disableOptimizations, searchPath, memory, context),
|
: AbstractMenuConverter(disableOptimizations, searchPath, memory, context),
|
||||||
m_conversion_zone_state(context.GetZoneAssetLoaderState<MenuConversionZoneState>()),
|
m_conversion_zone_state(context.GetZoneAssetCreationState<MenuConversionZoneState>()),
|
||||||
m_parsing_zone_state(context.GetZoneAssetLoaderState<MenuAssetZoneState>())
|
m_parsing_zone_state(context.GetZoneAssetCreationState<MenuAssetZoneState>())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -822,7 +822,7 @@ namespace
|
|||||||
|
|
||||||
bool LoadAccuracyGraphs(WeaponFullDef& weaponFullDef, MemoryManager& memory, ISearchPath& searchPath, AssetCreationContext& context)
|
bool LoadAccuracyGraphs(WeaponFullDef& weaponFullDef, MemoryManager& memory, ISearchPath& searchPath, AssetCreationContext& context)
|
||||||
{
|
{
|
||||||
auto& accuracyGraphLoader = context.GetZoneAssetLoaderState<AccuracyGraphLoader>();
|
auto& accuracyGraphLoader = context.GetZoneAssetCreationState<AccuracyGraphLoader>();
|
||||||
|
|
||||||
if (weaponFullDef.weapDef.aiVsAiAccuracyGraphName && weaponFullDef.weapDef.aiVsAiAccuracyGraphName[0])
|
if (weaponFullDef.weapDef.aiVsAiAccuracyGraphName && weaponFullDef.weapDef.aiVsAiAccuracyGraphName[0])
|
||||||
{
|
{
|
||||||
|
@ -409,7 +409,7 @@ namespace
|
|||||||
|
|
||||||
bool LoadAccuracyGraphs(WeaponFullDef& weaponFullDef, MemoryManager& memory, ISearchPath& searchPath, AssetCreationContext& context)
|
bool LoadAccuracyGraphs(WeaponFullDef& weaponFullDef, MemoryManager& memory, ISearchPath& searchPath, AssetCreationContext& context)
|
||||||
{
|
{
|
||||||
auto& accuracyGraphLoader = context.GetZoneAssetLoaderState<AccuracyGraphLoader>();
|
auto& accuracyGraphLoader = context.GetZoneAssetCreationState<AccuracyGraphLoader>();
|
||||||
|
|
||||||
if (weaponFullDef.weapDef.aiVsAiAccuracyGraphName && weaponFullDef.weapDef.aiVsAiAccuracyGraphName[0])
|
if (weaponFullDef.weapDef.aiVsAiAccuracyGraphName && weaponFullDef.weapDef.aiVsAiAccuracyGraphName[0])
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "Domain/CommonFunctionDef.h"
|
#include "Domain/CommonFunctionDef.h"
|
||||||
#include "Domain/CommonMenuDef.h"
|
#include "Domain/CommonMenuDef.h"
|
||||||
|
|
||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
namespace menu
|
namespace menu
|
||||||
{
|
{
|
||||||
class MenuAssetZoneState final : public IZoneAssetLoaderState
|
class MenuAssetZoneState final : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
std::vector<std::unique_ptr<CommonFunctionDef>> m_functions;
|
std::vector<std::unique_ptr<CommonFunctionDef>> m_functions;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "StateMap/StateMapDefinition.h"
|
#include "StateMap/StateMapDefinition.h"
|
||||||
#include "Utils/ClassUtils.h"
|
#include "Utils/ClassUtils.h"
|
||||||
|
|
||||||
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
namespace techset
|
namespace techset
|
||||||
{
|
{
|
||||||
class TechniqueStateMapCache final : public IZoneAssetLoaderState
|
class TechniqueStateMapCache final : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
_NODISCARD const state_map::StateMapDefinition* GetCachedStateMap(const std::string& name) const;
|
_NODISCARD const state_map::StateMapDefinition* GetCachedStateMap(const std::string& name) const;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "TechsetDefinition.h"
|
#include "TechsetDefinition.h"
|
||||||
#include "Utils/ClassUtils.h"
|
#include "Utils/ClassUtils.h"
|
||||||
|
|
||||||
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
namespace techset
|
namespace techset
|
||||||
{
|
{
|
||||||
class TechsetDefinitionCache final : public IZoneAssetLoaderState
|
class TechsetDefinitionCache final : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
_NODISCARD TechsetDefinition* GetCachedTechsetDefinition(const std::string& techsetName) const;
|
_NODISCARD TechsetDefinition* GetCachedTechsetDefinition(const std::string& techsetName) const;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Asset/IZoneAssetLoaderState.h"
|
#include "Asset/IZoneAssetCreationState.h"
|
||||||
#include "Parsing/GenericGraph2D.h"
|
#include "Parsing/GenericGraph2D.h"
|
||||||
#include "SearchPath/ISearchPath.h"
|
#include "SearchPath/ISearchPath.h"
|
||||||
|
|
||||||
@ -8,7 +8,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
class AccuracyGraphLoader final : public IZoneAssetLoaderState
|
class AccuracyGraphLoader final : public IZoneAssetCreationState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
const GenericGraph2D* LoadAiVsAiGraph(ISearchPath& searchPath, const std::string& graphName);
|
const GenericGraph2D* LoadAiVsAiGraph(ISearchPath& searchPath, const std::string& graphName);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user