Bladeren bron

Fix up handling of assets marked for UseForDependencies during import process

Areloch 2 jaren geleden
bovenliggende
commit
727c5b1e59
1 gewijzigde bestanden met toevoegingen van 15 en 7 verwijderingen
  1. 15 7
      Engine/source/T3D/assets/assetImporter.cpp

+ 15 - 7
Engine/source/T3D/assets/assetImporter.cpp

@@ -1549,15 +1549,17 @@ void AssetImporter::processImportAssets(AssetImportObject* assetItem)
       {
          processShapeAnimationAsset(item);
       }
-		else
-		{
-		   String processCommand = "process";
-		   processCommand += item->assetType;
+      else
+      {
+         String processCommand = "process";
+         processCommand += item->assetType;
          if (isMethod(processCommand.c_str()))
-		      Con::executef(this, processCommand.c_str(), item);
-		}
+            Con::executef(this, processCommand.c_str(), item);
+      }
 
-      item->importStatus = AssetImportObject::Processed;
+      //If we've already set our status in the processing phase, don't override that new status
+      if(item->importStatus == AssetImportObject::NotProcessed)
+         item->importStatus = AssetImportObject::Processed;
 
       //try recusing on the children(if any)
       processImportAssets(item);
@@ -2419,6 +2421,12 @@ bool AssetImporter::checkAssetForCollision(AssetImportObject* assetItemToCheck,
 
 void AssetImporter::resolveAssetItemIssues(AssetImportObject* assetItem)
 {
+   if(assetItem->importStatus == AssetImportObject::UseForDependencies)
+   {
+      //if we've already marked as only existing for dependency reasons, we'll just skip resolving any issues with it
+      importIssues = false;
+      return;
+   }
    if (assetItem->statusType == String("DuplicateImportAsset") || assetItem->statusType == String("DuplicateAsset"))
    {
       String humanReadableReason = assetItem->statusType == String("DuplicateImportAsset") ? "Importing asset was duplicate of another importing asset" : "Importing asset was duplicate of an existing asset";