mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-03-03 03:23:03 +00:00
refactor: introduce subasset loading
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
|
||||
#include "ContentLoaderIW3.h"
|
||||
#include "Game/GameLanguage.h"
|
||||
#include "Game/IW3/GameAssetPoolIW3.h"
|
||||
#include "Game/IW3/GameIW3.h"
|
||||
#include "Game/IW3/IW3.h"
|
||||
#include "Game/IW3/ZoneConstantsIW3.h"
|
||||
@@ -184,7 +183,6 @@ std::unique_ptr<ZoneLoader> ZoneLoaderFactory::CreateLoaderForHeader(const ZoneH
|
||||
// Create new zone
|
||||
auto zone = std::make_unique<Zone>(fileName, 0, GameId::IW3, inspectResult->m_platform);
|
||||
auto* zonePtr = zone.get();
|
||||
zone->m_pools = std::make_unique<GameAssetPoolIW3>(zonePtr, 0);
|
||||
zone->m_language = GameLanguage::LANGUAGE_NONE;
|
||||
|
||||
// File is supported. Now setup all required steps for loading this file.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
#include "ContentLoaderIW4.h"
|
||||
#include "Game/GameLanguage.h"
|
||||
#include "Game/IW4/GameAssetPoolIW4.h"
|
||||
#include "Game/IW4/GameIW4.h"
|
||||
#include "Game/IW4/IW4.h"
|
||||
#include "Game/IW4/ZoneConstantsIW4.h"
|
||||
@@ -269,7 +268,6 @@ std::unique_ptr<ZoneLoader> ZoneLoaderFactory::CreateLoaderForHeader(const ZoneH
|
||||
// Create new zone
|
||||
auto zone = std::make_unique<Zone>(fileName, 0, GameId::IW4, inspectResult->m_generic_result.m_platform);
|
||||
auto* zonePtr = zone.get();
|
||||
zone->m_pools = std::make_unique<GameAssetPoolIW4>(zonePtr, 0);
|
||||
zone->m_language = GameLanguage::LANGUAGE_NONE;
|
||||
|
||||
// File is supported. Now setup all required steps for loading this file.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
#include "ContentLoaderIW5.h"
|
||||
#include "Game/GameLanguage.h"
|
||||
#include "Game/IW5/GameAssetPoolIW5.h"
|
||||
#include "Game/IW5/GameIW5.h"
|
||||
#include "Game/IW5/IW5.h"
|
||||
#include "Game/IW5/ZoneConstantsIW5.h"
|
||||
@@ -62,7 +61,7 @@ namespace
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return rsa;
|
||||
return std::move(rsa);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -167,7 +166,6 @@ std::unique_ptr<ZoneLoader> ZoneLoaderFactory::CreateLoaderForHeader(const ZoneH
|
||||
// Create new zone
|
||||
auto zone = std::make_unique<Zone>(fileName, 0, GameId::IW5, inspectResult->m_platform);
|
||||
auto* zonePtr = zone.get();
|
||||
zone->m_pools = std::make_unique<GameAssetPoolIW5>(zonePtr, 0);
|
||||
zone->m_language = GameLanguage::LANGUAGE_NONE;
|
||||
|
||||
// File is supported. Now setup all required steps for loading this file.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
#include "ContentLoaderT5.h"
|
||||
#include "Game/GameLanguage.h"
|
||||
#include "Game/T5/GameAssetPoolT5.h"
|
||||
#include "Game/T5/GameT5.h"
|
||||
#include "Game/T5/T5.h"
|
||||
#include "Game/T5/ZoneConstantsT5.h"
|
||||
@@ -70,7 +69,6 @@ std::unique_ptr<ZoneLoader> ZoneLoaderFactory::CreateLoaderForHeader(const ZoneH
|
||||
// Create new zone
|
||||
auto zone = std::make_unique<Zone>(fileName, 0, GameId::T5, inspectResult->m_platform);
|
||||
auto* zonePtr = zone.get();
|
||||
zone->m_pools = std::make_unique<GameAssetPoolT5>(zonePtr, 0);
|
||||
zone->m_language = GameLanguage::LANGUAGE_NONE;
|
||||
|
||||
// File is supported. Now setup all required steps for loading this file.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
#include "ContentLoaderT6.h"
|
||||
#include "Game/GameLanguage.h"
|
||||
#include "Game/T6/GameAssetPoolT6.h"
|
||||
#include "Game/T6/GameT6.h"
|
||||
#include "Game/T6/T6.h"
|
||||
#include "Game/T6/ZoneConstantsT6.h"
|
||||
@@ -286,7 +285,6 @@ std::unique_ptr<ZoneLoader> ZoneLoaderFactory::CreateLoaderForHeader(const ZoneH
|
||||
// Create new zone
|
||||
auto zone = std::make_unique<Zone>(fileName, 0, GameId::T6, inspectResult->m_generic_result.m_platform);
|
||||
auto* zonePtr = zone.get();
|
||||
zone->m_pools = std::make_unique<GameAssetPoolT6>(zonePtr, 0);
|
||||
zone->m_language = GetZoneLanguage(fileName);
|
||||
|
||||
// File is supported. Now setup all required steps for loading this file.
|
||||
|
||||
@@ -51,7 +51,7 @@ std::vector<IndirectAssetReference> AssetInfoCollector::GetIndirectAssetReferenc
|
||||
|
||||
std::optional<XAssetInfoGeneric*> AssetInfoCollector::Visit_Dependency(const asset_type_t assetType, const char* assetName)
|
||||
{
|
||||
auto* assetInfo = m_zone.m_pools->GetAsset(assetType, assetName);
|
||||
auto* assetInfo = m_zone.m_pools.GetAsset(assetType, assetName);
|
||||
if (assetInfo == nullptr)
|
||||
return std::nullopt;
|
||||
|
||||
|
||||
@@ -16,11 +16,10 @@ XAssetInfoGeneric* AssetLoader::LinkAsset(std::string name,
|
||||
std::vector<scr_string_t> scriptStrings,
|
||||
std::vector<IndirectAssetReference> indirectAssetReferences) const
|
||||
{
|
||||
return m_zone.m_pools->AddAsset(
|
||||
m_asset_type, std::move(name), asset, std::move(dependencies), std::move(scriptStrings), std::move(indirectAssetReferences));
|
||||
return m_zone.m_pools.AddAsset(m_asset_type, std::move(name), asset, std::move(dependencies), std::move(scriptStrings), std::move(indirectAssetReferences));
|
||||
}
|
||||
|
||||
XAssetInfoGeneric* AssetLoader::GetAssetInfo(const std::string& name) const
|
||||
{
|
||||
return m_zone.m_pools->GetAsset(m_asset_type, name);
|
||||
return m_zone.m_pools.GetAsset(m_asset_type, name);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user