From 6495ee16c6eb5f17f70d4aef94f064991dc8849f Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Thu, 31 Dec 2020 18:54:31 -0600 Subject: [PATCH 1/2] report shape file location that failed to load, set loaded status to badfilereference if getAssetById can't even find noshape --- Engine/source/T3D/assets/ShapeAsset.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Engine/source/T3D/assets/ShapeAsset.cpp b/Engine/source/T3D/assets/ShapeAsset.cpp index acf35eaef..aa684b3b3 100644 --- a/Engine/source/T3D/assets/ShapeAsset.cpp +++ b/Engine/source/T3D/assets/ShapeAsset.cpp @@ -274,7 +274,7 @@ bool ShapeAsset::loadShape() if (!mShape) { - Con::errorf("ShapeAsset::loadShape : failed to load shape file!"); + Con::errorf("ShapeAsset::loadShape : failed to load shape file %s!", mFilePath); mLoadedState = BadFileReference; return false; //if it failed to load, bail out } @@ -437,12 +437,16 @@ U32 ShapeAsset::getAssetById(StringTableEntry assetId, AssetPtr* sha if ((*shapeAsset)) return (*shapeAsset)->mLoadedState; - //Didn't work, so have us fall back to a placeholder asset - StringTableEntry noShapeId = StringTable->insert("Core_Rendering:noshape"); - shapeAsset->setAssetId(noShapeId); - if (shapeAsset->notNull()) { + //Didn't work, so have us fall back to a placeholder asset + StringTableEntry noShapeId = StringTable->insert("Core_Rendering:noshape"); + shapeAsset->setAssetId(noShapeId); + + //handle noshape not being loaded itself + if ((*shapeAsset)->mLoadedState == BadFileReference) + return AssetErrCode::Failed; + (*shapeAsset)->mLoadedState = AssetErrCode::UsingFallback; return AssetErrCode::UsingFallback; } From 5e8862dafca7a6e1e9d8bdb112f0697f1b3927bb Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Thu, 31 Dec 2020 19:38:53 -0600 Subject: [PATCH 2/2] further info by request --- Engine/source/T3D/assets/ShapeAsset.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Engine/source/T3D/assets/ShapeAsset.cpp b/Engine/source/T3D/assets/ShapeAsset.cpp index aa684b3b3..a247614d9 100644 --- a/Engine/source/T3D/assets/ShapeAsset.cpp +++ b/Engine/source/T3D/assets/ShapeAsset.cpp @@ -274,7 +274,7 @@ bool ShapeAsset::loadShape() if (!mShape) { - Con::errorf("ShapeAsset::loadShape : failed to load shape file %s!", mFilePath); + Con::errorf("ShapeAsset::loadShape : failed to load shape file %s (%s)!", getAssetName(), mFilePath); mLoadedState = BadFileReference; return false; //if it failed to load, bail out }