Selaa lähdekoodia

Further conversions of missed file fields in core and tools
Assets created for missed objects and files
Improvements to the Project Importer to correct a number of issues, including not parsing ,'s from object names, trimming whitespace, pruning script extensions from exec invokes

Areloch 4 vuotta sitten
vanhempi
commit
432d201569
49 muutettua tiedostoa jossa 406 lisäystä ja 128 poistoa
  1. 3 3
      Templates/BaseGame/game/core/gameObjects/datablocks/defaultDatablocks.tscript
  2. 7 0
      Templates/BaseGame/game/core/gameObjects/materials/DefaultDecalRoadMaterial.asset.taml
  3. 7 0
      Templates/BaseGame/game/core/gameObjects/materials/DefaultRoadMaterialOther.asset.taml
  4. 7 0
      Templates/BaseGame/game/core/gameObjects/materials/DefaultRoadMaterialTop.asset.taml
  5. 7 0
      Templates/BaseGame/game/core/gameObjects/materials/TexturedRibbonMat.asset.taml
  6. 7 0
      Templates/BaseGame/game/core/gameObjects/shapes/CameraMat.asset.taml
  7. 7 0
      Templates/BaseGame/game/core/gameObjects/shapes/OctahedronMat.asset.taml
  8. 7 0
      Templates/BaseGame/game/core/gameObjects/shapes/noshape_NoShape.asset.taml
  9. 7 0
      Templates/BaseGame/game/core/gameObjects/shapes/noshapetext_lambert1.asset.taml
  10. 7 0
      Templates/BaseGame/game/core/gameObjects/shapes/noshapetext_noshape_mat.asset.taml
  11. 7 0
      Templates/BaseGame/game/core/lighting/scripts/AL_ConvexLightState.asset.taml
  12. 7 0
      Templates/BaseGame/game/core/lighting/scripts/AL_DefaultDeferredMaterial.asset.taml
  13. 7 0
      Templates/BaseGame/game/core/lighting/scripts/AL_DefaultShadowMaterial.asset.taml
  14. 7 0
      Templates/BaseGame/game/core/lighting/scripts/AL_ParticlePointLightShader.asset.taml
  15. 7 0
      Templates/BaseGame/game/core/lighting/scripts/AL_SpotLightShader.asset.taml
  16. 7 0
      Templates/BaseGame/game/core/lighting/scripts/BL_ProjectedShadowRPM.asset.taml
  17. 7 0
      Templates/BaseGame/game/core/lighting/scripts/IrradianceShader.asset.taml
  18. 7 0
      Templates/BaseGame/game/core/postFX/images/Empty.asset.taml
  19. 7 0
      Templates/BaseGame/game/core/postFX/images/WarningMaterial.asset.taml
  20. 1 1
      Templates/BaseGame/game/core/postFX/images/materials.tscript
  21. 1 1
      Templates/BaseGame/game/core/rendering/images/materials.tscript
  22. 7 0
      Templates/BaseGame/game/core/rendering/materials/Blank_sky/BlankSkyMat.asset.taml
  23. 6 6
      Templates/BaseGame/game/core/rendering/materials/Blank_sky/materials.tscript
  24. 7 0
      Templates/BaseGame/game/core/rendering/materials/NightSkyMat.asset.taml
  25. 1 1
      Templates/BaseGame/game/core/rendering/materials/NoMaterial.asset.taml
  26. 35 7
      Templates/BaseGame/game/core/rendering/materials/materials.tscript
  27. 0 9
      Templates/BaseGame/game/core/rendering/materials/moon_noglow.tscript
  28. 0 9
      Templates/BaseGame/game/core/rendering/materials/moon_wglow.tscript
  29. 7 0
      Templates/BaseGame/game/core/rendering/scripts/gfxData/UnderWaterBasicShader.asset.taml
  30. 7 0
      Templates/BaseGame/game/core/rendering/scripts/gfxData/UnderWaterShader.asset.taml
  31. 7 0
      Templates/BaseGame/game/core/rendering/scripts/gfxData/WaterBasicShader.asset.taml
  32. 9 7
      Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript
  33. 7 0
      Templates/BaseGame/game/tools/base/images/Black.asset.taml
  34. 7 0
      Templates/BaseGame/game/tools/base/images/Gray.asset.taml
  35. 7 0
      Templates/BaseGame/game/tools/base/images/White.asset.taml
  36. 7 0
      Templates/BaseGame/game/tools/convexEditor/OccluderProxyMaterial.asset.taml
  37. 7 0
      Templates/BaseGame/game/tools/convexEditor/PortalProxyMaterial.asset.taml
  38. 7 0
      Templates/BaseGame/game/tools/convexEditor/TriggerProxyMaterial.asset.taml
  39. 7 0
      Templates/BaseGame/game/tools/convexEditor/ZoneProxyMaterial.asset.taml
  40. 8 8
      Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript
  41. 7 7
      Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui
  42. 26 25
      Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript
  43. 9 9
      Templates/BaseGame/game/tools/particleEditor/ParticleEditor.ed.gui
  44. 48 7
      Templates/BaseGame/game/tools/projectImporter/scripts/pre40/T3Dpre4ProjectImporter.tscript
  45. 32 18
      Templates/BaseGame/game/tools/projectImporter/scripts/projectImporter.tscript
  46. 1 1
      Templates/BaseGame/game/tools/shapeEditor/gui/shapeEdAdvancedWindow.ed.gui
  47. 3 3
      Templates/BaseGame/game/tools/worldEditor/gui/EditorGui.ed.gui
  48. 5 5
      Templates/BaseGame/game/tools/worldEditor/scripts/interfaces/terrainMaterialDlg.ed.tscript
  49. 1 1
      Templates/BaseGame/game/tools/worldEditor/scripts/visibility/lightViz.tscript

+ 3 - 3
Templates/BaseGame/game/core/gameObjects/datablocks/defaultDatablocks.tscript

@@ -127,19 +127,19 @@ datablock RibbonData(TexturedRibbon)
 datablock MissionMarkerData(WayPointMarker)
 datablock MissionMarkerData(WayPointMarker)
 {
 {
    category = "Misc";
    category = "Misc";
-   shapeFile = "core/gameObjects/shapes/octahedron.dts";
+   shapeAsset = "Core_GameObjects:octahedron";
 };
 };
 
 
 datablock MissionMarkerData(SpawnSphereMarker)
 datablock MissionMarkerData(SpawnSphereMarker)
 {
 {
    category = "Misc";
    category = "Misc";
-   shapeFile = "core/gameObjects/shapes/octahedron.dts";
+   shapeAsset = "Core_GameObjects:octahedron";
 };
 };
 
 
 datablock MissionMarkerData(CameraBookmarkMarker)
 datablock MissionMarkerData(CameraBookmarkMarker)
 {
 {
    category = "Misc";
    category = "Misc";
-   shapeFile = "core/gameObjects/shapes/camera.dts";
+   shapeAsset = "Core_GameObjects:Camera";
 };
 };
 
 
 datablock CameraData(Observer)
 datablock CameraData(Observer)

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/materials/DefaultDecalRoadMaterial.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="DefaultDecalRoadMaterial"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="DefaultDecalRoadMaterial"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/materials/DefaultRoadMaterialOther.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="DefaultRoadMaterialOther"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="DefaultRoadMaterialOther"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/materials/DefaultRoadMaterialTop.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="DefaultRoadMaterialTop"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="DefaultRoadMaterialTop"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/materials/TexturedRibbonMat.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="TexturedRibbonMat"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="TexturedRibbonMat"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/shapes/CameraMat.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="CameraMat"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="CameraMat"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/shapes/OctahedronMat.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="OctahedronMat"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="OctahedronMat"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/shapes/noshape_NoShape.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="noshape_NoShape"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="noshape_NoShape"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/shapes/noshapetext_lambert1.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="noshapetext_lambert1"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="noshapetext_lambert1"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/gameObjects/shapes/noshapetext_noshape_mat.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="noshapetext_noshape_mat"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="noshapetext_noshape_mat"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/lighting/scripts/AL_ConvexLightState.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="AL_ConvexLightState"
+    scriptFile="@assetFile=advancedLighting_Shaders.tscript"
+    materialDefinitionName="AL_ConvexLightState"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/lighting/scripts/AL_DefaultDeferredMaterial.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="AL_DefaultDeferredMaterial"
+    scriptFile="@assetFile=advancedLighting_Shaders.tscript"
+    materialDefinitionName="AL_DefaultDeferredMaterial"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/lighting/scripts/AL_DefaultShadowMaterial.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="AL_DefaultShadowMaterial"
+    scriptFile="@assetFile=advancedLighting_Shaders.tscript"
+    materialDefinitionName="AL_DefaultShadowMaterial"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/lighting/scripts/AL_ParticlePointLightShader.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="AL_ParticlePointLightShader"
+    scriptFile="@assetFile=advancedLighting_Shaders.tscript"
+    materialDefinitionName="AL_ParticlePointLightShader"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/lighting/scripts/AL_SpotLightShader.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="AL_SpotLightShader"
+    scriptFile="@assetFile=advancedLighting_Shaders.tscript"
+    materialDefinitionName="AL_SpotLightShader"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/lighting/scripts/BL_ProjectedShadowRPM.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="BL_ProjectedShadowRPM"
+    scriptFile="@assetFile=basicLighting_Init.tscript"
+    materialDefinitionName="BL_ProjectedShadowRPM"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/lighting/scripts/IrradianceShader.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="IrradianceShader"
+    scriptFile="@assetFile=advancedLighting_Shaders.tscript"
+    materialDefinitionName="IrradianceShader"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/postFX/images/Empty.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="empty"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="empty"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/postFX/images/WarningMaterial.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="WarningMaterial"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="WarningMaterial"
+    VersionId="1" />

+ 1 - 1
Templates/BaseGame/game/core/postFX/images/materials.tscript

@@ -25,7 +25,7 @@ singleton Material( Empty )
 };
 };
 
 
 singleton Material(WarningMaterial) {
 singleton Material(WarningMaterial) {
-   detailMap[0] = "missingTexture";
+   detailMapAsset[0] = "Core_PostFX:missingTexture_image";
    diffuseColor[0] = "25 16 0";
    diffuseColor[0] = "25 16 0";
    emissive[0] = false;
    emissive[0] = false;
    translucent = false;
    translucent = false;

+ 1 - 1
Templates/BaseGame/game/core/rendering/images/materials.tscript

@@ -25,7 +25,7 @@ singleton Material( Empty )
 };
 };
 
 
 singleton Material(WarningMaterial) {
 singleton Material(WarningMaterial) {
-   detailMap[0] = "missingTexture";
+   detailMapAsset[0] = "Core_Rendering:missingTexture_image";
    diffuseColor[0] = "25 16 0";
    diffuseColor[0] = "25 16 0";
    emissive[0] = false;
    emissive[0] = false;
    translucent = false;
    translucent = false;

+ 7 - 0
Templates/BaseGame/game/core/rendering/materials/Blank_sky/BlankSkyMat.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="BlankSkyMat"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="BlankSkyMat"
+    VersionId="1" />

+ 6 - 6
Templates/BaseGame/game/core/rendering/materials/Blank_sky/materials.tscript

@@ -5,12 +5,12 @@
 
 
 singleton CubemapData( BlankSkyCubemap )
 singleton CubemapData( BlankSkyCubemap )
 {
 {
-   cubeFaceAsset[0] = "Core_Rendering:BlankSkybox_image";
-   cubeFaceAsset[1] = "Core_Rendering:BlankSkybox_image";
-   cubeFaceAsset[2] = "Core_Rendering:BlankSkybox_image";
-   cubeFaceAsset[3] = "Core_Rendering:BlankSkybox_image";
-   cubeFaceAsset[4] = "Core_Rendering:BlankSkybox_image";
-   cubeFaceAsset[5] = "Core_Rendering:BlankSkybox_image";
+   cubeMapFaceAsset[0] = "Core_Rendering:BlankSkybox_image";
+   cubeMapFaceAsset[1] = "Core_Rendering:BlankSkybox_image";
+   cubeMapFaceAsset[2] = "Core_Rendering:BlankSkybox_image";
+   cubeMapFaceAsset[3] = "Core_Rendering:BlankSkybox_image";
+   cubeMapFaceAsset[4] = "Core_Rendering:BlankSkybox_image";
+   cubeMapFaceAsset[5] = "Core_Rendering:BlankSkybox_image";
 };
 };
 
 
 singleton Material( BlankSkyMat )
 singleton Material( BlankSkyMat )

+ 7 - 0
Templates/BaseGame/game/core/rendering/materials/NightSkyMat.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="NightSkyMat"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="NightSkyMat"
+    VersionId="1" />

+ 1 - 1
Templates/BaseGame/game/core/rendering/materials/NoMaterial.asset.taml

@@ -2,5 +2,5 @@
     canSave="true"
     canSave="true"
     canSaveDynamicFields="true"
     canSaveDynamicFields="true"
     AssetName="NoMaterial"
     AssetName="NoMaterial"
-    scriptFile="NoMaterial"
+    scriptFile="@assetFile=NoMaterial"
     materialDefinitionName="NoMaterial" />
     materialDefinitionName="NoMaterial" />

+ 35 - 7
Templates/BaseGame/game/core/rendering/materials/materials.tscript

@@ -20,18 +20,46 @@
 // IN THE SOFTWARE.
 // IN THE SOFTWARE.
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 
 
+//--- OBJECT WRITE BEGIN ---
+
 singleton CubemapData( NightCubemap )
 singleton CubemapData( NightCubemap )
 {
 {
-   cubeFaceAsset[0] = "Core_Rendering:NightSkybox_1";
-   cubeFaceAsset[1] = "Core_Rendering:NightSkybox_2";
-   cubeFaceAsset[2] = "Core_Rendering:NightSkybox_3";
-   cubeFaceAsset[3] = "Core_Rendering:NightSkybox_4";
-   cubeFaceAsset[4] = "Core_Rendering:NightSkybox_5";
-   cubeFaceAsset[5] = "Core_Rendering:NightSkybox_6";
+   cubeMapFaceAsset[0] = "Core_Rendering:NightSkybox_1";
+   cubeMapFaceAsset[1] = "Core_Rendering:NightSkybox_2";
+   cubeMapFaceAsset[2] = "Core_Rendering:NightSkybox_3";
+   cubeMapFaceAsset[3] = "Core_Rendering:NightSkybox_4";
+   cubeMapFaceAsset[4] = "Core_Rendering:NightSkybox_5";
+   cubeMapFaceAsset[5] = "Core_Rendering:NightSkybox_6";
 };
 };
 
 
 singleton Material( NightSkyMat )
 singleton Material( NightSkyMat )
 {
 {
    cubemap = NightCubemap;
    cubemap = NightCubemap;
    materialTag0 = "Skies";
    materialTag0 = "Skies";
-};
+};
+
+singleton Material(moon_noglow) {
+   mapTo="moon_noglow";
+   DiffuseMapAsset = "Core_Rendering:moon_noglow_image";
+   emissive = true;
+   translucent = true;
+   vertColor[ 0 ] = true;
+};
+
+singleton Material(moon_wglow) {
+   mapTo="moon_wglow";
+   DiffuseMapAsset = "Core_Rendering:moon_wglow_image";
+   emissive = true;
+   translucent = true;
+   vertColor[ 0 ] = true;
+};
+
+singleton Material(moon_wcorona) {
+   mapTo="moon_wcorona";
+   DiffuseMapAsset = "Core_Rendering:moon_wcorona_image";
+   emissive = true;
+   translucent = true;
+   vertColor[ 0 ] = true;
+};
+
+//--- OBJECT WRITE END ---

+ 0 - 9
Templates/BaseGame/game/core/rendering/materials/moon_noglow.tscript

@@ -1,9 +0,0 @@
-//--- OBJECT WRITE BEGIN ---
-singleton Material(moon_noglow) {
-   mapTo="moon_noglow";
-   DiffuseMapAsset = "Core_Rendering:moon_noglow_image";
-   emissive = true;
-   translucent = true;
-   vertColor[ 0 ] = true;
-};
-//--- OBJECT WRITE END ---

+ 0 - 9
Templates/BaseGame/game/core/rendering/materials/moon_wglow.tscript

@@ -1,9 +0,0 @@
-//--- OBJECT WRITE BEGIN ---
-singleton Material(moon_wglow) {
-   mapTo="moon_wglow";
-   DiffuseMapAsset = "Core_Rendering:moon_wglow_image";
-   emissive = true;
-   translucent = true;
-   vertColor[ 0 ] = true;
-};
-//--- OBJECT WRITE END ---

+ 7 - 0
Templates/BaseGame/game/core/rendering/scripts/gfxData/UnderWaterBasicShader.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="UnderWaterBasicShader"
+    scriptFile="@assetFile=water.tscript"
+    materialDefinitionName="UnderWaterBasicShader"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/rendering/scripts/gfxData/UnderWaterShader.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="UnderWaterShader"
+    scriptFile="@assetFile=water.tscript"
+    materialDefinitionName="UnderWaterShader"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/core/rendering/scripts/gfxData/WaterBasicShader.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="WaterBasicShader"
+    scriptFile="@assetFile=water.tscript"
+    materialDefinitionName="WaterBasicShader"
+    VersionId="1" />

+ 9 - 7
Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript

@@ -451,17 +451,19 @@ function AssetBrowser::buildMaterialAssetPreview(%this, %assetDef, %previewData)
    else
    else
       %previewData.doubleClickCommand = "AssetBrowser.editAsset( "@%assetDef@" );";
       %previewData.doubleClickCommand = "AssetBrowser.editAsset( "@%assetDef@" );";
    
    
-   %test = %assetDef.materialDefinitionName.diffuseMapAsset[0];
+   %previewData.previewImage = "ToolsModule:materialIcon_image";
    
    
-   if(isFile(%assetDef.materialDefinitionName.diffuseMap[0]))
-      %previewData.previewImage = %assetDef.materialDefinitionName.diffuseMap[0];
-   else if(%assetDef.materialDefinitionName.diffuseMapAsset[0] !$= "")
+   if(isObject(%assetDef.materialDefinitionName))
    {
    {
-      %imgAsset = AssetDatabase.acquireAsset(%assetDef.materialDefinitionName.diffuseMapAsset[0]);
+      if(isFile(%assetDef.materialDefinitionName.getDiffuseMap(0)))
+         %previewData.previewImage = %assetDef.materialDefinitionName.getDiffuseMap(0);
+      else if(%assetDef.materialDefinitionName.getDiffuseMapAsset(0) !$= "")
+      {
+         %imgAsset = AssetDatabase.acquireAsset(%assetDef.materialDefinitionName.getDiffuseMapAsset(0));
       %previewData.previewImage = %imgAsset.getImagePath();
       %previewData.previewImage = %imgAsset.getImagePath();
    }
    }
-   else
-      %previewData.previewImage = "tools/assetBrowser/art/materialIcon_image";
+      //add cubemap preview here(for skybox materials)
+   }
    
    
    %previewData.assetFriendlyName = %assetDef.assetName;
    %previewData.assetFriendlyName = %assetDef.assetName;
    %previewData.assetDesc = %assetDef.description;
    %previewData.assetDesc = %assetDef.description;

+ 7 - 0
Templates/BaseGame/game/tools/base/images/Black.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="Black"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="Black"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/tools/base/images/Gray.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="Gray"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="Gray"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/tools/base/images/White.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="White"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="White"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/tools/convexEditor/OccluderProxyMaterial.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="OccluderProxyMaterial"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="OccluderProxyMaterial"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/tools/convexEditor/PortalProxyMaterial.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="PortalProxyMaterial"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="PortalProxyMaterial"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/tools/convexEditor/TriggerProxyMaterial.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="TriggerProxyMaterial"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="TriggerProxyMaterial"
+    VersionId="1" />

+ 7 - 0
Templates/BaseGame/game/tools/convexEditor/ZoneProxyMaterial.asset.taml

@@ -0,0 +1,7 @@
+<MaterialAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="ZoneProxyMaterial"
+    scriptFile="@assetFile=materials.tscript"
+    materialDefinitionName="ZoneProxyMaterial"
+    VersionId="1" />

+ 8 - 8
Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript

@@ -24,14 +24,14 @@ function ConvexEditorGui::onWake( %this )
 {   
 {   
 	convexEditorToolbar-->gridSnapSizeEdit.setText(%this.getGridSnapSize());
 	convexEditorToolbar-->gridSnapSizeEdit.setText(%this.getGridSnapSize());
 	
 	
-	if(ConvexEditorOptionsWindow-->matPreviewBtn.bitmap $= "")
+	if(ConvexEditorOptionsWindow-->matPreviewBtn.getBitmap() $= "")
 	{
 	{
 		//no active material, so set one	
 		//no active material, so set one	
 		ConvexEditorOptionsWindow-->matPreviewBtn.setText("");
 		ConvexEditorOptionsWindow-->matPreviewBtn.setText("");
 		
 		
 		%mat = EditorSettings.Value("ConvexEditor/MaterialName");
 		%mat = EditorSettings.Value("ConvexEditor/MaterialName");
 		
 		
-		ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%mat.diffuseMap[0]);
+		ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%mat.getDiffuseMap(0));
 		
 		
 		ConvexEditorOptionsWindow.activeMaterial = %mat;
 		ConvexEditorOptionsWindow.activeMaterial = %mat;
 	}
 	}
@@ -68,7 +68,7 @@ function ConvexEditorGui::onSelectionChanged( %this, %shape, %face )
    ConvexEditorDeleteFaceBtn.setActive( true );
    ConvexEditorDeleteFaceBtn.setActive( true );
 
 
    ConvexEditorOptionsWindow-->defMatPreviewBtn.setText("");
    ConvexEditorOptionsWindow-->defMatPreviewBtn.setText("");
-   ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(%shape.material.diffuseMap[0]);
+   ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(%shape.material.getDiffuseMap(0));
 
 
    ConvexEditorOptionsWindow.activeShape = %shape;
    ConvexEditorOptionsWindow.activeShape = %shape;
       
       
@@ -156,10 +156,10 @@ function ConvexEditorMaterialBtn::gotMaterialName(%this, %name)
    //eval(%this.object @ "." @ %this.targetField @ " = " @ %name @ ";");
    //eval(%this.object @ "." @ %this.targetField @ " = " @ %name @ ";");
    //%this.object.changeMaterial(getTrailingNumber(%this.targetField), %name);
    //%this.object.changeMaterial(getTrailingNumber(%this.targetField), %name);
    //%this.object.inspectorApply();
    //%this.object.inspectorApply();
-   %diffusemap = %materialAsset.materialDefinitionName.diffuseMap[0];
+   %diffusemap = %materialAsset.materialDefinitionName.getDiffuseMap(0);
    if(%diffusemap $= "")
    if(%diffusemap $= "")
    {
    {
-      %diffuseAsset = %materialAsset.materialDefinitionName.diffuseMapAsset[0];
+      %diffuseAsset = %materialAsset.materialDefinitionName.getDiffuseMapAsset(0);
       if(%diffuseAsset !$= "")
       if(%diffuseAsset !$= "")
       {
       {
          %diffuseAssetDef = AssetDatabase.acquireAsset(%diffuseAsset);
          %diffuseAssetDef = AssetDatabase.acquireAsset(%diffuseAsset);
@@ -183,7 +183,7 @@ function ConvexEditorMaterialLiftBtn::onClick(%this)
 {
 {
    %mat = ConvexEditorGui.getSelectedFaceMaterial();
    %mat = ConvexEditorGui.getSelectedFaceMaterial();
    ConvexEditorOptionsWindow.activeMaterial = %mat;
    ConvexEditorOptionsWindow.activeMaterial = %mat;
-   ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%mat.diffuseMap[0]);
+   ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%mat.getDiffuseMap(0));
 }
 }
 
 
 function ConvexEditorMaterialResetBtn::onClick(%this)
 function ConvexEditorMaterialResetBtn::onClick(%this)
@@ -221,10 +221,10 @@ function ConvexEditorDefaultMaterialBtn::gotMaterialName(%this, %name)
    //eval(%this.object @ "." @ %this.targetField @ " = " @ %name @ ";");
    //eval(%this.object @ "." @ %this.targetField @ " = " @ %name @ ";");
    //%this.object.changeMaterial(getTrailingNumber(%this.targetField), %name);
    //%this.object.changeMaterial(getTrailingNumber(%this.targetField), %name);
    //%this.object.inspectorApply();
    //%this.object.inspectorApply();
-   %diffusemap = %materialAsset.materialDefinitionName.diffuseMap[0];
+   %diffusemap = %materialAsset.materialDefinitionName.getDiffuseMap(0);
    if(%diffusemap $= "")
    if(%diffusemap $= "")
    {
    {
-      %diffuseAsset = %materialAsset.materialDefinitionName.diffuseMapAsset[0];
+      %diffuseAsset = %materialAsset.materialDefinitionName.getDiffuseMapAsset(0);
       if(%diffuseAsset !$= "")
       if(%diffuseAsset !$= "")
       {
       {
          %diffuseAssetDef = AssetDatabase.acquireAsset(%diffuseAsset);
          %diffuseAssetDef = AssetDatabase.acquireAsset(%diffuseAsset);

+ 7 - 7
Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui

@@ -406,7 +406,7 @@
                         position="6 75";
                         position="6 75";
                         extent ="175 2";
                         extent ="175 2";
                         HorizSizing = "width";
                         HorizSizing = "width";
-                        bitmap ="tools/gui/images/separator-v"; 
+                        bitmapAsset = "ToolsModule:separator_v_image"; 
                      };
                      };
                      new GuiContainer(){ // Normal Map
                      new GuiContainer(){ // Normal Map
                         profile="ToolsGuiDefaultProfile";
                         profile="ToolsGuiDefaultProfile";
@@ -2088,7 +2088,7 @@
                         position="6 246";
                         position="6 246";
                         extent ="175 2";
                         extent ="175 2";
                         HorizSizing = "width";
                         HorizSizing = "width";
-                        bitmap ="tools/gui/images/separator-v"; 
+                        bitmapAsset ="ToolsModule:separator_v_image"; 
                      };
                      };
                      
                      
                      new GuiContainer(){ // Detail Normal Map
                      new GuiContainer(){ // Detail Normal Map
@@ -2233,7 +2233,7 @@
                         position="6 189";
                         position="6 189";
                         extent ="175 2";
                         extent ="175 2";
                         HorizSizing = "width";
                         HorizSizing = "width";
-                        bitmap ="tools/gui/images/separator-v"; 
+                        bitmapAsset ="ToolsModule:separator_v_image"; 
                      };
                      };
                      
                      
                      new GuiContainer(){ // Overlay Map
                      new GuiContainer(){ // Overlay Map
@@ -2360,7 +2360,7 @@
                         position="6 189";
                         position="6 189";
                         extent ="175 2";
                         extent ="175 2";
                         HorizSizing = "width";
                         HorizSizing = "width";
-                        bitmap ="tools/gui/images/separator-v"; 
+                        bitmapAsset ="ToolsModule:separator_v_image"; 
                      };
                      };
                      new GuiContainer(){ // light Map
                      new GuiContainer(){ // light Map
                         profile="ToolsGuiDefaultProfile";
                         profile="ToolsGuiDefaultProfile";
@@ -2486,7 +2486,7 @@
                         position="6 303";
                         position="6 303";
                         extent ="175 2";
                         extent ="175 2";
                         HorizSizing = "width";
                         HorizSizing = "width";
-                        bitmap ="tools/gui/images/separator-v"; 
+                        bitmapAsset ="ToolsModule:separator_v_image"; 
                      };
                      };
                      new GuiContainer(){ // tone Map
                      new GuiContainer(){ // tone Map
                         profile="ToolsGuiDefaultProfile";
                         profile="ToolsGuiDefaultProfile";
@@ -4452,7 +4452,7 @@
                            position="2 2";
                            position="2 2";
                            extent ="192 2";
                            extent ="192 2";
                            HorizSizing = "width";
                            HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                         // Reflection Properties Text
                         // Reflection Properties Text
                         new GuiTextCtrl(matEd_reflectionPropertiesText) {
                         new GuiTextCtrl(matEd_reflectionPropertiesText) {
@@ -4530,7 +4530,7 @@
                            position="2 2";
                            position="2 2";
                            extent ="192 2";
                            extent ="192 2";
                            HorizSizing = "width";
                            HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                         new GuiTextCtrl() {
                         new GuiTextCtrl() {
                            text = "Effect Colors[0:1]";
                            text = "Effect Colors[0:1]";

+ 26 - 25
Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript

@@ -21,6 +21,7 @@
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 
 
 // Material Editor originally created by Dave Calabrese and Travis Vroman of Gaslight Studios
 // Material Editor originally created by Dave Calabrese and Travis Vroman of Gaslight Studios
+$MaterialEditor::emptyMaterialImage = "ToolsModule:unknownImage_image";
 
 
 function MaterialEditorGui::establishMaterials(%this)
 function MaterialEditorGui::establishMaterials(%this)
 {
 {
@@ -788,7 +789,7 @@ function MaterialEditorGui::guiSync( %this, %material )
    %layer = MaterialEditorGui.currentLayer;
    %layer = MaterialEditorGui.currentLayer;
    
    
    //Diffuse
    //Diffuse
-   if((%material).getDiffuseMap(%layer) !$= "") 
+   if((%material).getDiffuseMap(%layer) !$= "" && (%material).getDiffuseMapAsset(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       %difAsset = (%material).getDiffuseMapAsset(%layer);
       %difAsset = (%material).getDiffuseMapAsset(%layer);
       MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( (%material).getDiffuseMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( (%material).getDiffuseMapAsset(%layer) );      
@@ -797,11 +798,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->diffuseMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->diffuseMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
  
  
    //Normal
    //Normal
-   if((%material).getNormalMap(%layer) !$= "") 
+   if((%material).getNormalMap(%layer) !$= "" && (%material).getNormalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->normalMapNameText.setText( (%material).getNormalMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->normalMapNameText.setText( (%material).getNormalMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( (%material).getNormalMap(%layer) );
       MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( (%material).getNormalMap(%layer) );
@@ -809,11 +810,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->normalMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->normalMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    
    
    //ORM Config
    //ORM Config
-   if((%material).getORMConfigMap(%layer) !$= "") 
+   if((%material).getORMConfigMap(%layer) !$= "" && (%material).getORMConfigMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->ORMConfigMapNameText.setText( (%material).getORMConfigMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->ORMConfigMapNameText.setText( (%material).getORMConfigMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->ORMConfigMapDisplayBitmap.setBitmap( (%material).getORMConfigMap(%layer) );
       MaterialEditorPropertiesWindow-->ORMConfigMapDisplayBitmap.setBitmap( (%material).getORMConfigMap(%layer) );
@@ -833,7 +834,7 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->ORMConfigMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->ORMConfigMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->ORMConfigMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->ORMConfigMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
       
       
       MaterialEditorPropertiesWindow-->RoughnessTextEdit.setText((%material).Roughness[%layer]);
       MaterialEditorPropertiesWindow-->RoughnessTextEdit.setText((%material).Roughness[%layer]);
       MaterialEditorPropertiesWindow-->RoughnessSlider.setValue((%material).Roughness[%layer]);
       MaterialEditorPropertiesWindow-->RoughnessSlider.setValue((%material).Roughness[%layer]);
@@ -851,7 +852,7 @@ function MaterialEditorGui::guiSync( %this, %material )
    }
    }
    
    
    //AOMap
    //AOMap
-   if((%material).getAOMap(%layer) !$= "") 
+   if((%material).getAOMap(%layer) !$= "" && (%material).getAOMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->aoMapNameText.setText( (%material).getAOMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->aoMapNameText.setText( (%material).getAOMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( (%material).getAOMap(%layer) );
       MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( (%material).getAOMap(%layer) );
@@ -859,10 +860,10 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->aoMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->aoMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    //RoughMap
    //RoughMap
-   if((%material).getRoughMap(%layer) !$= "") 
+   if((%material).getRoughMap(%layer) !$= "" && (%material).getRoughMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->roughMapNameText.setText( (%material).getRoughMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->roughMapNameText.setText( (%material).getRoughMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( (%material).getRoughMap(%layer) );
       MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( (%material).getRoughMap(%layer) );
@@ -870,11 +871,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->roughMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->roughMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    
    
    //MetalMap
    //MetalMap
-   if((%material).getMetalMap(%layer) !$= "") 
+   if((%material).getMetalMap(%layer) !$= "" && (%material).getMetalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->metalMapNameText.setText( (%material).getMetalMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->metalMapNameText.setText( (%material).getMetalMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( (%material).getMetalMap(%layer) );
       MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( (%material).getMetalMap(%layer) );
@@ -882,11 +883,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->metalMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->metalMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    
    
    //GlowMap
    //GlowMap
-   if((%material).getGlowMap(%layer) !$= "") 
+   if((%material).getGlowMap(%layer) !$= "" && (%material).getGlowMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->glowMapNameText.setText( (%material).getGlowMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->glowMapNameText.setText( (%material).getGlowMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( (%material).getGlowMap(%layer) );
       MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( (%material).getGlowMap(%layer) );
@@ -894,11 +895,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->glowMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->glowMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
       
       
    //Overlay
    //Overlay
-   if((%material).getOverlayMap(%layer) !$= "") 
+   if((%material).getOverlayMap(%layer) !$= "" && (%material).getOverlayMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->overlayMapNameText.setText( (%material).getOverlayMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->overlayMapNameText.setText( (%material).getOverlayMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( (%material).getOverlayMap(%layer) );
       MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( (%material).getOverlayMap(%layer) );
@@ -906,11 +907,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->overlayMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->overlayMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    
    
    //Detail
    //Detail
-   if((%material).getDetailMap(%layer) !$= "") 
+   if((%material).getDetailMap(%layer) !$= "" && (%material).getDetailMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->detailMapNameText.setText( (%material).getDetailMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->detailMapNameText.setText( (%material).getDetailMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( (%material).getDetailMap(%layer) );
       MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( (%material).getDetailMap(%layer) );
@@ -918,11 +919,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->detailMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->detailMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    
    
    //Detail Normal
    //Detail Normal
-   if((%material).getDetailNormalMap(%layer) !$= "") 
+   if((%material).getDetailNormalMap(%layer) !$= "" && (%material).getDetailNormalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( (%material).getDetailNormalMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( (%material).getDetailNormalMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( (%material).getDetailNormalMap(%layer) );
       MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( (%material).getDetailNormalMap(%layer) );
@@ -930,11 +931,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    
    
    //Light
    //Light
-   if((%material).getLightMap(%layer) !$= "") 
+   if((%material).getLightMap(%layer) !$= "" && (%material).getLightMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->lightMapNameText.setText( (%material).getLightMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->lightMapNameText.setText( (%material).getLightMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( (%material).getLightMap(%layer) );
       MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( (%material).getLightMap(%layer) );
@@ -942,11 +943,11 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->lightMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->lightMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    
    
    //Tone
    //Tone
-   if((%material).getToneMap(%layer) !$= "") 
+   if((%material).getToneMap(%layer) !$= "" && (%material).getToneMap(%layer) !$= $MaterialEditor::emptyMaterialImage) 
    {
    {
       MaterialEditorPropertiesWindow-->toneMapNameText.setText( (%material).getToneMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->toneMapNameText.setText( (%material).getToneMapAsset(%layer) );      
       MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( (%material).getToneMap(%layer) );
       MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( (%material).getToneMap(%layer) );
@@ -954,7 +955,7 @@ function MaterialEditorGui::guiSync( %this, %material )
    else
    else
    {
    {
       MaterialEditorPropertiesWindow-->toneMapNameText.setText( "None" );
       MaterialEditorPropertiesWindow-->toneMapNameText.setText( "None" );
-      MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( "tools/materialEditor/gui/unknownImage" );
+      MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
    }
    }
    
    
    MaterialEditorPropertiesWindow-->accuScaleTextEdit.setText((%material).accuScale[%layer]);
    MaterialEditorPropertiesWindow-->accuScaleTextEdit.setText((%material).accuScale[%layer]);
@@ -1227,7 +1228,7 @@ function MaterialEditorGui::updateTextureMap( %this, %type, %action )
    else
    else
    {
    {
       %textCtrl.setText("None");
       %textCtrl.setText("None");
-      %bitmapCtrl.setBitmap("tools/materialEditor/gui/unknownImage");
+      %bitmapCtrl.setBitmap($MaterialEditor::emptyMaterialImage);
       MaterialEditorGui.updateActiveMaterial(%type @ "Map[" @ %layer @ "]","");
       MaterialEditorGui.updateActiveMaterial(%type @ "Map[" @ %layer @ "]","");
       MaterialEditorGui.updateActiveMaterial(%type @ "MapAsset[" @ %layer @ "]","");
       MaterialEditorGui.updateActiveMaterial(%type @ "MapAsset[" @ %layer @ "]","");
    }
    }

+ 9 - 9
Templates/BaseGame/game/tools/particleEditor/ParticleEditor.ed.gui

@@ -447,7 +447,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      
@@ -704,7 +704,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      
@@ -1116,7 +1116,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      
@@ -1625,7 +1625,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      
@@ -2095,7 +2095,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         //visible = false;
                         //visible = false;
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      
@@ -2353,7 +2353,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      
@@ -2656,7 +2656,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      
@@ -3078,7 +3078,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      
@@ -3463,7 +3463,7 @@ $PE_guielement_ext_colorpicker = "18 18";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         isContainer = "1"; HorizSizing = "width"; Position = "0 0"; Extent = "194 8";
                         new GuiBitmapCtrl(){
                         new GuiBitmapCtrl(){
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
                            position="0 3"; extent ="188 2"; HorizSizing = "width";
-                           bitmap ="tools/gui/images/separator-v"; 
+                           bitmapAsset ="ToolsModule:separator_v_image"; 
                         };
                         };
                      };// end spacer ----------------------------------------
                      };// end spacer ----------------------------------------
                      
                      

+ 48 - 7
Templates/BaseGame/game/tools/projectImporter/scripts/pre40/T3Dpre4ProjectImporter.tscript

@@ -106,7 +106,7 @@ function T3Dpre4ProjectImporter::copyFiles(%this)
          DirectoryHandler::createFolder(0, %targetFolder);
          DirectoryHandler::createFolder(0, %targetFolder);
       }
       }
       
       
-      if(!pathCopy(%file, %targetFilePath))
+      if(!pathCopy(%file, %targetFilePath, false))
       {
       {
          error("Legacy Project Importer, failed to copy file: " @ %file @ " to destination: " @ %targetFilePath);
          error("Legacy Project Importer, failed to copy file: " @ %file @ " to destination: " @ %targetFilePath);
       }
       }
@@ -183,7 +183,7 @@ function T3Dpre4ProjectImporter::beginMaterialFilesImport(%this)
    %currentPage = ProjectImportWindow.getCurrentPage();
    %currentPage = ProjectImportWindow.getCurrentPage();
    
    
    //First, wipe out any files inside the folder first
    //First, wipe out any files inside the folder first
-   %file = findFirstFileMultiExpr( $ProjectImporter::modulePath @ "/*/materials.cs", true);
+   %file = findFirstFileMultiExpr( $ProjectImporter::modulePath @ "/*/materials.*", true);
    
    
    %fileObj = new FileObject();
    %fileObj = new FileObject();
    %objectClassStack = new ArrayObject();
    %objectClassStack = new ArrayObject();
@@ -247,6 +247,13 @@ function T3Dpre4ProjectImporter::beginMaterialFilesImport(%this)
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                   }
                   }
                   
                   
+                  if(strpos(%objectName, ",") != -1)
+                  {
+                     %objectName = getSubStr(%objectName, 0, strpos(%objectName, ","));
+                  }
+                  
+                  %objectName = trim(%objectName);
+                  
                   if(%objectClassStack.count() == 1)
                   if(%objectClassStack.count() == 1)
                   {
                   {
                      //we only process top-level objects directly                 
                      //we only process top-level objects directly                 
@@ -295,6 +302,13 @@ function T3Dpre4ProjectImporter::beginMaterialFilesImport(%this)
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                   }
                   }
                   
                   
+                  if(strpos(%objectName, ",") != -1)
+                  {
+                     %objectName = getSubStr(%objectName, 0, strpos(%objectName, ","));
+                  }
+                  
+                  %objectName = trim(%objectName);
+                  
                   if(%objectClassStack.count() == 1)
                   if(%objectClassStack.count() == 1)
                   {
                   {
                      //we only process top-level objects directly                 
                      //we only process top-level objects directly                 
@@ -369,7 +383,7 @@ function T3Dpre4ProjectImporter::beginMaterialFilesImport(%this)
       %fileOutputLines.empty();
       %fileOutputLines.empty();
       %objectClassStack.empty();
       %objectClassStack.empty();
       
       
-      %file = findNextFileMultiExpr( $ProjectImporter::modulePath @ "/*/materials.cs" );
+      %file = findNextFileMultiExpr( $ProjectImporter::modulePath @ "/*/materials.*" );
    }
    }
    
    
    echo("Legacy Project Importer - Processing of imported code files done!");
    echo("Legacy Project Importer - Processing of imported code files done!");
@@ -415,9 +429,9 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
       %fileExt = fileExt(%file);
       %fileExt = fileExt(%file);
       %filePath = filePath(%file);
       %filePath = filePath(%file);
       
       
-      if(%filename $= "materials.cs")
+      if(%filename $= "materials.cs" || %filename $= "materials.tscript" )
       {
       {
-         //we already handled materials.cs files, so skip
+         //we already handled materials script files, so skip
          %file = findNextFileMultiExpr( $ProjectImporter::modulePath @ "/*.*" );
          %file = findNextFileMultiExpr( $ProjectImporter::modulePath @ "/*.*" );
          continue;
          continue;
       }
       }
@@ -461,6 +475,13 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                   }
                   }
                   
                   
+                  if(strpos(%objectName, ",") != -1)
+                  {
+                     %objectName = getSubStr(%objectName, 0, strpos(%objectName, ","));
+                  }
+                  
+                  %objectName = trim(%objectName);
+                  
                   if(%objectClassStack.count() == 1)
                   if(%objectClassStack.count() == 1)
                   {
                   {
                      //we only process top-level objects directly                     
                      //we only process top-level objects directly                     
@@ -533,6 +554,13 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                   }
                   }
                   
                   
+                  if(strpos(%objectName, ",") != -1)
+                  {
+                     %objectName = getSubStr(%objectName, 0, strpos(%objectName, ","));
+                  }
+                  
+                  %objectName = trim(%objectName);
+                  
                   if(%objectClassStack.count() == 1)
                   if(%objectClassStack.count() == 1)
                   {
                   {
                      //we only process top-level objects directly
                      //we only process top-level objects directly
@@ -574,6 +602,13 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                      %objectName = getSubStr(%objectName, 0, strpos(%objectName, ":"));
                   }
                   }
                   
                   
+                  if(strpos(%objectName, ",") != -1)
+                  {
+                     %objectName = getSubStr(%objectName, 0, strpos(%objectName, ","));
+                  }
+                  
+                  %objectName = trim(%objectName);
+                  
                   if(%objectClassStack.count() == 1)
                   if(%objectClassStack.count() == 1)
                   {
                   {
                      //we only process top-level objects directly
                      //we only process top-level objects directly
@@ -595,6 +630,12 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
                //hit the end of an object, pop our object stack
                //hit the end of an object, pop our object stack
                %objectClassStack.pop_back();
                %objectClassStack.pop_back();
             }
             }
+            else if(strIsMatchExpr("*exec(*.cs*)*", %line) || strIsMatchExpr("*exec(*.tscript*)*", %line))
+            {
+               %scriptExtRemovedLine = strReplace(%line, ".cs", "");
+               %scriptExtRemovedLine = strReplace(%scriptExtRemovedLine, ".tscript", "");
+               %line = %scriptExtRemovedLine;
+            }
             else
             else
             {
             {
                if(%objectClassStack.count() != 0)
                if(%objectClassStack.count() != 0)
@@ -805,7 +846,7 @@ T3Dpre4ProjectImporter::genProcessor("GuiControlProfile", "bitmap bitmapAsset");
 // Datablocks
 // Datablocks
 //==============================================================================
 //==============================================================================
 T3Dpre4ProjectImporter::genProcessor("ForestItemData", "shape shapeAsset");
 T3Dpre4ProjectImporter::genProcessor("ForestItemData", "shape shapeAsset");
-T3Dpre4ProjectImporter::genProcessor("CubeMapData", "cubemapFace cubemapFaceAsset cubemap cubemapAsset");
+T3Dpre4ProjectImporter::genProcessor("CubeMapData", "cubemapFace cubeMapFaceAsset cubemap cubemapAsset");
 T3Dpre4ProjectImporter::genProcessor("DebrisData", "shape shapeAsset");
 T3Dpre4ProjectImporter::genProcessor("DebrisData", "shape shapeAsset");
 T3Dpre4ProjectImporter::genProcessor("DecalData", "material materialAsset");
 T3Dpre4ProjectImporter::genProcessor("DecalData", "material materialAsset");
 T3Dpre4ProjectImporter::genProcessor("ExplosionData", "explosionShape explosionShapeAsset");
 T3Dpre4ProjectImporter::genProcessor("ExplosionData", "explosionShape explosionShapeAsset");
@@ -865,7 +906,7 @@ function T3Dpre4ProjectImporter::processMaterialObject(%this, %file, %objectName
 {
 {
    %matAsset = MaterialAsset::getAssetIdByMaterialName(%objectName);
    %matAsset = MaterialAsset::getAssetIdByMaterialName(%objectName);
    
    
-   if(%matAsset $= "")
+   if(%matAsset $= "" || %matAsset $= "Core_Rendering:NoMaterial")
    {
    {
       %assetName = %objectName;
       %assetName = %objectName;
    
    

+ 32 - 18
Templates/BaseGame/game/tools/projectImporter/scripts/projectImporter.tscript

@@ -373,9 +373,9 @@ function testFilenameExtensions(%filename)
 
 
 function processLegacyField(%line, %originalFieldName, %newFieldName)
 function processLegacyField(%line, %originalFieldName, %newFieldName)
 {
 {
-   if(!strIsMatchExpr("*"@%originalFieldName@"=*\"*\";", %line) && 
-      !strIsMatchExpr("*"@%originalFieldName@"[*=*\"*\";", %line) &&
-      !strIsMatchExpr("*"@%originalFieldName@" *=*\"*\";", %line))
+   if(!strIsMatchExpr("*"@%originalFieldName@"=*\"*\";*", %line) && 
+      !strIsMatchExpr("*"@%originalFieldName@"[*=*\"*\";*", %line) &&
+      !strIsMatchExpr("*"@%originalFieldName@" *=*\"*\";*", %line))
       return %line;
       return %line;
       
       
    %outLine = strreplace(%line, %originalFieldName, %newFieldName);
    %outLine = strreplace(%line, %originalFieldName, %newFieldName);
@@ -435,7 +435,7 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
       }
       }
       else if ((strpos(%value,"/") == -1)&&(strpos(%value,"\\") == -1))
       else if ((strpos(%value,"/") == -1)&&(strpos(%value,"\\") == -1))
       {
       {
-         %targetFilename = $ProjectImporter::currentFilePath @ "/" @ %value;         
+         %targetFilename = $ProjectImporter::currentFilePath @ %value;
       }
       }
       else if(!startsWith(%value, $ProjectImporter::modulePath @ "/"))
       else if(!startsWith(%value, $ProjectImporter::modulePath @ "/"))
       {
       {
@@ -465,7 +465,10 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
      
      
       if(%assetId !$= "" && AssetDatabase.isDeclaredAsset(%assetId))
       if(%assetId !$= "" && AssetDatabase.isDeclaredAsset(%assetId))
       {
       {
+         //if (%assetId.getStatusString() $= "Ok")
          %outLine = strReplace(%outLine, %value, %assetId);
          %outLine = strReplace(%outLine, %value, %assetId);
+         //else
+         //   error("Asset assignment failure:", %assetId, getStatusString());
       }
       }
    }
    }
    
    
@@ -847,6 +850,8 @@ function beginLevelImport()
 
 
             %assetName = %fileBase;
             %assetName = %fileBase;
             
             
+            %assetName = strreplace(%assetName, " ", "");
+            
             if(AssetDatabase.isDeclaredAsset(%moduleName @ ":" @ %assetName))
             if(AssetDatabase.isDeclaredAsset(%moduleName @ ":" @ %assetName))
             {
             {
                warn("Legacy Project Importer - trying to process a level into an asset that already exists");
                warn("Legacy Project Importer - trying to process a level into an asset that already exists");
@@ -864,31 +869,42 @@ function beginLevelImport()
                levelName = %assetName;
                levelName = %assetName;
             };
             };
             
             
-            if(isFile(%filePath @ "/" @ %assetName @ ".decal"))
+            if(isFile(%filePath @ "/" @ %fileBase @ ".decal"))
             {
             {
-               %asset.decalsFile = %assetName @ ".decal";
+               %asset.decalsFile = %fileBase @ ".decal";
             }
             }
-            if(isFile(%filePath @ "/" @ %assetName @ ".forest"))
+            if(isFile(%filePath @ "/" @ %fileBase @ ".forest"))
             {
             {
-               %asset.forestFile = %assetName @ ".forest";
+               %asset.forestFile = %fileBase @ ".forest";
             }
             }
-            if(isFile(%filePath @ "/" @ %assetName @ ".nav"))
+            if(isFile(%filePath @ "/" @ %fileBase @ ".nav"))
             {
             {
-               %asset.decalsFile = %assetName @ ".nav";
+               %asset.decalsFile = %fileBase @ ".nav";
             }
             }
-            if(isFile(%filePath @ "/" @ %assetName @ ".postfx.preset"))
+            if(isFile(%filePath @ "/" @ %fileBase @ ".postfx.preset"))
             {
             {
-               %asset.postFXPresetFile = %assetName @ ".postfx.preset";
+               %asset.postFXPresetFile = %fileBase @ ".postfx.preset";
             }
             }
             
             
-            if(isFile(%filePath @ "/" @ %assetName @ ".png"))
+            if(isFile(%filePath @ "/" @ %fileBase @ ".png"))
             {
             {
-               %previewImageAsset = ImageAsset::getAssetIdByFilename(%filePath @ "/" @ %assetName @ ".png");
+               %previewImageAsset = ImageAsset::getAssetIdByFilename(%filePath @ "/" @ %fileBase @ ".png");
                %asset.addAssetDependencyField(previewImageAsset, %previewImageAsset);
                %asset.addAssetDependencyField(previewImageAsset, %previewImageAsset);
             }
             }
-            else if(isFile(%filePath @ "/" @ %assetName @ ".dds"))
+            else if(isFile(%filePath @ "/" @ %fileBase @ ".dds"))
             {
             {
-               %previewImageAsset = ImageAsset::getAssetIdByFilename(%filePath @ "/" @ %assetName @ ".dds");
+               %previewImageAsset = ImageAsset::getAssetIdByFilename(%filePath @ "/" @ %fileBase @ ".dds");
+               %asset.addAssetDependencyField(previewImageAsset, %previewImageAsset);
+            }
+            else if(isFile(%filePath @ "/" @ %fileBase @ ".jpg"))
+            {
+               %previewImageAsset = ImageAsset::getAssetIdByFilename(%filePath @ "/" @ %fileBase @ ".jpg");
+               %asset.addAssetDependencyField(previewImageAsset, %previewImageAsset);
+            }
+
+            else if(isFile(%filePath @ "/" @ %fileBase @ ".jpeg"))
+            {
+               %previewImageAsset = ImageAsset::getAssetIdByFilename(%filePath @ "/" @ %fileBase @ ".jpeg");
                %asset.addAssetDependencyField(previewImageAsset, %previewImageAsset);
                %asset.addAssetDependencyField(previewImageAsset, %previewImageAsset);
             }
             }
             
             
@@ -896,8 +912,6 @@ function beginLevelImport()
             
             
             %moduleDef = ModuleDatabase.findModule(%moduleName, 1);
             %moduleDef = ModuleDatabase.findModule(%moduleName, 1);
             %success = AssetDatabase.addDeclaredAsset(%moduleDef, %tamlpath);
             %success = AssetDatabase.addDeclaredAsset(%moduleDef, %tamlpath);
-            
-            %sdfg = true;
          }
          }
       }
       }
       
       

+ 1 - 1
Templates/BaseGame/game/tools/shapeEditor/gui/shapeEdAdvancedWindow.ed.gui

@@ -157,7 +157,7 @@
                   canSaveDynamicFields = "0";
                   canSaveDynamicFields = "0";
                };
                };
                new GuiBitmapCtrl(){
                new GuiBitmapCtrl(){
-                  bitmap = "tools/gui/images/inactive-overlay"; 
+                  bitmapAsset = "ToolsModule:inactive_overlay_image"; 
                   position = "57 19";
                   position = "57 19";
                   Extent = "122 20";
                   Extent = "122 20";
                   tooltip = "Levels needs to be selected to enable the detail level slider";
                   tooltip = "Levels needs to be selected to enable the detail level slider";

+ 3 - 3
Templates/BaseGame/game/tools/worldEditor/gui/EditorGui.ed.gui

@@ -1238,7 +1238,7 @@ new GuiMouseEventCtrl(CameraSpeedDropdownCtrlContainer, EditorGuiGroup) {
       new GuiBitmapCtrl(){ // Fast
       new GuiBitmapCtrl(){ // Fast
          position = "105 15";
          position = "105 15";
          extent = "2 8";
          extent = "2 8";
-         bitmap = "tools/gui/images/separator-h.png";  
+         bitmapAsset = "ToolsModule:separator_h_image";  
          Profile = "ToolsGuiDefaultProfile";
          Profile = "ToolsGuiDefaultProfile";
          HorizSizing = "right";
          HorizSizing = "right";
          VertSizing = "bottom"; 
          VertSizing = "bottom"; 
@@ -1246,7 +1246,7 @@ new GuiMouseEventCtrl(CameraSpeedDropdownCtrlContainer, EditorGuiGroup) {
       new GuiBitmapCtrl(){ // normal
       new GuiBitmapCtrl(){ // normal
          position = "73 15";
          position = "73 15";
          extent = "2 8";
          extent = "2 8";
-         bitmap = "tools/gui/images/separator-h.png";  
+         bitmapAsset = "ToolsModule:separator_h_image";  
          Profile = "ToolsGuiDefaultProfile";
          Profile = "ToolsGuiDefaultProfile";
          HorizSizing = "right";
          HorizSizing = "right";
          VertSizing = "bottom"; 
          VertSizing = "bottom"; 
@@ -1254,7 +1254,7 @@ new GuiMouseEventCtrl(CameraSpeedDropdownCtrlContainer, EditorGuiGroup) {
       new GuiBitmapCtrl(){ // slow
       new GuiBitmapCtrl(){ // slow
          position = "41 15";
          position = "41 15";
          extent = "2 8";
          extent = "2 8";
-         bitmap = "tools/gui/images/separator-h.png";  
+         bitmapAsset = "ToolsModule:separator_h_image";  
          Profile = "ToolsGuiDefaultProfile";
          Profile = "ToolsGuiDefaultProfile";
          HorizSizing = "right";
          HorizSizing = "right";
          VertSizing = "bottom"; 
          VertSizing = "bottom"; 

+ 5 - 5
Templates/BaseGame/game/tools/worldEditor/scripts/interfaces/terrainMaterialDlg.ed.tscript

@@ -412,7 +412,7 @@ function TerrainMaterialDlg::setActiveMaterial( %this, %mat )
          %this-->baseTexCtrl.setBitmap( %mat.diffuseMap ); 
          %this-->baseTexCtrl.setBitmap( %mat.diffuseMap ); 
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
 
 
-      %this-->texBaseMap.setBitmap( %imgPath );
+      %this-->texBaseMap.setBitmapAsset( %imgPath );
       
       
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       {
       {
@@ -431,7 +431,7 @@ function TerrainMaterialDlg::setActiveMaterial( %this, %mat )
       if(%imgPath $= "")
       if(%imgPath $= "")
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
 
 
-      %this-->texNormalMap.setBitmap( %imgPath );
+      %this-->texNormalMap.setBitmapAsset( %imgPath );
       
       
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       {
       {
@@ -450,7 +450,7 @@ function TerrainMaterialDlg::setActiveMaterial( %this, %mat )
       if(%imgPath $= "")
       if(%imgPath $= "")
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
 
 
-      %this-->texORMConfigMap.setBitmap( %imgPath );
+      %this-->texORMConfigMap.setBitmapAsset( %imgPath );
       
       
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       {
       {
@@ -469,7 +469,7 @@ function TerrainMaterialDlg::setActiveMaterial( %this, %mat )
       if(%imgPath $= "")
       if(%imgPath $= "")
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
 
 
-      %this-->texDetailMap.setBitmap( %imgPath );
+      %this-->texDetailMap.setBitmapAsset( %imgPath );
       
       
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       {
       {
@@ -488,7 +488,7 @@ function TerrainMaterialDlg::setActiveMaterial( %this, %mat )
       if(%imgPath $= "")
       if(%imgPath $= "")
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
          %imgPath = $TerrainMaterialEditor::emptyMaterialImage;
 
 
-      %this-->texMacroMap.setBitmap( %imgPath );
+      %this-->texMacroMap.setBitmapAsset( %imgPath );
 
 
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
       {
       {

+ 1 - 1
Templates/BaseGame/game/tools/worldEditor/scripts/visibility/lightViz.tscript

@@ -140,7 +140,7 @@ singleton PostEffect( AL_DepthVisualize )
    shader = AL_DepthVisualizeShader;
    shader = AL_DepthVisualizeShader;
    stateBlock = AL_DefaultVisualizeState;
    stateBlock = AL_DefaultVisualizeState;
    texture[0] = "#deferred";
    texture[0] = "#deferred";
-   texture[1] = "tools/worldEditor/images/depthviz";   
+   textureAsset[1] = "ToolsModule:depthviz_image";   
    target = "$backBuffer";
    target = "$backBuffer";
    renderPriority = 9999;
    renderPriority = 9999;
 };
 };