Merge pull request #673 from Areloch/useImagePreviews

Shifts utilization of gui elements in editors that point to 'normal' image assets to utilize generated previews instead.
This commit is contained in:
Brian Roberts 2021-11-15 12:39:33 -06:00 committed by GitHub
commit b5bd242e23
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 168 additions and 277 deletions

View file

@ -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<ImageAsset>(previewFilename);
previewFilename = previewAsset->getImagePath();
}
}
GFXTexHandle texture(previewFilename, &GFXStaticTextureSRGBProfile, avar("%s() - tooltip texture (line %d)", __FUNCTION__, __LINE__));
if (texture.isNull())
return false;

View file

@ -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;
}

View file

@ -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);

View file

@ -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 )

View file

@ -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;

View file

@ -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);

View file

@ -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());

View file

@ -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)

View file

@ -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 );