chore: normalize asset names before adding to asset pools

This commit is contained in:
Jan
2024-05-11 12:23:49 +02:00
parent b59bd01280
commit a9488b8152
8 changed files with 40 additions and 35 deletions

View File

@ -131,7 +131,7 @@ XAssetInfoGeneric* AssetLoadingManager::LoadAssetDependency(const asset_type_t a
XAssetInfoGeneric* AssetLoadingManager::LoadDependency(const asset_type_t assetType, const std::string& assetName)
{
const auto normalizedAssetName = NormalizeAssetName(assetName);
const auto normalizedAssetName = XAssetInfoGeneric::NormalizeAssetName(assetName);
auto* alreadyLoadedAsset = m_context.m_zone->m_pools->GetAssetOrAssetReference(assetType, normalizedAssetName);
if (alreadyLoadedAsset)
@ -157,7 +157,7 @@ XAssetInfoGeneric* AssetLoadingManager::LoadDependency(const asset_type_t assetT
IndirectAssetReference AssetLoadingManager::LoadIndirectAssetReference(const asset_type_t assetType, const std::string& assetName)
{
const auto normalizedAssetName = NormalizeAssetName(assetName);
const auto normalizedAssetName = XAssetInfoGeneric::NormalizeAssetName(assetName);
const auto* alreadyLoadedAsset = m_context.m_zone->m_pools->GetAssetOrAssetReference(assetType, normalizedAssetName);
if (alreadyLoadedAsset)
@ -177,13 +177,3 @@ IndirectAssetReference AssetLoadingManager::LoadIndirectAssetReference(const ass
std::cerr << "Failed to find loader for asset type \"" << m_context.m_zone->m_pools->GetAssetTypeName(assetType) << "\"\n";
return IndirectAssetReference(assetType, normalizedAssetName);
}
std::string AssetLoadingManager::NormalizeAssetName(const std::string& assetName)
{
std::string result(assetName);
utils::MakeStringLowerCase(result);
std::ranges::replace(result, '\\', '/');
return result;
}

View File

@ -25,8 +25,6 @@ private:
XAssetInfoGeneric* AddAssetInternal(std::unique_ptr<XAssetInfoGeneric> xAssetInfo);
static std::string NormalizeAssetName(const std::string& assetName);
const std::map<asset_type_t, std::unique_ptr<IAssetLoader>>& m_asset_loaders_by_type;
AssetLoadingContext& m_context;
XAssetInfoGeneric* m_last_dependency_loaded;