Bläddra i källkod

Merge pull request #1332 from Azaezel/alpha41/configConfusion

correct malformed config passalong
Areloch 9 månader sedan
förälder
incheckning
49c76cc486

+ 6 - 1
Engine/source/T3D/assets/assetImporter.cpp

@@ -159,6 +159,7 @@ void AssetImportConfig::initPersistFields()
       addField("AdjustFloor", TypeBool, Offset(AdjustFloor, AssetImportConfig), "Indicates if the floor height of the model file should be automatically zero'd");
       addField("CollapseSubmeshes", TypeBool, Offset(CollapseSubmeshes, AssetImportConfig), "Indicates if submeshes should be collapsed down into a single main mesh");
       addField("LODType", TypeRealString, Offset(LODType, AssetImportConfig), "Indicates what LOD mode the model file should utilize to process out LODs. Options are TrailingNumber, DetectDTS, SingleSize");
+      addField("singleDetailSize", TypeS32, Offset(singleDetailSize, AssetImportConfig), "what lod value to use if all submeshes are set to the same detail level");
       addField("AlwaysImportedNodes", TypeRealString, Offset(AlwaysImportedNodes, AssetImportConfig), " A list of what nodes should be guaranteed to be imported if found in the model file. Separated by either , or ;");
       addField("AlwaysIgnoreNodes", TypeRealString, Offset(AlwaysIgnoreNodes, AssetImportConfig), "A list of what nodes should be guaranteed to not be imported if found in the model file. Separated by either , or ;");
       addField("AlwaysImportMeshes", TypeRealString, Offset(AlwaysImportMeshes, AssetImportConfig), "A list of what mesh objects should be guaranteed to be imported if found in the model file. Separated by either , or ;");
@@ -258,6 +259,7 @@ void AssetImportConfig::loadImportConfig(Settings* configSettings, String config
    AdjustFloor = dAtob(configSettings->value(String(configName + "/Meshes/AdjustFloor").c_str()));
    CollapseSubmeshes = dAtob(configSettings->value(String(configName + "/Meshes/CollapseSubmeshes").c_str()));
    LODType = configSettings->value(String(configName + "/Meshes/LODType").c_str());
+   singleDetailSize = dAtoi(configSettings->value(String(configName + "/Meshes/singleDetailSize").c_str()));
    AlwaysImportedNodes = configSettings->value(String(configName + "/Meshes/AlwaysImportedNodes").c_str());
    AlwaysIgnoreNodes = configSettings->value(String(configName + "/Meshes/AlwaysIgnoreNodes").c_str());
    AlwaysImportMeshes = configSettings->value(String(configName + "/Meshes/AlwaysImportMeshes").c_str());
@@ -352,6 +354,7 @@ void AssetImportConfig::CopyTo(AssetImportConfig* target) const
    target->AdjustFloor = AdjustFloor;
    target->CollapseSubmeshes = CollapseSubmeshes;
    target->LODType = LODType;
+   target->singleDetailSize = singleDetailSize;
    target->AlwaysImportedNodes = AlwaysImportedNodes;
    target->AlwaysIgnoreNodes = AlwaysIgnoreNodes;
    target->AlwaysImportMeshes = AlwaysImportMeshes;
@@ -1474,6 +1477,8 @@ void AssetImportConfig::loadSISFile(Torque::Path filePath)
          CollapseSubmeshes = dAtob(value.c_str());
       else if (key.compare("LODType", 0U, String::NoCase) == 0)
          LODType = value.c_str();
+      else if (key.compare("singleDetailSize", 0U, String::NoCase) == 0)
+         singleDetailSize = dAtoi(value.c_str());
       else if (key.compare("AlwaysImportedNodes", 0U, String::NoCase) == 0)
          AlwaysImportedNodes = value.c_str();
       else if (key.compare("AlwaysIgnoreNodes", 0U, String::NoCase) == 0)
@@ -3276,7 +3281,7 @@ Torque::Path AssetImporter::importShapeAsset(AssetImportObject* assetItem)
          lodType = ColladaUtils::ImportOptions::eLodType::DetectDTS;
       constructor->mOptions.lodType = (ColladaUtils::ImportOptions::eLodType)lodType;
 
-      constructor->mOptions.singleDetailSize = activeImportConfig->convertLeftHanded;
+      constructor->mOptions.singleDetailSize = activeImportConfig->singleDetailSize;
       constructor->mOptions.alwaysImport = activeImportConfig->AlwaysImportedNodes;
       constructor->mOptions.neverImport = activeImportConfig->AlwaysIgnoreNodes;
       constructor->mOptions.alwaysImportMesh = activeImportConfig->AlwaysImportMeshes;

+ 5 - 0
Engine/source/T3D/assets/assetImporter.h

@@ -118,6 +118,11 @@ public:
    /// </summary>
    String AlwaysImportedNodes;
 
+   /// <summary>
+   /// what lod value to use if all submeshes are set to the same detail level
+   /// </summary>
+   S32 singleDetailSize;
+
    /// <summary>
    /// A list of what nodes should be guaranteed to not be imported if found in the model file. Separated by either , or ;
    /// </summary>