Pārlūkot izejas kodu

more fixes

DSQ Fixes
marauder2k7 2 nedēļas atpakaļ
vecāks
revīzija
10acab1b07

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

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

+ 2 - 4
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<ShapeAsset>(assetId);
+         AssetPtr<ShapeAsset> asset = assetId;
          srcPath = asset->getShapeFile();
-         AssetDatabase.releaseAsset(assetId);
       }
       else if (assetType == StringTable->insert("ShapeAnimationAsset"))
       {
-         ShapeAnimationAsset* asset = AssetDatabase.acquireAsset<ShapeAnimationAsset>(assetId);
+         AssetPtr<ShapeAnimationAsset> asset = assetId;
          srcPath = asset->getAnimationPath();
-         AssetDatabase.releaseAsset(assetId);
       }
    }