From 10acab1b0712f72ce8c996551b5216d09e181d8d Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Tue, 23 Sep 2025 19:09:20 +0100 Subject: [PATCH] more fixes DSQ Fixes --- Engine/source/T3D/assets/assetImporter.cpp | 2 +- Engine/source/ts/assimp/assimpShapeLoader.cpp | 9 ++++++++- Engine/source/ts/tsShapeConstruct.cpp | 6 ++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Engine/source/T3D/assets/assetImporter.cpp b/Engine/source/T3D/assets/assetImporter.cpp index b6ce8b535..3fb908cb8 100644 --- a/Engine/source/T3D/assets/assetImporter.cpp +++ b/Engine/source/T3D/assets/assetImporter.cpp @@ -2097,7 +2097,7 @@ void AssetImporter::processShapeAnimationAsset(AssetImportObject* assetItem) { enumColladaForImport(filePath, shapeInfo, false); } - else if (fileExt.compare("dts") == 0 || fileExt.compare("dsq") == 0) + else if (fileExt.compare("dts") == 0) { enumDTSForImport(filePath, shapeInfo); } diff --git a/Engine/source/ts/assimp/assimpShapeLoader.cpp b/Engine/source/ts/assimp/assimpShapeLoader.cpp index 444b0a256..8fd0785c9 100644 --- a/Engine/source/ts/assimp/assimpShapeLoader.cpp +++ b/Engine/source/ts/assimp/assimpShapeLoader.cpp @@ -968,7 +968,14 @@ TSShape* assimpLoadShape(const Torque::Path &path) TSShapeLoader::updateProgress(TSShapeLoader::Load_Complete, "Import complete"); Con::printf("[ASSIMP] Shape created successfully."); - if (tss->meshes.empty()) + bool realMesh = false; + for (U32 i = 0; i < tss->meshes.size(); ++i) + { + if (tss->meshes[i] && tss->meshes[i]->getMeshType() != TSMesh::NullMeshType) + realMesh = true; + } + + if (!realMesh) { Torque::Path dsqPath(cachedPath); dsqPath.setExtension("dsq"); diff --git a/Engine/source/ts/tsShapeConstruct.cpp b/Engine/source/ts/tsShapeConstruct.cpp index 8b38d44e5..9acba6cbe 100644 --- a/Engine/source/ts/tsShapeConstruct.cpp +++ b/Engine/source/ts/tsShapeConstruct.cpp @@ -2155,15 +2155,13 @@ DefineTSShapeConstructorMethod(addSequence, bool, StringTableEntry assetType = AssetDatabase.getAssetType(assetId); if (assetType == StringTable->insert("ShapeAsset")) { - ShapeAsset* asset = AssetDatabase.acquireAsset(assetId); + AssetPtr asset = assetId; srcPath = asset->getShapeFile(); - AssetDatabase.releaseAsset(assetId); } else if (assetType == StringTable->insert("ShapeAnimationAsset")) { - ShapeAnimationAsset* asset = AssetDatabase.acquireAsset(assetId); + AssetPtr asset = assetId; srcPath = asset->getAnimationPath(); - AssetDatabase.releaseAsset(assetId); } }