diff --git a/Engine/source/T3D/assets/ShapeAsset.cpp b/Engine/source/T3D/assets/ShapeAsset.cpp index 0ec856cde..c93ad75aa 100644 --- a/Engine/source/T3D/assets/ShapeAsset.cpp +++ b/Engine/source/T3D/assets/ShapeAsset.cpp @@ -368,7 +368,6 @@ U32 ShapeAsset::load() if (!mShape) { - Con::errorf("ShapeAsset::loadShape : failed to load shape file %s (%s)!", getAssetName(), mShapeFile); mLoadedState = BadFileReference; return mLoadedState; //if it failed to load, bail out } diff --git a/Engine/source/T3D/debris.cpp b/Engine/source/T3D/debris.cpp index c64ee5bfd..72e50f9ae 100644 --- a/Engine/source/T3D/debris.cpp +++ b/Engine/source/T3D/debris.cpp @@ -276,12 +276,10 @@ bool DebrisData::preload(bool server, String &errorStr) if (getShape()) { - { - TSShapeInstance* pDummy = new TSShapeInstance(getShape(), !server); - delete pDummy; - if (!server && !getShape()->preloadMaterialList(getShapeFile()) && NetConnection::filesWereDownloaded()) - return false; - } + TSShapeInstance* pDummy = new TSShapeInstance(getShape(), !server); + delete pDummy; + if (!server && !getShape()->preloadMaterialList(getShapeFile()) && NetConnection::filesWereDownloaded()) + return false; } else if (!mShapeAsset.isNull()) { diff --git a/Engine/source/T3D/fx/explosion.cpp b/Engine/source/T3D/fx/explosion.cpp index f30709905..b0e194ddd 100644 --- a/Engine/source/T3D/fx/explosion.cpp +++ b/Engine/source/T3D/fx/explosion.cpp @@ -905,7 +905,13 @@ bool ExplosionData::preload(bool server, String &errorStr) TSShapeInstance* pDummy = new TSShapeInstance(getExplosionShape(), !server); delete pDummy; - } else { + } + else if (mExplosionShapeAsset.notNull()) + { + errorStr = String::ToString("ExplosionData::preload: Couldn't load shape \"%s\"", _getExplosionShapeAssetId()); + return false; + } + else { explosionAnimation = -1; } diff --git a/Engine/source/T3D/projectile.cpp b/Engine/source/T3D/projectile.cpp index 3f63e6b7f..a9eb4a282 100644 --- a/Engine/source/T3D/projectile.cpp +++ b/Engine/source/T3D/projectile.cpp @@ -389,9 +389,9 @@ bool ProjectileData::preload(bool server, String &errorStr) TSShapeInstance* pDummy = new TSShapeInstance(getProjectileShape(), !server); delete pDummy; } - else + else if (mProjectileShapeAsset.notNull()) { - errorStr = String::ToString("ProjectileData::load: Couldn't load shape \"%s\"", _getProjectileShapeAssetId()); + errorStr = String::ToString("ProjectileData::preload: Couldn't load shape \"%s\"", _getProjectileShapeAssetId()); return false; } diff --git a/Engine/source/T3D/shapeBase.cpp b/Engine/source/T3D/shapeBase.cpp index 03a2b18eb..7f74e4c15 100644 --- a/Engine/source/T3D/shapeBase.cpp +++ b/Engine/source/T3D/shapeBase.cpp @@ -499,6 +499,8 @@ bool ShapeBaseData::preload(bool server, String &errorStr) } } } + else + Con::errorf("ShapeBaseData::preload -%s failed: %s", mShapeAsset.getAssetId(), ShapeAsset::getAssetErrstrn(assetStatus)); } if(!server) diff --git a/Engine/source/ts/tsShapeConstruct.cpp b/Engine/source/ts/tsShapeConstruct.cpp index f3f540f8a..1db3c9db9 100644 --- a/Engine/source/ts/tsShapeConstruct.cpp +++ b/Engine/source/ts/tsShapeConstruct.cpp @@ -559,7 +559,7 @@ void TSShapeConstructor::setShapeAssetId(StringTableEntry assetId) mShapeAsset = mShapeAssetId; if (mShapeAsset.notNull()) { - Resource shape = mShapeAsset->getShapeResource(); + TSShape* shape = mShapeAsset->getShape(); if (shape) _onLoad(shape);