Browse Source

even more precice filtering for dts vs dsq

AzaezelX 4 tuần trước cách đây
mục cha
commit
b69c0d2a0f

+ 8 - 1
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");

+ 8 - 1
Engine/source/ts/collada/colladaShapeLoader.cpp

@@ -725,7 +725,14 @@ TSShape* loadColladaShape(const Torque::Path &path)
       {
 #ifndef DAE2DTS_TOOL
 
-         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");