mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-03-05 12:33:02 +00:00
fix: not properly initializing sub asset pools
This commit is contained in:
@@ -67,11 +67,15 @@ AssetCreationContext::AssetCreationContext(Zone& zone, const AssetCreatorCollect
|
|||||||
: ZoneAssetCreationStateContainer(zone),
|
: ZoneAssetCreationStateContainer(zone),
|
||||||
m_zone(zone),
|
m_zone(zone),
|
||||||
m_forced_asset_pools(std::make_unique<ZoneAssetPools>(zone, zone.m_priority)),
|
m_forced_asset_pools(std::make_unique<ZoneAssetPools>(zone, zone.m_priority)),
|
||||||
m_sub_asset_pools(IGame::GetGameById(zone.m_game_id)->GetSubAssetTypeCount()),
|
|
||||||
m_creators(creators),
|
m_creators(creators),
|
||||||
m_ignored_asset_lookup(ignoredAssetLookup),
|
m_ignored_asset_lookup(ignoredAssetLookup),
|
||||||
m_forced_load_depth(0u)
|
m_forced_load_depth(0u)
|
||||||
{
|
{
|
||||||
|
const auto subAssetTypeCount = IGame::GetGameById(zone.m_game_id)->GetSubAssetTypeCount();
|
||||||
|
m_sub_asset_pools.resize(subAssetTypeCount);
|
||||||
|
|
||||||
|
for (asset_type_t subAssetType = 0; subAssetType < subAssetTypeCount; subAssetType++)
|
||||||
|
m_sub_asset_pools[subAssetType] = std::make_unique<AssetPool>();
|
||||||
}
|
}
|
||||||
|
|
||||||
XAssetInfoGeneric* AssetCreationContext::AddAssetGeneric(GenericAssetRegistration registration) const
|
XAssetInfoGeneric* AssetCreationContext::AddAssetGeneric(GenericAssetRegistration registration) const
|
||||||
@@ -171,6 +175,10 @@ XAssetInfoGeneric* AssetCreationContext::LoadSubAssetGeneric(const asset_type_t
|
|||||||
|
|
||||||
con::error(R"(Could not load sub asset "{}" of type "{}")", assetName, *IGame::GetGameById(m_zone.m_game_id)->GetSubAssetTypeName(subAssetType));
|
con::error(R"(Could not load sub asset "{}" of type "{}")", assetName, *IGame::GetGameById(m_zone.m_game_id)->GetSubAssetTypeName(subAssetType));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
con::error(R"(Missing sub asset "{}" of type "{}")", assetName, *IGame::GetGameById(m_zone.m_game_id)->GetSubAssetTypeName(subAssetType));
|
||||||
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public:
|
|||||||
class ZoneAssetCreationStateContainer
|
class ZoneAssetCreationStateContainer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ZoneAssetCreationStateContainer(Zone& zone)
|
explicit ZoneAssetCreationStateContainer(Zone& zone)
|
||||||
: m_injection(*this, zone)
|
: m_injection(*this, zone)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user