From a3e652992551c52cb6679c4003c84d9cf1dc14a7 Mon Sep 17 00:00:00 2001 From: Michael Oliver Date: Mon, 27 Apr 2026 09:33:23 +0100 Subject: [PATCH] feat: add asset source description to loading logs --- src/ObjLoading/Asset/AssetCreationContext.cpp | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/ObjLoading/Asset/AssetCreationContext.cpp b/src/ObjLoading/Asset/AssetCreationContext.cpp index 969374b4..0aad8a60 100644 --- a/src/ObjLoading/Asset/AssetCreationContext.cpp +++ b/src/ObjLoading/Asset/AssetCreationContext.cpp @@ -5,6 +5,19 @@ #include #include +namespace +{ + std::string GetAssetSourceDescription(const Zone& targetZone, const XAssetInfoGeneric& assetInfo) + { + assert(assetInfo.m_zone != nullptr); + + if (assetInfo.m_zone == &targetZone) + return "project source"; + + return std::format(R"(loaded zone "{}")", assetInfo.m_zone->m_name); + } +} // namespace + IgnoredAssetLookup::IgnoredAssetLookup() = default; IgnoredAssetLookup::IgnoredAssetLookup(const AssetList& assetList) @@ -152,8 +165,9 @@ XAssetInfoGeneric* AssetCreationContext::LoadDependencyGeneric(const asset_type_ { if (!result.HasFailed()) { - con::info(R"(Loaded {} "{}")", assetTypeName, assetName); - return result.GetAssetInfo(); + auto* assetInfo = result.GetAssetInfo(); + con::info(R"(Loaded {} "{}" from {})", assetTypeName, assetName, GetAssetSourceDescription(m_zone, *assetInfo)); + return assetInfo; } con::error(R"(Could not load asset "{}" of type "{}")", assetName, assetTypeName); @@ -207,7 +221,8 @@ IndirectAssetReference AssetCreationContext::LoadIndirectAssetReferenceGeneric(c const auto result = m_creators->CreateAsset(assetType, assetName, *this); if (result.HasTakenAction() && !result.HasFailed()) { - con::info(R"(Loaded {} "{}")", assetTypeName, assetName); + auto* assetInfo = result.GetAssetInfo(); + con::info(R"(Loaded {} "{}" from {})", assetTypeName, assetName, GetAssetSourceDescription(m_zone, *assetInfo)); } else if (!result.HasTakenAction() && !result.HasFailed()) { @@ -249,8 +264,9 @@ XAssetInfoGeneric* AssetCreationContext::ForceLoadDependencyGeneric(const asset_ { if (!result.HasFailed()) { - con::info(R"(Loaded {} "{}")", assetTypeName, assetName); - return result.GetAssetInfo(); + auto* assetInfo = result.GetAssetInfo(); + con::info(R"(Loaded {} "{}" from {})", assetTypeName, assetName, GetAssetSourceDescription(m_zone, *assetInfo)); + return assetInfo; } con::error(R"(Could not load asset "{}" of type "{}")", assetName, assetTypeName);