diff --git a/Engine/source/T3D/assets/ImageAsset.cpp b/Engine/source/T3D/assets/ImageAsset.cpp index eb5f5036d..af55747ca 100644 --- a/Engine/source/T3D/assets/ImageAsset.cpp +++ b/Engine/source/T3D/assets/ImageAsset.cpp @@ -549,7 +549,20 @@ bool GuiInspectorTypeImageAssetPtr::renderTooltip(const Point2I& hoverPos, const if (!filename || !filename[0]) return false; - GFXTexHandle texture(filename, &GFXStaticTextureSRGBProfile, avar("%s() - tooltip texture (line %d)", __FUNCTION__, __LINE__)); + StringTableEntry previewFilename = filename; + if (Con::isFunction("getAssetPreviewImage")) + { + ConsoleValue consoleRet = Con::executef("getAssetPreviewImage", filename); + previewFilename = StringTable->insert(consoleRet.getString()); + + if (AssetDatabase.isDeclaredAsset(previewFilename)) + { + ImageAsset* previewAsset = AssetDatabase.acquireAsset(previewFilename); + previewFilename = previewAsset->getImagePath(); + } + } + + GFXTexHandle texture(previewFilename, &GFXStaticTextureSRGBProfile, avar("%s() - tooltip texture (line %d)", __FUNCTION__, __LINE__)); if (texture.isNull()) return false; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript index d3e2996e0..3dd803a62 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript @@ -2488,3 +2488,50 @@ function AssetBrowser::importLooseFiles(%this) echo("Adding loose files at directory " @ %this.dirHandler.currentAddress); LooseFileAuditWindow.showDialog(%this.dirHandler.currentAddress); } + +// +function getAssetPreviewImage(%asset) +{ + if(isFile(%asset)) + { + %aq = new AssetQuery(); + %assetsFound = AssetDatabase.findAssetLooseFile(%aq, %asset); + if(%assetsFound != 0) + { + %asset = %aq.getAsset(0); + } + else + { + %previewPath = %asset; + } + + %aq.delete(); + } + + if(AssetDatabase.isDeclaredAsset(%asset)) + { + %moduleName = AssetDatabase.getAssetModule(%asset).ModuleId; + %assetName = AssetDatabase.getAssetName(%asset); + %previewAssetName = "ToolsModule:" @ %moduleName @ "_" @ %assetName @ "_PreviewImage"; + + if(AssetDatabase.isDeclaredAsset(%previewAssetName)) + { + %previewDef = AssetDatabase.acquireAsset(%previewAssetName); + %previewPath = %previewDef.getImagePath(); + AssetDatabase.releaseAsset(%previewAssetName); + } + else + { + %previewPath = %asset; + } + } + else + { + %previewPath = %asset; + } + + if(%previewPath $= "") + %previewPath = "ToolsModule:unknownImage_image"; + + return %previewPath; +} \ No newline at end of file diff --git a/Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript b/Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript index 65266a382..253508d75 100644 --- a/Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript +++ b/Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript @@ -38,7 +38,7 @@ function ConvexEditorGui::onWake( %this ) %mat = %matName; } - ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%mat.getDiffuseMap(0)); + ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap( getAssetPreviewImage(%mat.getDiffuseMap(0))); ConvexEditorOptionsWindow.activeMaterial = %mat; } @@ -76,7 +76,7 @@ function ConvexEditorGui::onSelectionChanged( %this, %shape, %face ) ConvexEditorOptionsWindow-->defMatPreviewBtn.setText(""); %shapeMat = %shape.getMaterial(); - ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(%shapeMat.getDiffuseMap(0)); + ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(getAssetPreviewImage(%shapeMat.getDiffuseMap(0))); ConvexEditorOptionsWindow.activeShape = %shape; @@ -175,7 +175,7 @@ function ConvexEditorMaterialBtn::gotMaterialName(%this, %name) } } - ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%diffusemap); + ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(getAssetPreviewImage(%diffusemap)); ConvexEditorOptionsWindow.activeMaterial = %materialAsset.materialDefinitionName; } @@ -191,7 +191,7 @@ function ConvexEditorMaterialLiftBtn::onClick(%this) { %mat = ConvexEditorGui.getSelectedFaceMaterial(); ConvexEditorOptionsWindow.activeMaterial = %mat; - ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%mat.getDiffuseMap(0)); + ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(getAssetPreviewImage(%mat.getDiffuseMap(0))); } function ConvexEditorMaterialResetBtn::onClick(%this) @@ -240,7 +240,7 @@ function ConvexEditorDefaultMaterialBtn::gotMaterialName(%this, %name) } } - ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(%diffusemap); + ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(getAssetPreviewImage(%diffusemap)); ConvexEditorOptionsWindow.activeShape.setMaterial(%name); diff --git a/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript b/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript index 0138d5331..3257ab7cd 100644 --- a/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript +++ b/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript @@ -326,51 +326,40 @@ function DecalInspector::removeDirty() function DecalEditorGui::updateDecalPreview( %this, %material ) { + %previewImage = ""; + if( isObject( %material ) ) { - DecalPreviewWindow-->decalPreview.setBitmap( %material.getDiffuseMap(0) ); + %previewImage = %material.getDiffuseMap(0); } else { if(AssetDatabase.isDeclaredAsset(%material)) { - %assetDef = AssetDatabase.acquireAsset(%material); - %difMap = %assetDef.materialDefinitionName.getDiffuseMap(0); - AssetDatabase.acquireAsset(%material); - - if(%difMap !$= "" && %difMap !$= "Core_Rendering:missingTexture") - { - DecalPreviewWindow-->decalPreview.setBitmap( %difMap ); - return; + %previewImage = %material; } } - DecalPreviewWindow-->decalPreview.setBitmap("ToolsModule:unknownImage_image"); + + DecalPreviewWindow-->decalPreview.setBitmap( getAssetPreviewImage(%previewImage) ); } -} function DecalEditorGui::updateInstancePreview( %this, %material ) { + %previewImage = ""; + if( isObject( %material ) ) { - DecalPreviewWindow-->instancePreview.setBitmap( %material.getDiffuseMap(0) ); + %previewImage = %material.getDiffuseMap(0); } else { if(AssetDatabase.isDeclaredAsset(%material)) { - %assetDef = AssetDatabase.acquireAsset(%material); - %difMap = %assetDef.materialDefinitionName.getDiffuseMap(0); - AssetDatabase.acquireAsset(%material); - - if(%difMap !$= "" && %difMap !$= "Core_Rendering:missingTexture") - { - DecalPreviewWindow-->instancePreview.setBitmap( %difMap ); - return; + %previewImage = %material; } } - DecalPreviewWindow-->instancePreview.setBitmap("ToolsModule:unknownImage_image"); -} + DecalPreviewWindow-->instancePreview.setBitmap( getAssetPreviewImage(%previewImage) ); } function DecalEditorGui::rebuildInstanceTree( %this ) diff --git a/Templates/BaseGame/game/tools/gui/uvEditor.ed.gui b/Templates/BaseGame/game/tools/gui/uvEditor.ed.gui index bddecffc3..c83c11b67 100644 --- a/Templates/BaseGame/game/tools/gui/uvEditor.ed.gui +++ b/Templates/BaseGame/game/tools/gui/uvEditor.ed.gui @@ -512,7 +512,8 @@ function UVEditor::showDialog( %this, %applyCallback, %obj, %uv) else if( %material.cubemap.cubeFace[0] !$= "" ) %previewImage = %material.cubemap.cubeFace[0]; } - UVEditor-->bitmapPreview.setBitmap(%previewImage); + + UVEditor-->bitmapPreview.setBitmap(getAssetPreviewImage(%previewImage)); // Set up the color popup %popup = UVEditor-->colorPopup; diff --git a/Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript b/Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript index 4cf7ba4a6..124ae856a 100644 --- a/Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript +++ b/Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript @@ -804,174 +804,92 @@ function MaterialEditorGui::guiSync( %this, %material ) %layer = MaterialEditorGui.currentLayer; //Diffuse - if((%material).getDiffuseMap(%layer) !$= "" && (%material).getDiffuseMapAsset(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - %difAsset = (%material).getDiffuseMapAsset(%layer); - MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( (%material).getDiffuseMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->diffuseMapDisplayBitmap.setBitmap( (%material).getDiffuseMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->diffuseMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %diffuseMap = (%material).getDiffuseMap(%layer); + %diffuseMapText = %diffuseMap !$= "" && %diffuseMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getDiffuseMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( %diffuseMapText ); + MaterialEditorPropertiesWindow-->diffuseMapDisplayBitmap.setBitmap( getAssetPreviewImage(%diffuseMap) ); //Normal - if((%material).getNormalMap(%layer) !$= "" && (%material).getNormalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->normalMapNameText.setText( (%material).getNormalMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( (%material).getNormalMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->normalMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %normalMap = (%material).getNormalMap(%layer); + %normalMapText = %normalMap !$= "" && %normalMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getNormalMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->normalMapNameText.setText( %normalMapText ); + MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( getAssetPreviewImage(%normalMap) ); //ORM Config - if((%material).getORMConfigMap(%layer) !$= "" && (%material).getORMConfigMap(%layer) !$= $MaterialEditor::emptyMaterialImage) + %ormMap = (%material).getNormalMap(%layer); + %hasOrmMap = (%ormMap !$= "" && %ormMap !$=$MaterialEditor::emptyMaterialImage); + %ormMapText = %hasOrmMap ? (%material).getNormalMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->ORMConfigMapNameText.setText(%ormMapText ); + MaterialEditorPropertiesWindow-->ORMConfigMapDisplayBitmap.setBitmap( getAssetPreviewImage(%ormMap) ); + + //show or hide depending on if we have a map assigned here + MaterialEditorPropertiesWindow-->RoughnessTextEdit.setVisible(!%hasOrmMap); + MaterialEditorPropertiesWindow-->RoughnessSlider.setVisible(!%hasOrmMap); + MaterialEditorPropertiesWindow-->MetalnessTextEdit.setVisible(!%hasOrmMap); + MaterialEditorPropertiesWindow-->MetalnessSlider.setVisible(!%hasOrmMap); + + if(%hasOrmMap) { - MaterialEditorPropertiesWindow-->ORMConfigMapNameText.setText( (%material).getORMConfigMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->ORMConfigMapDisplayBitmap.setBitmap( (%material).getORMConfigMap(%layer) ); - //hide unused - MaterialEditorPropertiesWindow-->RoughnessTextEdit.setVisible(false); - MaterialEditorPropertiesWindow-->RoughnessSlider.setVisible(false); - MaterialEditorPropertiesWindow-->MetalnessTextEdit.setVisible(false); - MaterialEditorPropertiesWindow-->MetalnessSlider.setVisible(false); - MaterialEditorPropertiesWindow-->isSRGBCheckbox.setValue((%material).isSRGB[%layer]); MaterialEditorPropertiesWindow-->invertRoughnessCheckbox.setValue((%material).invertRoughness[%layer]); - //show used - MaterialEditorPropertiesWindow-->isSRGBCheckbox.setVisible(true); - MaterialEditorPropertiesWindow-->invertRoughnessCheckbox.setVisible(true); - } - else - { - MaterialEditorPropertiesWindow-->ORMConfigMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->ORMConfigMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - MaterialEditorPropertiesWindow-->RoughnessTextEdit.setText((%material).Roughness[%layer]); - MaterialEditorPropertiesWindow-->RoughnessSlider.setValue((%material).Roughness[%layer]); - MaterialEditorPropertiesWindow-->MetalnessTextEdit.setText((%material).Metalness[%layer]); - MaterialEditorPropertiesWindow-->MetalnessSlider.setValue((%material).Metalness[%layer]); - //show used - MaterialEditorPropertiesWindow-->RoughnessTextEdit.setVisible(true); - MaterialEditorPropertiesWindow-->RoughnessSlider.setVisible(true); - MaterialEditorPropertiesWindow-->MetalnessTextEdit.setVisible(true); - MaterialEditorPropertiesWindow-->MetalnessSlider.setVisible(true); - - //hide unused - MaterialEditorPropertiesWindow-->isSRGBCheckbox.setVisible(false); - MaterialEditorPropertiesWindow-->invertRoughnessCheckbox.setVisible(false); - } + MaterialEditorPropertiesWindow-->isSRGBCheckbox.setVisible(%hasOrmMap); + MaterialEditorPropertiesWindow-->invertRoughnessCheckbox.setVisible(%hasOrmMap); //AOMap - if((%material).getAOMap(%layer) !$= "" && (%material).getAOMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->aoMapNameText.setText( (%material).getAOMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( (%material).getAOMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->aoMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %aoMap = (%material).getAOMap(%layer); + %aoMapText = %aoMap !$= "" && %aoMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getAOMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->aoMapNameText.setText( %aoMapText ); + MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( getAssetPreviewImage(%aoMap) ); + //RoughMap - if((%material).getRoughMap(%layer) !$= "" && (%material).getRoughMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->roughMapNameText.setText( (%material).getRoughMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( (%material).getRoughMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->roughMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %roughMap = (%material).getRoughMap(%layer); + %roughMapText = %roughMap !$= "" && %roughMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getRoughMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->roughMapNameText.setText( %roughMapText ); + MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( getAssetPreviewImage(%roughMap) ); //MetalMap - if((%material).getMetalMap(%layer) !$= "" && (%material).getMetalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->metalMapNameText.setText( (%material).getMetalMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( (%material).getMetalMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->metalMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %metalMap = (%material).getMetalMap(%layer); + %metalMapText = %metalMap !$= "" && %metalMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getMetalMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->metalMapNameText.setText( %metalMapText ); + MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( getAssetPreviewImage(%metalMap) ); //GlowMap - if((%material).getGlowMap(%layer) !$= "" && (%material).getGlowMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->glowMapNameText.setText( (%material).getGlowMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( (%material).getGlowMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->glowMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %glowMap = (%material).getGlowMap(%layer); + %glowMapText = %glowMap !$= "" && %glowMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getGlowMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->glowMapNameText.setText( %glowMapText ); + MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( getAssetPreviewImage(%glowMap) ); //Overlay - if((%material).getOverlayMap(%layer) !$= "" && (%material).getOverlayMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->overlayMapNameText.setText( (%material).getOverlayMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( (%material).getOverlayMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->overlayMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %overlayMap = (%material).getOverlayMap(%layer); + %overlayMapText = %overlayMap !$= "" && %overlayMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getOverlayMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->overlayMapNameText.setText( %overlayMapText ); + MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( getAssetPreviewImage(%overlayMap) ); //Detail - if((%material).getDetailMap(%layer) !$= "" && (%material).getDetailMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->detailMapNameText.setText( (%material).getDetailMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( (%material).getDetailMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->detailMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %detailMap = (%material).getDetailMap(%layer); + %detailMapText = %detailMap !$= "" && %detailMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getDetailMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->detailMapNameText.setText( %detailMapText ); + MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( getAssetPreviewImage(%detailMap) ); //Detail Normal - if((%material).getDetailNormalMap(%layer) !$= "" && (%material).getDetailNormalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( (%material).getDetailNormalMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( (%material).getDetailNormalMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %detailNormalMap = (%material).getDetailNormalMap(%layer); + %detailNormalMapText = %detailNormalMap !$= "" && %detailNormalMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getDetailNormalMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( %detailNormalMapText ); + MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( getAssetPreviewImage(%detailNormalMap) ); //Light - if((%material).getLightMap(%layer) !$= "" && (%material).getLightMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->lightMapNameText.setText( (%material).getLightMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( (%material).getLightMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->lightMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %lightMap = (%material).getLightMap(%layer); + %lightMapText = %lightMap !$= "" && %lightMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getLightMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->lightMapNameText.setText( %lightMapText ); + MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( getAssetPreviewImage(%lightMap) ); //Tone - if((%material).getToneMap(%layer) !$= "" && (%material).getToneMap(%layer) !$= $MaterialEditor::emptyMaterialImage) - { - MaterialEditorPropertiesWindow-->toneMapNameText.setText( (%material).getToneMapAsset(%layer) ); - MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( (%material).getToneMap(%layer) ); - } - else - { - MaterialEditorPropertiesWindow-->toneMapNameText.setText( "None" ); - MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage ); - } + %toneMap = (%material).getToneMap(%layer); + %toneMapText = %toneMap !$= "" && %toneMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getToneMapAsset(%layer) : "None"; + MaterialEditorPropertiesWindow-->toneMapNameText.setText( %toneMapText ); + MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( getAssetPreviewImage(%toneMap) ); MaterialEditorPropertiesWindow-->accuScaleTextEdit.setText((%material).accuScale[%layer]); MaterialEditorPropertiesWindow-->accuScaleTextEdit.setText((%material).accuScale[%layer]); @@ -1254,12 +1172,9 @@ function MaterialEditorGui::doUpdateTextureMap( %this, %assetId ) %bitmapCtrl = MaterialEditorPropertiesWindow.findObjectByInternalName( %type @ "MapDisplayBitmap", true ); %textCtrl = MaterialEditorPropertiesWindow.findObjectByInternalName( %type @ "MapNameText", true ); - %assetDef = AssetDatabase.acquireAsset(%assetId); - - %texture = %assetDef.getImagePath(); + %texture = getAssetPreviewImage(%assetId); - //%texture = MaterialEditorGui.openFile("texture"); - if( %texture !$= "" ) + if( %texture !$= "" && %texture !$= $MaterialEditor::emptyMaterialImage) { %bitmapCtrl.setBitmap(%texture); diff --git a/Templates/BaseGame/game/tools/particleEditor/particleParticleEditor.ed.tscript b/Templates/BaseGame/game/tools/particleEditor/particleParticleEditor.ed.tscript index e1a34fe4b..64486e92e 100644 --- a/Templates/BaseGame/game/tools/particleEditor/particleParticleEditor.ed.tscript +++ b/Templates/BaseGame/game/tools/particleEditor/particleParticleEditor.ed.tscript @@ -57,24 +57,11 @@ function PE_ParticleEditor::guiSync( %this ) %popup.sort(); %popup.setSelected( %data ); - %bitmap = %data.getTexture();//MaterialEditorGui.searchForTexture( %data.getName(), %data.getTexture() ); - if( %bitmap !$= "" ) - { - PE_ParticleEditor-->PEP_previewImage.setBitmap( %bitmap ); - - %text = %data.getTextureAsset(); - if(%text $= "") - %text = %bitmap; - - PE_ParticleEditor-->PEP_previewImageName.setText( %text ); - PE_ParticleEditor-->PEP_previewImageName.tooltip = %bitmap; - } - else - { - PE_ParticleEditor-->PEP_previewImage.setBitmap( "" ); - PE_ParticleEditor-->PEP_previewImageName.setText( "None" ); - PE_ParticleEditor-->PEP_previewImageName.tooltip = "None"; - } + %bitmap = %data.getTexture(); + %bitmapText = %bitmap !$= "" && %bitmap !$= $MaterialEditor::emptyMaterialImage ? %data.getTextureAsset() : "None"; + PE_ParticleEditor-->PEP_previewImageName.setText( %bitmapText ); + PE_ParticleEditor-->PEP_previewImageName.tooltip = %bitmapText; + PE_ParticleEditor-->PEP_previewImage.setBitmap( getAssetPreviewImage(%bitmap) ); PE_ParticleEditor-->PEP_inverseAlpha.setValue( %data.useInvAlpha ); @@ -396,6 +383,9 @@ function PE_ParticleEditor::loadNewParticle( %this, %particle ) else %particle = PEP_ParticleSelector.getSelected(); + if( !isObject( %particle ) ) + return; + PE_ParticleEditor.currParticle = %particle; error("PE_ParticleEditor::loadNewParticle() - Loading particle: " @ %particle.getName()); diff --git a/Templates/BaseGame/game/tools/worldEditor/scripts/editors/terrainEditor.ed.tscript b/Templates/BaseGame/game/tools/worldEditor/scripts/editors/terrainEditor.ed.tscript index e9f39b003..68d03f4e8 100644 --- a/Templates/BaseGame/game/tools/worldEditor/scripts/editors/terrainEditor.ed.tscript +++ b/Templates/BaseGame/game/tools/worldEditor/scripts/editors/terrainEditor.ed.tscript @@ -62,7 +62,7 @@ function TerrainEditor::setPaintMaterial( %this, %matIndex, %terrainMat ) ETerrainMaterialSelected.selectedMatIndex = %matIndex; ETerrainMaterialSelected.selectedMat = %terrainMat; - ETerrainMaterialSelected.setBitmap(%terrainMat.getDiffuseMap()); + ETerrainMaterialSelected.setBitmap(getAssetPreviewImage(%terrainMat.getDiffuseMap())); ETerrainMaterialSelectedEdit.Visible = isObject(%terrainMat); TerrainTextureText.text = %terrainMat.getInternalName(); @@ -141,7 +141,7 @@ function EPainter::updateLayers( %this, %matIndex ) }; %ctrl.setText( %matInternalName ); - %ctrl.setBitmap( %mat.getDiffuseMap() ); + %ctrl.setBitmap( getAssetPreviewImage(%mat.getDiffuseMap()) ); %tooltip = %matInternalName; if(%i < 9) diff --git a/Templates/BaseGame/game/tools/worldEditor/scripts/interfaces/terrainMaterialDlg.ed.tscript b/Templates/BaseGame/game/tools/worldEditor/scripts/interfaces/terrainMaterialDlg.ed.tscript index 0a47f96ee..5429008ea 100644 --- a/Templates/BaseGame/game/tools/worldEditor/scripts/interfaces/terrainMaterialDlg.ed.tscript +++ b/Templates/BaseGame/game/tools/worldEditor/scripts/interfaces/terrainMaterialDlg.ed.tscript @@ -296,7 +296,7 @@ function TerrainMaterialDlg::changeTerrainMatMapAsset(%this) %image = $TerrainMaterialEditor::emptyMaterialImage; } - %targetMap.setBitmap( %image ); + %targetMap.setBitmap( getAssetPreviewImage(%image) ); %targetMapName = %targetMap @ "AssetId"; %targetMapName.setText(%imgAsset); @@ -420,99 +420,35 @@ function TerrainMaterialDlg::setActiveMaterial( %this, %mat ) // %imgPath = %mat.getDiffuseMap(); - if(%imgPath $= "") - %imgPath = $TerrainMaterialEditor::emptyMaterialImage; - - %this-->texBaseMap.setBitmap( %imgPath ); - - if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage) - { - %imgAsset = %mat.getDiffuseMapAsset(); - if(%imgAsset $= "") - %imgAsset = %imgPath; - %this-->diffuseMapAssetId.setText( %imgAsset ); - } - else - { - %this-->diffuseMapAssetId.setText( "None" ); - } + %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getDiffuseMapAsset() : "None"; + %this-->diffuseMapAssetId.setText( %imgPathText ); + %this-->texBaseMap.setBitmap( getAssetPreviewImage(%imgPath) ); // %imgPath = %mat.getNormalMap(); - if(%imgPath $= "") - %imgPath = $TerrainMaterialEditor::emptyMaterialImage; - - %this-->texNormalMap.setBitmap( %imgPath ); - - if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage) - { - %imgAsset = %mat.getNormalMapAsset(); - if(%imgAsset $= "") - %imgAsset = %imgPath; - %this-->normalMapAssetId.setText( %imgAsset ); - } - else - { - %this-->normalMapAssetId.setText( "None" ); - } + %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getNormalMapAsset() : "None"; + %this-->normalMapAssetId.setText( %imgPathText ); + %this-->texNormalMap.setBitmap( getAssetPreviewImage(%imgPath) ); // %imgPath = %mat.getORMConfigMap(); - if(%imgPath $= "") - %imgPath = $TerrainMaterialEditor::emptyMaterialImage; - - %this-->texORMConfigMap.setBitmap( %imgPath ); - - if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage) - { - %imgAsset = %mat.getORMConfigMapAsset(); - if(%imgAsset $= "") - %imgAsset = %imgPath; - %this-->ORMMapAssetId.setText( %imgAsset ); - } - else - { - %this-->ORMMapAssetId.setText( "None" ); - } + %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getORMConfigMapAsset() : "None"; + %this-->ORMMapAssetId.setText( %imgPathText ); + %this-->texORMConfigMap.setBitmap( getAssetPreviewImage(%imgPath) ); // %imgPath = %mat.getDetailMap(); - if(%imgPath $= "") - %imgPath = $TerrainMaterialEditor::emptyMaterialImage; - - %this-->texDetailMap.setBitmap( %imgPath ); - - if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage) - { - %imgAsset = %mat.getDetailMapAsset(); - if(%imgAsset $= "") - %imgAsset = %imgPath; - %this-->detailMapAssetId.setText( %imgAsset ); - } - else - { - %this-->detailMapAssetId.setText( "None" ); - } + %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getDetailMapAsset() : "None"; + %this-->detailMapAssetId.setText( %imgPathText ); + %this-->texDetailMap.setBitmap( getAssetPreviewImage(%imgPath) ); // %imgPath = %mat.getMacroMap(); - if(%imgPath $= "") - %imgPath = $TerrainMaterialEditor::emptyMaterialImage; - - %this-->texMacroMap.setBitmap( %imgPath ); - - if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage) - { - %imgAsset = %mat.getMacroMapAsset(); - if(%imgAsset $= "") - %imgAsset = %imgPath; - %this-->macroMapAssetId.setText( %imgAsset ); - } - else - { - %this-->macroMapAssetId.setText( "None" ); - } + %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getMacroMapAsset() : "None"; + %this-->macroMapAssetId.setText( %imgPathText ); + %this-->texMacroMap.setBitmap( getAssetPreviewImage(%imgPath) ); + // %this-->detSizeCtrl.setText( %mat.detailSize ); %this-->baseSizeCtrl.setText( %mat.diffuseSize ); %this-->detStrengthCtrl.setText( %mat.detailStrength );