Merge pull request #433 from Azaezel/alpha40/shapeAssetErrorFollowups

moar asset errorhandling
This commit is contained in:
Brian Roberts 2021-01-02 11:09:31 -06:00 committed by GitHub
commit 03e6b5b096
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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 (%s)!", getAssetName(), mFilePath);
mLoadedState = BadFileReference;
return false; //if it failed to load, bail out
}
@ -437,12 +437,16 @@ U32 ShapeAsset::getAssetById(StringTableEntry assetId, AssetPtr<ShapeAsset>* 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;
}