Initial implementation of separated client and server create/destroy functions for module setup

Implements fix so cubemap arrays load correctly when texture resolution settings have been lowered
Begun refactor of asset import config editing/settings.
This commit is contained in:
Jeff Raab 2019-08-01 01:38:36 -05:00
parent bbe00a246c
commit da18eaff45
14 changed files with 462 additions and 407 deletions

View file

@ -513,79 +513,18 @@ function ImportAssetWindow::reloadImportOptionConfigs(%this)
if(%xmlDoc.loadFile($AssetBrowser::importConfigsFile))
{
//StateMachine element
%xmlDoc.pushFirstChildElement("AssetImportSettings");
if(!%xmlDoc.pushFirstChildElement("AssetImportConfigs"))
{
error("Invalid Import Configs file");
return;
}
//Config Groups
%configCount = 0;
while(%xmlDoc.pushChildElement(%configCount))
{
%configName = %xmlDoc.attribute("name");
/*%xmlDoc.pushFirstChildElement("Mesh");
%configObj.ImportMesh = %xmlDoc.attribute("ImportMesh");
%configObj.DoUpAxisOverride = %xmlDoc.attribute("DoUpAxisOverride");
%configObj.UpAxisOverride = %xmlDoc.attribute("UpAxisOverride");
%configObj.DoScaleOverride = %xmlDoc.attribute("DoScaleOverride");
%configObj.ScaleOverride = %xmlDoc.attribute("ScaleOverride");
%configObj.IgnoreNodeScale = %xmlDoc.attribute("IgnoreNodeScale");
%configObj.AdjustCenter = %xmlDoc.attribute("AdjustCenter");
%configObj.AdjustFloor = %xmlDoc.attribute("AdjustFloor");
%configObj.CollapseSubmeshes = %xmlDoc.attribute("CollapseSubmeshes");
%configObj.LODType = %xmlDoc.attribute("LODType");
%configObj.ImportedNodes = %xmlDoc.attribute("ImportedNodes");
%configObj.IgnoreNodes = %xmlDoc.attribute("IgnoreNodes");
%configObj.ImportMeshes = %xmlDoc.attribute("ImportMeshes");
%configObj.IgnoreMeshes = %xmlDoc.attribute("IgnoreMeshes");
%xmlDoc.popElement();
%xmlDoc.pushFirstChildElement("Materials");
%configObj.ImportMaterials = %xmlDoc.attribute("ImportMaterials");
%configObj.IgnoreMaterials = %xmlDoc.attribute("IgnoreMaterials");
%configObj.CreateComposites = %xmlDoc.attribute("CreateComposites");
%configObj.UseDiffuseSuffixOnOriginImg = %xmlDoc.attribute("UseDiffuseSuffixOnOriginImg");
%configObj.UseExistingMaterials = %xmlDoc.attribute("UseExistingMaterials");
%xmlDoc.popElement();
%xmlDoc.pushFirstChildElement("Animations");
%configObj.ImportAnimations = %xmlDoc.attribute("ImportAnimations");
%configObj.SeparateAnimations = %xmlDoc.attribute("SeparateAnimations");
%configObj.SeparateAnimationPrefix = %xmlDoc.attribute("SeparateAnimationPrefix");
%xmlDoc.popElement();
%xmlDoc.pushFirstChildElement("Collisions");
%configObj.GenerateCollisions = %xmlDoc.attribute("GenerateCollisions");
%configObj.GenCollisionType = %xmlDoc.attribute("GenCollisionType");
%configObj.CollisionMeshPrefix = %xmlDoc.attribute("CollisionMeshPrefix");
%configObj.GenerateLOSCollisions = %xmlDoc.attribute("GenerateLOSCollisions");
%configObj.GenLOSCollisionType = %xmlDoc.attribute("GenLOSCollisionType");
%configObj.LOSCollisionMeshPrefix = %xmlDoc.attribute("LOSCollisionMeshPrefix");
%xmlDoc.popElement();
%xmlDoc.pushFirstChildElement("Images");
%configObj.ImageType = %xmlDoc.attribute("ImageType");
%configObj.DiffuseTypeSuffixes = %xmlDoc.attribute("DiffuseTypeSuffixes");
%configObj.NormalTypeSuffixes = %xmlDoc.attribute("NormalTypeSuffixes");
%configObj.SpecularTypeSuffixes = %xmlDoc.attribute("SpecularTypeSuffixes");
%configObj.MetalnessTypeSuffixes = %xmlDoc.attribute("MetalnessTypeSuffixes");
%configObj.RoughnessTypeSuffixes = %xmlDoc.attribute("RoughnessTypeSuffixes");
%configObj.SmoothnessTypeSuffixes = %xmlDoc.attribute("SmoothnessTypeSuffixes");
%configObj.AOTypeSuffixes = %xmlDoc.attribute("AOTypeSuffixes");
%configObj.CompositeTypeSuffixes = %xmlDoc.attribute("CompositeTypeSuffixes");
%configObj.TextureFilteringMode = %xmlDoc.attribute("TextureFilteringMode");
%configObj.UseMips = %xmlDoc.attribute("UseMips");
%configObj.IsHDR = %xmlDoc.attribute("IsHDR");
%configObj.Scaling = %xmlDoc.attribute("Scaling");
%configObj.Compressed = %xmlDoc.attribute("Compressed");
%configObj.GenerateMaterialOnImport = %xmlDoc.attribute("GenerateMaterialOnImport");
%configObj.PopulateMaterialMaps = %xmlDoc.attribute("PopulateMaterialMaps");
%xmlDoc.popElement();
%xmlDoc.pushFirstChildElement("Sounds");
%configObj.VolumeAdjust = %xmlDoc.attribute("VolumeAdjust");
%configObj.PitchAdjust = %xmlDoc.attribute("PitchAdjust");
%configObj.Compressed = %xmlDoc.attribute("Compressed");
%xmlDoc.popElement();*/
%configName = %xmlDoc.attribute("Name");
%xmlDoc.popElement();
%configCount++;
@ -595,6 +534,8 @@ function ImportAssetWindow::reloadImportOptionConfigs(%this)
%xmlDoc.popElement();
}
ImportAssetWindow.importConfigsList.add(%configName);
for(%i = 0; %i < ImportAssetWindow.importConfigsList.count(); %i++)
{
%configName = ImportAssetWindow.importConfigsList.getKey(%i);
@ -773,10 +714,10 @@ function ImportAssetWindow::_findImportingAssetByName(%this, %id, %assetName)
function ImportAssetWindow::parseImageSuffixes(%this, %assetItem)
{
//diffuse
%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.DiffuseTypeSuffixes, ",;");
%suffixCount = getTokenCount(getAssetImportConfigValue("Image/DiffuseTypeSuffixes", ""), ",;");
for(%sfx = 0; %sfx < %suffixCount; %sfx++)
{
%suffixToken = getToken(ImportAssetWindow.activeImportConfig.DiffuseTypeSuffixes, ",;", %sfx);
%suffixToken = getToken(getAssetImportConfigValue("Image/DiffuseTypeSuffixes", ""), ",;", %sfx);
if(strIsMatchExpr("*"@%suffixToken, %assetItem.AssetName))
{
%assetItem.imageSuffixType = %suffixToken;
@ -785,10 +726,10 @@ function ImportAssetWindow::parseImageSuffixes(%this, %assetItem)
}
//normal
%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.NormalTypeSuffixes, ",;");
%suffixCount = getTokenCount(getAssetImportConfigValue("Image/NormalTypeSuffixes", ""), ",;");
for(%sfx = 0; %sfx < %suffixCount; %sfx++)
{
%suffixToken = getToken(ImportAssetWindow.activeImportConfig.NormalTypeSuffixes, ",;", %sfx);
%suffixToken = getToken(getAssetImportConfigValue("Image/NormalTypeSuffixes", ""), ",;", %sfx);
if(strIsMatchExpr("*"@%suffixToken, %assetItem.AssetName))
{
%assetItem.imageSuffixType = %suffixToken;
@ -797,10 +738,10 @@ function ImportAssetWindow::parseImageSuffixes(%this, %assetItem)
}
//roughness
%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.RoughnessTypeSuffixes, ",;");
%suffixCount = getTokenCount(getAssetImportConfigValue("Image/RoughnessTypeSuffixes", ""), ",;");
for(%sfx = 0; %sfx < %suffixCount; %sfx++)
{
%suffixToken = getToken(ImportAssetWindow.activeImportConfig.RoughnessTypeSuffixes, ",;", %sfx);
%suffixToken = getToken(getAssetImportConfigValue("Image/RoughnessTypeSuffixes", ""), ",;", %sfx);
if(strIsMatchExpr("*"@%suffixToken, %assetItem.AssetName))
{
%assetItem.imageSuffixType = %suffixToken;
@ -809,10 +750,10 @@ function ImportAssetWindow::parseImageSuffixes(%this, %assetItem)
}
//Ambient Occlusion
%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.AOTypeSuffixes, ",;");
%suffixCount = getTokenCount(getAssetImportConfigValue("Image/AOTypeSuffixes", ""), ",;");
for(%sfx = 0; %sfx < %suffixCount; %sfx++)
{
%suffixToken = getToken(ImportAssetWindow.activeImportConfig.AOTypeSuffixes, ",;", %sfx);
%suffixToken = getToken(getAssetImportConfigValue("Image/AOTypeSuffixes", ""), ",;", %sfx);
if(strIsMatchExpr("*"@%suffixToken, %assetItem.AssetName))
{
%assetItem.imageSuffixType = %suffixToken;
@ -821,10 +762,10 @@ function ImportAssetWindow::parseImageSuffixes(%this, %assetItem)
}
//metalness
%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.MetalnessTypeSuffixes, ",;");
%suffixCount = getTokenCount(getAssetImportConfigValue("Image/MetalnessTypeSuffixes", ""), ",;");
for(%sfx = 0; %sfx < %suffixCount; %sfx++)
{
%suffixToken = getToken(ImportAssetWindow.activeImportConfig.MetalnessTypeSuffixes, ",;", %sfx);
%suffixToken = getToken(getAssetImportConfigValue("Image/MetalnessTypeSuffixes", ""), ",;", %sfx);
if(strIsMatchExpr("*"@%suffixToken, %assetItem.AssetName))
{
%assetItem.imageSuffixType = %suffixToken;
@ -833,10 +774,10 @@ function ImportAssetWindow::parseImageSuffixes(%this, %assetItem)
}
//composite
%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.CompositeTypeSuffixes, ",;");
%suffixCount = getTokenCount(getAssetImportConfigValue("Image/CompositeTypeSuffixes", ""), ",;");
for(%sfx = 0; %sfx < %suffixCount; %sfx++)
{
%suffixToken = getToken(ImportAssetWindow.activeImportConfig.CompositeTypeSuffixes, ",;", %sfx);
%suffixToken = getToken(getAssetImportConfigValue("Image/CompositeTypeSuffixes", ""), ",;", %sfx);
if(strIsMatchExpr("*"@%suffixToken, %assetItem.AssetName))
{
%assetItem.imageSuffixType = %suffixToken;
@ -845,7 +786,7 @@ function ImportAssetWindow::parseImageSuffixes(%this, %assetItem)
}
//specular
%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.SpecularTypeSuffixes, ",;");
/*%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.SpecularTypeSuffixes, ",;");
for(%sfx = 0; %sfx < %suffixCount; %sfx++)
{
%suffixToken = getToken(ImportAssetWindow.activeImportConfig.SpecularTypeSuffixes, ",;", %sfx);
@ -854,7 +795,7 @@ function ImportAssetWindow::parseImageSuffixes(%this, %assetItem)
%assetItem.imageSuffixType = %suffixToken;
return "specular";
}
}
}*/
return "";
}

View file

@ -8,7 +8,6 @@ function ImportAssetConfigList::onSelect( %this, %id, %text )
ImportAssetWindow.activeImportConfigIndex = %id;
ImportAssetWindow.activeImportConfig = ImportAssetWindow.importConfigsList.getKey(%id);
//ImportAssetWindow.refresh();
AssetBrowser.reloadImportingFiles();
}
@ -187,14 +186,25 @@ function ImportOptionsList::ImportMaterialsChanged(%this, %fieldName, %newValue,
echo("CHANGED IF OUR IMPORTED MATERIALS WERE HAPPENING!");
}
function getAssetImportConfigValue(%fieldName, %defaultValue)
{
if(ImportAssetWindow.activeImportConfig $= "")
return "";
return AssetImportSettings.value(ImportAssetWindow.activeImportConfig @ "/" @ %fieldName, %defaultValue);
}
function ImportAssetConfigEditorWindow::populateConfigList(%this, %optionsObj)
{
AssetImportConfigName.setText(%optionsObj.Name);
ImportOptionsConfigList.clear();
ImportOptionsConfigList.clearFields();
ImportOptionsConfigList.startGroup("Mesh");
ImportOptionsConfigList.addCallbackField("ImportMesh", "Import Mesh", "bool", "", "1", "", "ToggleImportMesh", %optionsObj);
ImportOptionsConfigList.addSettingsField("Mesh/ImportMesh", "Import Mesh", "bool", "Should meshes be imported", "");
ImportOptionsConfigList.endGroup();
/*ImportOptionsConfigList.addCallbackField("ImportMesh", "Import Mesh", "bool", "", "1", "", "ToggleImportMesh", %optionsObj);
ImportOptionsConfigList.addField("DoUpAxisOverride", "Do Up-axis Override", "bool", "", "0", "", %optionsObj);
ImportOptionsConfigList.addField("UpAxisOverride", "Up-axis Override", "list", "", "Z_AXIS", "X_AXIS,Y_AXIS,Z_AXIS", %optionsObj);
ImportOptionsConfigList.addField("DoScaleOverride", "Do Scale Override", "bool", "", "0", "", %optionsObj);
@ -270,80 +280,80 @@ function ImportAssetConfigEditorWindow::populateConfigList(%this, %optionsObj)
ImportOptionsConfigList.addField("VolumeAdjust", "Volume Adjustment", "float", "", "1.0", "", %optionsObj);
ImportOptionsConfigList.addField("PitchAdjust", "Pitch Adjustment", "float", "", "1.0", "", %optionsObj);
ImportOptionsConfigList.addField("Compressed", "Is Compressed", "bool", "", "0", "", %optionsObj);
ImportOptionsConfigList.endGroup();
ImportOptionsConfigList.endGroup();*/
}
function ImportAssetConfigEditorWindow::addNewConfig(%this)
{
ImportAssetConfigEditorWindow.setVisible(1);
ImportAssetConfigEditorWindow.selectWindow();
ImportAssetNewConfigEditorWindow.setVisible(1);
ImportAssetNewConfigEditorWindow.selectWindow();
%optionsObj = new ScriptObject(){};
%configName = AssetImportConfigName.getText();
ImportAssetWindow.importConfigsList.add(%optionsObj);
AssetImportSettings.beginGroup(%configName);
//Initial, blank configuration
%optionsObj.ImportMesh = true;
%optionsObj.DoUpAxisOverride = false;
%optionsObj.UpAxisOverride = "Z_AXIS";
%optionsObj.DoScaleOverride = false;
%optionsObj.ScaleOverride = 1.0;
%optionsObj.IgnoreNodeScale = false;
%optionsObj.AdjustCenter = false;
%optionsObj.AdjustFloor = false;
%optionsObj.CollapseSubmeshes = false;
%optionsObj.LODType = "TrailingNumber";
//%optionsObj.TrailingNumber = 2;
%optionsObj.ImportedNodes = "";
%optionsObj.IgnoreNodes = "";
%optionsObj.ImportMeshes = "";
%optionsObj.IgnoreMeshes = "";
//Meshes
AssetImportSettings.setValue("Meshes/ImportMesh", "1");
AssetImportSettings.setValue("Meshes/DoUpAxisOverride", "0");
AssetImportSettings.setValue("Meshes/UpAxisOverride", "Z_AXIS");
AssetImportSettings.setValue("Meshes/DoScaleOverride", "0");
AssetImportSettings.setValue("Meshes/ScaleOverride", "1.0");
AssetImportSettings.setValue("Meshes/IgnoreNodeScale", "0");
AssetImportSettings.setValue("Meshes/AdjustCenter", "0");
AssetImportSettings.setValue("Meshes/AdjustFloor", "0");
AssetImportSettings.setValue("Meshes/CollapseSubmeshes", "0");
AssetImportSettings.setValue("Meshes/LODType", "TrailingNumber");
AssetImportSettings.setValue("Meshes/ImportedNodes", "");
AssetImportSettings.setValue("Meshes/IgnoreNodes", "");
AssetImportSettings.setValue("Meshes/ImportMeshes", "");
AssetImportSettings.setValue("Meshes/IgnoreMeshes", "");
//Materials
%optionsObj.ImportMaterials = true;
%optionsObj.IgnoreMaterials = "";
%optionsObj.CreateComposites = true;
%optionsObj.UseDiffuseSuffixOnOriginImg = true;
%optionsObj.UseExistingMaterials = true;
AssetImportSettings.setValue("Materials/ImportMaterials", "1");
AssetImportSettings.setValue("Materials/IgnoreMaterials", "");
AssetImportSettings.setValue("Materials/CreateComposites", "1");
AssetImportSettings.setValue("Materials/UseDiffuseSuffixOnOriginImage", "1");
AssetImportSettings.setValue("Materials/UseExistingMaterials", "1");
//Animations
%optionsObj.ImportAnimations = true;
%optionsObj.SeparateAnimations = true;
%optionsObj.SeparateAnimationPrefix = "";
AssetImportSettings.setValue("Animations/ImportAnimations", "1");
AssetImportSettings.setValue("Animations/SeparateAnimations", "1");
AssetImportSettings.setValue("Animations/SeparateAnimationPrefix", "");
//Collision
%optionsObj.GenerateCollisions = true;
%optionsObj.GenCollisionType = "CollisionMesh";
%optionsObj.CollisionMeshPrefix = "Col";
%optionsObj.GenerateLOSCollisions = true;
%optionsObj.GenLOSCollisionType = "CollisionMesh";
%optionsObj.LOSCollisionMeshPrefix = "LOS";
AssetImportSettings.setValue("Collision/GenerateCollisions", "1");
AssetImportSettings.setValue("Collision/GenCollisionType", "CollisionMesh");
AssetImportSettings.setValue("Collision/CollisionMeshPrefix", "Col");
AssetImportSettings.setValue("Collision/GenerateLOSCollisions", "1");
AssetImportSettings.setValue("Collision/GenLOSCollisionType", "CollisionMesh");
AssetImportSettings.setValue("Collision/LOSCollisionMeshPrefix", "LOS");
//Images
%optionsObj.ImageType = "N/A";
%optionsObj.DiffuseTypeSuffixes = "_ALBEDO;_DIFFUSE;_ALB;_DIF;_COLOR;_COL;_BASECOLOR;_BASE_COLOR";
%optionsObj.NormalTypeSuffixes = "_NORMAL;_NORM";
%optionsObj.SpecularTypeSuffixes = "_SPECULAR;_SPEC";
%optionsObj.MetalnessTypeSuffixes = "_METAL;_MET;_METALNESS;_METALLIC";
%optionsObj.RoughnessTypeSuffixes = "_ROUGH;_ROUGHNESS";
%optionsObj.SmoothnessTypeSuffixes = "_SMOOTH;_SMOOTHNESS";
%optionsObj.AOTypeSuffixes = "_AO;_AMBIENT;_AMBIENTOCCLUSION";
%optionsObj.CompositeTypeSuffixes = "_COMP;_COMPOSITE";
%optionsObj.TextureFilteringMode = "Bilinear";
%optionsObj.UseMips = true;
%optionsObj.IsHDR = false;
%optionsObj.Scaling = 1.0;
%optionsObj.Compressed = true;
%optionsObj.GenerateMaterialOnImport = true;
%optionsObj.PopulateMaterialMaps = true;
AssetImportSettings.setValue("Images/ImageType", "N/A");
AssetImportSettings.setValue("Images/DiffuseTypeSuffixes", "_ALBEDO;_DIFFUSE;_ALB;_DIF;_COLOR;_COL;_BASECOLOR;_BASE_COLOR");
AssetImportSettings.setValue("Images/NormalTypeSuffixes", "_NORMAL;_NORM");
AssetImportSettings.setValue("Images/MetalnessTypeSuffixes", "_METAL;_MET;_METALNESS;_METALLIC");
AssetImportSettings.setValue("Images/RoughnessTypeSuffixes", "_ROUGH;_ROUGHNESS");
AssetImportSettings.setValue("Images/SmoothnessTypeSuffixes", "_SMOOTH;_SMOOTHNESS");
AssetImportSettings.setValue("Images/AOTypeSuffixes", "_AO;_AMBIENT;_AMBIENTOCCLUSION");
AssetImportSettings.setValue("Images/CompositeTypeSuffixes", "_COMP;_COMPOSITE");
AssetImportSettings.setValue("Images/TextureFilteringMode", "Bilinear");
AssetImportSettings.setValue("Images/UseMips", "1");
AssetImportSettings.setValue("Images/IsHDR", "0");
AssetImportSettings.setValue("Images/Scaling", "1.0");
AssetImportSettings.setValue("Images/Compressed", "1");
AssetImportSettings.setValue("Images/GenerateMaterialOnImport", "1");
AssetImportSettings.setValue("Images/PopulateMaterialMaps", "1");
//Sounds
%optionsObj.VolumeAdjust = 1.0;
%optionsObj.PitchAdjust = 1.0;
%optionsObj.Compressed = false;
AssetImportSettings.setValue("Sounds/VolumeAdjust", "1.0");
AssetImportSettings.setValue("Sounds/PitchAdjust", "1.0");
AssetImportSettings.setValue("Sounds/Compressed", "0");
AssetImportSettings.endGroup();
//Hook in the UI
%this.populateConfigList(%optionsObj);
//%this.populateConfigList(%optionsObj);
}
function ImportAssetConfigEditorWindow::editConfig(%this)
@ -364,97 +374,30 @@ function ImportAssetConfigEditorWindow::deleteConfig(%this)
function ImportAssetConfigEditorWindow::saveAssetOptionsConfig(%this)
{
%xmlDoc = new SimXMLDocument();
%xmlDoc.pushNewElement("AssetImportConfigs");
for(%i = 0; %i < ImportAssetWindow.importConfigsList.count(); %i++)
{
%configObj = ImportAssetWindow.importConfigsList.getKey(%i);
%xmlDoc.pushNewElement("Config");
if(%configObj.Name $= "")
%configObj.Name = AssetImportConfigName.getText();
%xmlDoc.setAttribute("Name", %configObj.Name);
%xmlDoc.pushNewElement("Mesh");
%xmlDoc.setAttribute("ImportMesh", %configObj.ImportMesh);
%xmlDoc.setAttribute("DoUpAxisOverride", %configObj.DoUpAxisOverride);
%xmlDoc.setAttribute("UpAxisOverride", %configObj.UpAxisOverride);
%xmlDoc.setAttribute("DoScaleOverride", %configObj.DoScaleOverride);
%xmlDoc.setAttribute("ScaleOverride", %configObj.ScaleOverride);
%xmlDoc.setAttribute("IgnoreNodeScale", %configObj.IgnoreNodeScale);
%xmlDoc.setAttribute("AdjustCenter", %configObj.AdjustCenter);
%xmlDoc.setAttribute("AdjustFloor", %configObj.AdjustFloor);
%xmlDoc.setAttribute("CollapseSubmeshes", %configObj.CollapseSubmeshes);
%xmlDoc.setAttribute("LODType", %configObj.LODType);
%xmlDoc.setAttribute("ImportedNodes", %configObj.ImportedNodes);
%xmlDoc.setAttribute("IgnoreNodes", %configObj.IgnoreNodes);
%xmlDoc.setAttribute("ImportMeshes", %configObj.ImportMeshes);
%xmlDoc.setAttribute("IgnoreMeshes", %configObj.IgnoreMeshes);
%xmlDoc.popElement();
%xmlDoc.pushNewElement("Materials");
%xmlDoc.setAttribute("ImportMaterials", %configObj.ImportMaterials);
%xmlDoc.setAttribute("IgnoreMaterials", %configObj.IgnoreMaterials);
%xmlDoc.setAttribute("CreateComposites", %configObj.CreateComposites);
%xmlDoc.setAttribute("UseDiffuseSuffixOnOriginImg", %configObj.UseDiffuseSuffixOnOriginImg);
%xmlDoc.setAttribute("UseExistingMaterials", %configObj.UseExistingMaterials);
%xmlDoc.popElement();
%xmlDoc.pushNewElement("Animations");
%xmlDoc.setAttribute("ImportAnimations", %configObj.ImportAnimations);
%xmlDoc.setAttribute("SeparateAnimations", %configObj.SeparateAnimations);
%xmlDoc.setAttribute("SeparateAnimationPrefix", %configObj.SeparateAnimationPrefix);
%xmlDoc.popElement();
%xmlDoc.pushNewElement("Collisions");
%xmlDoc.setAttribute("GenerateCollisions", %configObj.GenerateCollisions);
%xmlDoc.setAttribute("GenCollisionType", %configObj.GenCollisionType);
%xmlDoc.setAttribute("CollisionMeshPrefix", %configObj.CollisionMeshPrefix);
%xmlDoc.setAttribute("GenerateLOSCollisions", %configObj.GenerateLOSCollisions);
%xmlDoc.setAttribute("GenLOSCollisionType", %configObj.GenLOSCollisionType);
%xmlDoc.setAttribute("LOSCollisionMeshPrefix", %configObj.LOSCollisionMeshPrefix);
%xmlDoc.popElement();
%xmlDoc.pushNewElement("Images");
%xmlDoc.setAttribute("ImageType", %configObj.ImageType);
%xmlDoc.setAttribute("DiffuseTypeSuffixes", %configObj.DiffuseTypeSuffixes);
%xmlDoc.setAttribute("NormalTypeSuffixes", %configObj.NormalTypeSuffixes);
%xmlDoc.setAttribute("SpecularTypeSuffixes", %configObj.SpecularTypeSuffixes);
%xmlDoc.setAttribute("MetalnessTypeSuffixes", %configObj.MetalnessTypeSuffixes);
%xmlDoc.setAttribute("RoughnessTypeSuffixes", %configObj.RoughnessTypeSuffixes);
%xmlDoc.setAttribute("SmoothnessTypeSuffixes", %configObj.SmoothnessTypeSuffixes);
%xmlDoc.setAttribute("AOTypeSuffixes", %configObj.AOTypeSuffixes);
%xmlDoc.setAttribute("CompositeTypeSuffixes", %configObj.CompositeTypeSuffixes);
%xmlDoc.setAttribute("TextureFilteringMode", %configObj.TextureFilteringMode);
%xmlDoc.setAttribute("UseMips", %configObj.UseMips);
%xmlDoc.setAttribute("IsHDR", %configObj.IsHDR);
%xmlDoc.setAttribute("Scaling", %configObj.Scaling);
%xmlDoc.setAttribute("Compressed", %configObj.Compressed);
%xmlDoc.setAttribute("GenerateMaterialOnImport", %configObj.GenerateMaterialOnImport);
%xmlDoc.setAttribute("PopulateMaterialMaps", %configObj.PopulateMaterialMaps);
%xmlDoc.popElement();
%xmlDoc.pushNewElement("Sounds");
%xmlDoc.setAttribute("VolumeAdjust", %configObj.VolumeAdjust);
%xmlDoc.setAttribute("PitchAdjust", %configObj.PitchAdjust);
%xmlDoc.setAttribute("Compressed", %configObj.Compressed);
%xmlDoc.popElement();
%xmlDoc.popElement();
}
%xmlDoc.popElement();
%xmlDoc.saveFile($AssetBrowser::importConfigsFile);
%success = AssetImportSettings.write();
ImportAssetConfigEditorWindow.setVisible(0);
ImportAssetWindow.reloadImportOptionConfigs();
}
function ImportOptionsConfigList::addSettingsField(%this, %settingsFieldName, %labelText, %fieldType, %tooltip, %fieldData)
{
%moddedSettingsFieldName = strreplace(%settingsFieldName, "/", "-");
%this.addCallbackField(%moddedSettingsFieldName, %labelText, %fieldType, "", AssetImportSettings.value(%settingsFieldName), %fieldData, "changeEditorSetting");
}
function ImportOptionsConfigList::changeEditorSetting(%this, %varName, %value)
{
%varName = strreplace(%varName, "-", "/");
echo("Set " @ %varName @ " to be " @ %value);
AssetImportSettings.setValue(%varName, %value);
%success = AssetImportSettings.write();
}
function ImportOptionsConfigList::ToggleImportMesh(%this, %fieldName, %newValue, %ownerObject)
{
%this.setFieldEnabled("DoUpAxisOverride", %newValue);

View file

@ -1,6 +1,6 @@
function AssetBrowser::prepareImportImageAsset(%this, %assetItem)
{
if(ImportAssetWindow.activeImportConfig.GenerateMaterialOnImport == 1 && %assetItem.parentAssetItem $= "")
if(getAssetImportConfigValue("Images/GenerateMaterialOnImport", "1") == 1 && %assetItem.parentAssetItem $= "")
{
//First, see if this already has a suffix of some sort based on our import config logic. Many content pipeline tools like substance automatically appends them
%foundSuffixType = ImportAssetWindow.parseImageSuffixes(%assetItem);
@ -45,21 +45,21 @@ function AssetBrowser::prepareImportImageAsset(%this, %assetItem)
//if we find these, we'll just populate into the original's material
//If we need to append the diffuse suffix and indeed didn't find a suffix on the name, do that here
if(ImportAssetWindow.activeImportConfig.UseDiffuseSuffixOnOriginImg == 1)
if(getAssetImportConfigValue("Images/UseDiffuseSuffixOnOriginImg", "1") == 1)
{
if(%foundSuffixType $= "")
{
%diffuseToken = getToken(ImportAssetWindow.activeImportConfig.DiffuseTypeSuffixes, ",", 0);
%diffuseToken = getToken(getAssetImportConfigValue("Images/DiffuseTypeSuffixes", ""), ",", 0);
%assetItem.AssetName = %assetItem.AssetName @ %diffuseToken;
if(ImportAssetWindow.activeImportConfig.PopulateMaterialMaps == 1)
if(getAssetImportConfigValue("Materials/PopulateMaterialMaps", "1") == 1)
%materialAsset.diffuseImageAsset = %assetItem;
}
else if(%foundSuffixType !$= "")
{
//otherwise, if we have some sort of suffix, we'll want to figure out if we've already got an existing material, and should append to it
if(ImportAssetWindow.activeImportConfig.PopulateMaterialMaps == 1)
if(getAssetImportConfigValue("Materials/PopulateMaterialMaps", "1") == 1)
{
if(%foundSuffixType $= "diffuse")
%materialAsset.diffuseImageAsset = %assetItem;

View file

@ -62,12 +62,12 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
%fileExt = fileExt(%assetItem.filePath);
//Check if we need to filter this material out or not
if(ImportAssetWindow.activeImportConfig.IgnoreMaterials !$= "")
if(getAssetImportConfigValue("Materials/IgnoreMaterials", "") !$= "")
{
%ignoredMatNamesCount = getTokenCount(ImportAssetWindow.activeImportConfig.IgnoreMaterials, ",;");
%ignoredMatNamesCount = getTokenCount(getAssetImportConfigValue("Materials/IgnoreMaterials", ""), ",;");
for(%i=0; %i < %ignoredMatNamesCount; %i++)
{
%ignoreName = getToken(ImportAssetWindow.activeImportConfig.IgnoreMaterials, ".;", %i);
%ignoreName = getToken(getAssetImportConfigValue("Materials/IgnoreMaterials", ""), ",;", %i);
if(strIsMatchExpr(%ignoreName, %fileName))
{
@ -78,7 +78,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
}
}
if(ImportAssetWindow.activeImportConfig.PopulateMaterialMaps == 1)
if(getAssetImportConfigValue("Materials/PopulateMaterialMaps", "") == 1)
{
%materialItemId = ImportAssetTree.findItemByObjectId(%assetItem);
@ -90,9 +90,9 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
%diffuseImageSuffix = ImportAssetWindow.parseImagePathSuffixes(%diffuseImagePath);
if(ImportAssetWindow.activeImportConfig.UseDiffuseSuffixOnOriginImg == 1 && %diffuseImageSuffix $= "")
if(getAssetImportConfigValue("Images/UseDiffuseSuffixOnOriginImage", "1") == 1 && %diffuseImageSuffix $= "")
{
%diffuseToken = getToken(ImportAssetWindow.activeImportConfig.DiffuseTypeSuffixes, ",;", 0);
%diffuseToken = getToken(getAssetImportConfigValue("Materials/DiffuseTypeSuffixes", ""), ",;", 0);
%diffuseAsset = AssetBrowser.addImportingAsset("Image", %diffuseImagePath, %assetItem, %filename @ %diffuseToken);
}
@ -121,10 +121,10 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
%diffFileName = fileBase(%assetItem.diffuseImageAsset.filePath);
%diffFileExt = fileExt(%assetItem.diffuseImageAsset.filePath);
%suffixCount = getTokenCount(ImportAssetWindow.activeImportConfig.DiffuseTypeSuffixes, ",;");
%suffixCount = getTokenCount(getAssetImportConfigValue("Materials/DiffuseTypeSuffixes", ""), ",;");
for(%sfx = 0; %sfx < %suffixCount; %sfx++)
{
%suffixToken = getToken(ImportAssetWindow.activeImportConfig.DiffuseTypeSuffixes, ",;", %sfx);
%suffixToken = getToken(getAssetImportConfigValue("Materials/DiffuseTypeSuffixes", ""), ",;", %sfx);
if(strIsMatchExpr("*"@%suffixToken, %diffFileName))
{
%diffFileName = strreplace(%diffFileName, %suffixToken, "");
@ -143,7 +143,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
%assetItem.normalImageAsset = %normalAsset;
}
}
if(%assetItem.specularImageAsset $= "")
/*if(%assetItem.specularImageAsset $= "")
{
//Specular
%listCount = getTokenCount(ImportAssetWindow.activeImportConfig.SpecularTypeSuffixes, ",;");
@ -163,7 +163,7 @@ function AssetBrowser::prepareImportMaterialAsset(%this, %assetItem)
break;
}
}
}
}*/
if(%assetItem.metalImageAsset $= "")
{