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]) if (!filename || !filename[0])
return false; 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()) if (texture.isNull())
return false; return false;

View file

@ -2488,3 +2488,50 @@ function AssetBrowser::importLooseFiles(%this)
echo("Adding loose files at directory " @ %this.dirHandler.currentAddress); echo("Adding loose files at directory " @ %this.dirHandler.currentAddress);
LooseFileAuditWindow.showDialog(%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; %mat = %matName;
} }
ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%mat.getDiffuseMap(0)); ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap( getAssetPreviewImage(%mat.getDiffuseMap(0)));
ConvexEditorOptionsWindow.activeMaterial = %mat; ConvexEditorOptionsWindow.activeMaterial = %mat;
} }
@ -76,7 +76,7 @@ function ConvexEditorGui::onSelectionChanged( %this, %shape, %face )
ConvexEditorOptionsWindow-->defMatPreviewBtn.setText(""); ConvexEditorOptionsWindow-->defMatPreviewBtn.setText("");
%shapeMat = %shape.getMaterial(); %shapeMat = %shape.getMaterial();
ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(%shapeMat.getDiffuseMap(0)); ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(getAssetPreviewImage(%shapeMat.getDiffuseMap(0)));
ConvexEditorOptionsWindow.activeShape = %shape; 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; ConvexEditorOptionsWindow.activeMaterial = %materialAsset.materialDefinitionName;
} }
@ -191,7 +191,7 @@ function ConvexEditorMaterialLiftBtn::onClick(%this)
{ {
%mat = ConvexEditorGui.getSelectedFaceMaterial(); %mat = ConvexEditorGui.getSelectedFaceMaterial();
ConvexEditorOptionsWindow.activeMaterial = %mat; ConvexEditorOptionsWindow.activeMaterial = %mat;
ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(%mat.getDiffuseMap(0)); ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(getAssetPreviewImage(%mat.getDiffuseMap(0)));
} }
function ConvexEditorMaterialResetBtn::onClick(%this) 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); ConvexEditorOptionsWindow.activeShape.setMaterial(%name);

View file

@ -326,51 +326,40 @@ function DecalInspector::removeDirty()
function DecalEditorGui::updateDecalPreview( %this, %material ) function DecalEditorGui::updateDecalPreview( %this, %material )
{ {
%previewImage = "";
if( isObject( %material ) ) if( isObject( %material ) )
{ {
DecalPreviewWindow-->decalPreview.setBitmap( %material.getDiffuseMap(0) ); %previewImage = %material.getDiffuseMap(0);
} }
else else
{ {
if(AssetDatabase.isDeclaredAsset(%material)) if(AssetDatabase.isDeclaredAsset(%material))
{ {
%assetDef = AssetDatabase.acquireAsset(%material); %previewImage = %material;
%difMap = %assetDef.materialDefinitionName.getDiffuseMap(0);
AssetDatabase.acquireAsset(%material);
if(%difMap !$= "" && %difMap !$= "Core_Rendering:missingTexture")
{
DecalPreviewWindow-->decalPreview.setBitmap( %difMap );
return;
} }
} }
DecalPreviewWindow-->decalPreview.setBitmap("ToolsModule:unknownImage_image");
DecalPreviewWindow-->decalPreview.setBitmap( getAssetPreviewImage(%previewImage) );
} }
}
function DecalEditorGui::updateInstancePreview( %this, %material ) function DecalEditorGui::updateInstancePreview( %this, %material )
{ {
%previewImage = "";
if( isObject( %material ) ) if( isObject( %material ) )
{ {
DecalPreviewWindow-->instancePreview.setBitmap( %material.getDiffuseMap(0) ); %previewImage = %material.getDiffuseMap(0);
} }
else else
{ {
if(AssetDatabase.isDeclaredAsset(%material)) if(AssetDatabase.isDeclaredAsset(%material))
{ {
%assetDef = AssetDatabase.acquireAsset(%material); %previewImage = %material;
%difMap = %assetDef.materialDefinitionName.getDiffuseMap(0);
AssetDatabase.acquireAsset(%material);
if(%difMap !$= "" && %difMap !$= "Core_Rendering:missingTexture")
{
DecalPreviewWindow-->instancePreview.setBitmap( %difMap );
return;
} }
} }
DecalPreviewWindow-->instancePreview.setBitmap("ToolsModule:unknownImage_image"); DecalPreviewWindow-->instancePreview.setBitmap( getAssetPreviewImage(%previewImage) );
}
} }
function DecalEditorGui::rebuildInstanceTree( %this ) function DecalEditorGui::rebuildInstanceTree( %this )

View file

@ -512,7 +512,8 @@ function UVEditor::showDialog( %this, %applyCallback, %obj, %uv)
else if( %material.cubemap.cubeFace[0] !$= "" ) else if( %material.cubemap.cubeFace[0] !$= "" )
%previewImage = %material.cubemap.cubeFace[0]; %previewImage = %material.cubemap.cubeFace[0];
} }
UVEditor-->bitmapPreview.setBitmap(%previewImage);
UVEditor-->bitmapPreview.setBitmap(getAssetPreviewImage(%previewImage));
// Set up the color popup // Set up the color popup
%popup = UVEditor-->colorPopup; %popup = UVEditor-->colorPopup;

View file

@ -804,174 +804,92 @@ function MaterialEditorGui::guiSync( %this, %material )
%layer = MaterialEditorGui.currentLayer; %layer = MaterialEditorGui.currentLayer;
//Diffuse //Diffuse
if((%material).getDiffuseMap(%layer) !$= "" && (%material).getDiffuseMapAsset(%layer) !$= $MaterialEditor::emptyMaterialImage) %diffuseMap = (%material).getDiffuseMap(%layer);
{ %diffuseMapText = %diffuseMap !$= "" && %diffuseMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getDiffuseMapAsset(%layer) : "None";
%difAsset = (%material).getDiffuseMapAsset(%layer); MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( %diffuseMapText );
MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( (%material).getDiffuseMapAsset(%layer) ); MaterialEditorPropertiesWindow-->diffuseMapDisplayBitmap.setBitmap( getAssetPreviewImage(%diffuseMap) );
MaterialEditorPropertiesWindow-->diffuseMapDisplayBitmap.setBitmap( (%material).getDiffuseMap(%layer) );
}
else
{
MaterialEditorPropertiesWindow-->diffuseMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->diffuseMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//Normal //Normal
if((%material).getNormalMap(%layer) !$= "" && (%material).getNormalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %normalMap = (%material).getNormalMap(%layer);
{ %normalMapText = %normalMap !$= "" && %normalMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getNormalMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->normalMapNameText.setText( (%material).getNormalMapAsset(%layer) ); MaterialEditorPropertiesWindow-->normalMapNameText.setText( %normalMapText );
MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( (%material).getNormalMap(%layer) ); MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( getAssetPreviewImage(%normalMap) );
}
else
{
MaterialEditorPropertiesWindow-->normalMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->normalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//ORM Config //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-->isSRGBCheckbox.setValue((%material).isSRGB[%layer]);
MaterialEditorPropertiesWindow-->invertRoughnessCheckbox.setValue((%material).invertRoughness[%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-->isSRGBCheckbox.setVisible(%hasOrmMap);
MaterialEditorPropertiesWindow-->RoughnessSlider.setValue((%material).Roughness[%layer]); MaterialEditorPropertiesWindow-->invertRoughnessCheckbox.setVisible(%hasOrmMap);
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);
}
//AOMap //AOMap
if((%material).getAOMap(%layer) !$= "" && (%material).getAOMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %aoMap = (%material).getAOMap(%layer);
{ %aoMapText = %aoMap !$= "" && %aoMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getAOMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->aoMapNameText.setText( (%material).getAOMapAsset(%layer) ); MaterialEditorPropertiesWindow-->aoMapNameText.setText( %aoMapText );
MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( (%material).getAOMap(%layer) ); MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( getAssetPreviewImage(%aoMap) );
}
else
{
MaterialEditorPropertiesWindow-->aoMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->aoMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//RoughMap //RoughMap
if((%material).getRoughMap(%layer) !$= "" && (%material).getRoughMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %roughMap = (%material).getRoughMap(%layer);
{ %roughMapText = %roughMap !$= "" && %roughMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getRoughMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->roughMapNameText.setText( (%material).getRoughMapAsset(%layer) ); MaterialEditorPropertiesWindow-->roughMapNameText.setText( %roughMapText );
MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( (%material).getRoughMap(%layer) ); MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( getAssetPreviewImage(%roughMap) );
}
else
{
MaterialEditorPropertiesWindow-->roughMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->roughMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//MetalMap //MetalMap
if((%material).getMetalMap(%layer) !$= "" && (%material).getMetalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %metalMap = (%material).getMetalMap(%layer);
{ %metalMapText = %metalMap !$= "" && %metalMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getMetalMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->metalMapNameText.setText( (%material).getMetalMapAsset(%layer) ); MaterialEditorPropertiesWindow-->metalMapNameText.setText( %metalMapText );
MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( (%material).getMetalMap(%layer) ); MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( getAssetPreviewImage(%metalMap) );
}
else
{
MaterialEditorPropertiesWindow-->metalMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->metalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//GlowMap //GlowMap
if((%material).getGlowMap(%layer) !$= "" && (%material).getGlowMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %glowMap = (%material).getGlowMap(%layer);
{ %glowMapText = %glowMap !$= "" && %glowMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getGlowMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->glowMapNameText.setText( (%material).getGlowMapAsset(%layer) ); MaterialEditorPropertiesWindow-->glowMapNameText.setText( %glowMapText );
MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( (%material).getGlowMap(%layer) ); MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( getAssetPreviewImage(%glowMap) );
}
else
{
MaterialEditorPropertiesWindow-->glowMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->glowMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//Overlay //Overlay
if((%material).getOverlayMap(%layer) !$= "" && (%material).getOverlayMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %overlayMap = (%material).getOverlayMap(%layer);
{ %overlayMapText = %overlayMap !$= "" && %overlayMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getOverlayMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->overlayMapNameText.setText( (%material).getOverlayMapAsset(%layer) ); MaterialEditorPropertiesWindow-->overlayMapNameText.setText( %overlayMapText );
MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( (%material).getOverlayMap(%layer) ); MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( getAssetPreviewImage(%overlayMap) );
}
else
{
MaterialEditorPropertiesWindow-->overlayMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->overlayMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//Detail //Detail
if((%material).getDetailMap(%layer) !$= "" && (%material).getDetailMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %detailMap = (%material).getDetailMap(%layer);
{ %detailMapText = %detailMap !$= "" && %detailMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getDetailMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->detailMapNameText.setText( (%material).getDetailMapAsset(%layer) ); MaterialEditorPropertiesWindow-->detailMapNameText.setText( %detailMapText );
MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( (%material).getDetailMap(%layer) ); MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( getAssetPreviewImage(%detailMap) );
}
else
{
MaterialEditorPropertiesWindow-->detailMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->detailMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//Detail Normal //Detail Normal
if((%material).getDetailNormalMap(%layer) !$= "" && (%material).getDetailNormalMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %detailNormalMap = (%material).getDetailNormalMap(%layer);
{ %detailNormalMapText = %detailNormalMap !$= "" && %detailNormalMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getDetailNormalMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( (%material).getDetailNormalMapAsset(%layer) ); MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( %detailNormalMapText );
MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( (%material).getDetailNormalMap(%layer) ); MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( getAssetPreviewImage(%detailNormalMap) );
}
else
{
MaterialEditorPropertiesWindow-->detailNormalMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->detailNormalMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//Light //Light
if((%material).getLightMap(%layer) !$= "" && (%material).getLightMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %lightMap = (%material).getLightMap(%layer);
{ %lightMapText = %lightMap !$= "" && %lightMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getLightMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->lightMapNameText.setText( (%material).getLightMapAsset(%layer) ); MaterialEditorPropertiesWindow-->lightMapNameText.setText( %lightMapText );
MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( (%material).getLightMap(%layer) ); MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( getAssetPreviewImage(%lightMap) );
}
else
{
MaterialEditorPropertiesWindow-->lightMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->lightMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
//Tone //Tone
if((%material).getToneMap(%layer) !$= "" && (%material).getToneMap(%layer) !$= $MaterialEditor::emptyMaterialImage) %toneMap = (%material).getToneMap(%layer);
{ %toneMapText = %toneMap !$= "" && %toneMap !$=$MaterialEditor::emptyMaterialImage ? (%material).getToneMapAsset(%layer) : "None";
MaterialEditorPropertiesWindow-->toneMapNameText.setText( (%material).getToneMapAsset(%layer) ); MaterialEditorPropertiesWindow-->toneMapNameText.setText( %toneMapText );
MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( (%material).getToneMap(%layer) ); MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( getAssetPreviewImage(%toneMap) );
}
else
{
MaterialEditorPropertiesWindow-->toneMapNameText.setText( "None" );
MaterialEditorPropertiesWindow-->toneMapDisplayBitmap.setBitmap( $MaterialEditor::emptyMaterialImage );
}
MaterialEditorPropertiesWindow-->accuScaleTextEdit.setText((%material).accuScale[%layer]); MaterialEditorPropertiesWindow-->accuScaleTextEdit.setText((%material).accuScale[%layer]);
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 ); %bitmapCtrl = MaterialEditorPropertiesWindow.findObjectByInternalName( %type @ "MapDisplayBitmap", true );
%textCtrl = MaterialEditorPropertiesWindow.findObjectByInternalName( %type @ "MapNameText", true ); %textCtrl = MaterialEditorPropertiesWindow.findObjectByInternalName( %type @ "MapNameText", true );
%assetDef = AssetDatabase.acquireAsset(%assetId); %texture = getAssetPreviewImage(%assetId);
%texture = %assetDef.getImagePath();
//%texture = MaterialEditorGui.openFile("texture"); if( %texture !$= "" && %texture !$= $MaterialEditor::emptyMaterialImage)
if( %texture !$= "" )
{ {
%bitmapCtrl.setBitmap(%texture); %bitmapCtrl.setBitmap(%texture);

View file

@ -57,24 +57,11 @@ function PE_ParticleEditor::guiSync( %this )
%popup.sort(); %popup.sort();
%popup.setSelected( %data ); %popup.setSelected( %data );
%bitmap = %data.getTexture();//MaterialEditorGui.searchForTexture( %data.getName(), %data.getTexture() ); %bitmap = %data.getTexture();
if( %bitmap !$= "" ) %bitmapText = %bitmap !$= "" && %bitmap !$= $MaterialEditor::emptyMaterialImage ? %data.getTextureAsset() : "None";
{ PE_ParticleEditor-->PEP_previewImageName.setText( %bitmapText );
PE_ParticleEditor-->PEP_previewImage.setBitmap( %bitmap ); PE_ParticleEditor-->PEP_previewImageName.tooltip = %bitmapText;
PE_ParticleEditor-->PEP_previewImage.setBitmap( getAssetPreviewImage(%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";
}
PE_ParticleEditor-->PEP_inverseAlpha.setValue( %data.useInvAlpha ); PE_ParticleEditor-->PEP_inverseAlpha.setValue( %data.useInvAlpha );
@ -396,6 +383,9 @@ function PE_ParticleEditor::loadNewParticle( %this, %particle )
else else
%particle = PEP_ParticleSelector.getSelected(); %particle = PEP_ParticleSelector.getSelected();
if( !isObject( %particle ) )
return;
PE_ParticleEditor.currParticle = %particle; PE_ParticleEditor.currParticle = %particle;
error("PE_ParticleEditor::loadNewParticle() - Loading particle: " @ %particle.getName()); error("PE_ParticleEditor::loadNewParticle() - Loading particle: " @ %particle.getName());

View file

@ -62,7 +62,7 @@ function TerrainEditor::setPaintMaterial( %this, %matIndex, %terrainMat )
ETerrainMaterialSelected.selectedMatIndex = %matIndex; ETerrainMaterialSelected.selectedMatIndex = %matIndex;
ETerrainMaterialSelected.selectedMat = %terrainMat; ETerrainMaterialSelected.selectedMat = %terrainMat;
ETerrainMaterialSelected.setBitmap(%terrainMat.getDiffuseMap()); ETerrainMaterialSelected.setBitmap(getAssetPreviewImage(%terrainMat.getDiffuseMap()));
ETerrainMaterialSelectedEdit.Visible = isObject(%terrainMat); ETerrainMaterialSelectedEdit.Visible = isObject(%terrainMat);
TerrainTextureText.text = %terrainMat.getInternalName(); TerrainTextureText.text = %terrainMat.getInternalName();
@ -141,7 +141,7 @@ function EPainter::updateLayers( %this, %matIndex )
}; };
%ctrl.setText( %matInternalName ); %ctrl.setText( %matInternalName );
%ctrl.setBitmap( %mat.getDiffuseMap() ); %ctrl.setBitmap( getAssetPreviewImage(%mat.getDiffuseMap()) );
%tooltip = %matInternalName; %tooltip = %matInternalName;
if(%i < 9) if(%i < 9)

View file

@ -296,7 +296,7 @@ function TerrainMaterialDlg::changeTerrainMatMapAsset(%this)
%image = $TerrainMaterialEditor::emptyMaterialImage; %image = $TerrainMaterialEditor::emptyMaterialImage;
} }
%targetMap.setBitmap( %image ); %targetMap.setBitmap( getAssetPreviewImage(%image) );
%targetMapName = %targetMap @ "AssetId"; %targetMapName = %targetMap @ "AssetId";
%targetMapName.setText(%imgAsset); %targetMapName.setText(%imgAsset);
@ -420,99 +420,35 @@ function TerrainMaterialDlg::setActiveMaterial( %this, %mat )
// //
%imgPath = %mat.getDiffuseMap(); %imgPath = %mat.getDiffuseMap();
if(%imgPath $= "") %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getDiffuseMapAsset() : "None";
%imgPath = $TerrainMaterialEditor::emptyMaterialImage; %this-->diffuseMapAssetId.setText( %imgPathText );
%this-->texBaseMap.setBitmap( getAssetPreviewImage(%imgPath) );
%this-->texBaseMap.setBitmap( %imgPath );
if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
{
%imgAsset = %mat.getDiffuseMapAsset();
if(%imgAsset $= "")
%imgAsset = %imgPath;
%this-->diffuseMapAssetId.setText( %imgAsset );
}
else
{
%this-->diffuseMapAssetId.setText( "None" );
}
// //
%imgPath = %mat.getNormalMap(); %imgPath = %mat.getNormalMap();
if(%imgPath $= "") %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getNormalMapAsset() : "None";
%imgPath = $TerrainMaterialEditor::emptyMaterialImage; %this-->normalMapAssetId.setText( %imgPathText );
%this-->texNormalMap.setBitmap( getAssetPreviewImage(%imgPath) );
%this-->texNormalMap.setBitmap( %imgPath );
if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
{
%imgAsset = %mat.getNormalMapAsset();
if(%imgAsset $= "")
%imgAsset = %imgPath;
%this-->normalMapAssetId.setText( %imgAsset );
}
else
{
%this-->normalMapAssetId.setText( "None" );
}
// //
%imgPath = %mat.getORMConfigMap(); %imgPath = %mat.getORMConfigMap();
if(%imgPath $= "") %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getORMConfigMapAsset() : "None";
%imgPath = $TerrainMaterialEditor::emptyMaterialImage; %this-->ORMMapAssetId.setText( %imgPathText );
%this-->texORMConfigMap.setBitmap( getAssetPreviewImage(%imgPath) );
%this-->texORMConfigMap.setBitmap( %imgPath );
if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
{
%imgAsset = %mat.getORMConfigMapAsset();
if(%imgAsset $= "")
%imgAsset = %imgPath;
%this-->ORMMapAssetId.setText( %imgAsset );
}
else
{
%this-->ORMMapAssetId.setText( "None" );
}
// //
%imgPath = %mat.getDetailMap(); %imgPath = %mat.getDetailMap();
if(%imgPath $= "") %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getDetailMapAsset() : "None";
%imgPath = $TerrainMaterialEditor::emptyMaterialImage; %this-->detailMapAssetId.setText( %imgPathText );
%this-->texDetailMap.setBitmap( getAssetPreviewImage(%imgPath) );
%this-->texDetailMap.setBitmap( %imgPath );
if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
{
%imgAsset = %mat.getDetailMapAsset();
if(%imgAsset $= "")
%imgAsset = %imgPath;
%this-->detailMapAssetId.setText( %imgAsset );
}
else
{
%this-->detailMapAssetId.setText( "None" );
}
// //
%imgPath = %mat.getMacroMap(); %imgPath = %mat.getMacroMap();
if(%imgPath $= "") %imgPathText = %imgPath !$= "" && %imgPath !$= $TerrainMaterialEditor::emptyMaterialImage ? %mat.getMacroMapAsset() : "None";
%imgPath = $TerrainMaterialEditor::emptyMaterialImage; %this-->macroMapAssetId.setText( %imgPathText );
%this-->texMacroMap.setBitmap( getAssetPreviewImage(%imgPath) );
%this-->texMacroMap.setBitmap( %imgPath );
if(%imgPath !$= $TerrainMaterialEditor::emptyMaterialImage)
{
%imgAsset = %mat.getMacroMapAsset();
if(%imgAsset $= "")
%imgAsset = %imgPath;
%this-->macroMapAssetId.setText( %imgAsset );
}
else
{
%this-->macroMapAssetId.setText( "None" );
}
//
%this-->detSizeCtrl.setText( %mat.detailSize ); %this-->detSizeCtrl.setText( %mat.detailSize );
%this-->baseSizeCtrl.setText( %mat.diffuseSize ); %this-->baseSizeCtrl.setText( %mat.diffuseSize );
%this-->detStrengthCtrl.setText( %mat.detailStrength ); %this-->detStrengthCtrl.setText( %mat.detailStrength );