From d8f585c552c311a04ad0ff11d6fa248bdf3ffdb8 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Mon, 19 Jan 2026 12:28:10 -0600 Subject: [PATCH 1/2] fix decal instance preview update previews for instance selection just like we do db selection --- .../tools/decalEditor/decalEditorGui.tscript | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript b/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript index 09f44b702..02a7a55c3 100644 --- a/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript +++ b/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript @@ -629,14 +629,30 @@ function DecalEditorGui::updateInstancePreview( %this, %material ) if( isObject( %material ) ) { - %previewImage = %material.getDiffuseMap(0); + %previewImage = %material.getDiffuseMapAsset(0); } - else + else if(AssetDatabase.isDeclaredAsset(%material)) { - if(AssetDatabase.isDeclaredAsset(%material)) + if(AssetDatabase.getAssetType(%material) $= "MaterialAsset") + { + %matAsset = AssetDatabase.acquireAsset(%material); + + %previewImage = %matAsset.materialDefinitionName.getDiffuseMap(0); + } + else if(AssetDatabase.getAssetType(%material) $= "ImageAsset") { %previewImage = %material; } + else + { + error("DecalEditorGui::updateDecalPreview() - Tried to set an invalid asset type for the editor preview!"); + return; + } + } + else + { + error("DecalEditorGui::updateDecalPreview() - Tried to set a non material, non asset value for the editor preview!"); + return; } DecalPreviewWindow-->instancePreview.setBitmap( getAssetPreviewImage(%previewImage) ); From 0b19bd9aca4bab1e3803c2c2264681f21674bac3 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Mon, 19 Jan 2026 21:28:48 -0600 Subject: [PATCH 2/2] fix apcrash when loading a new mission after painting decals but before properly selecting a new one to paint --- .../BaseGame/game/tools/decalEditor/decalEditorGui.tscript | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript b/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript index 02a7a55c3..472ffdfc6 100644 --- a/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript +++ b/Templates/BaseGame/game/tools/decalEditor/decalEditorGui.tscript @@ -350,6 +350,13 @@ function DecalEditorGui::completeGizmoTransform( %this, %decalId, %nodeDetails ) function DecalEditorGui::onSleep( %this ) { + DecalEditorTreeView.clearSelection(); + DecalDataList.setSelected( DecalDataList.getSelectedItems(), false ); + + DecalEditorGui.currentDecalData = ""; + DecalPreviewWindow-->decalPreview.setBitmap(""); + DecalEditorGui.selDecalInstanceId = ""; + DecalPreviewWindow-->instancePreview.setBitmap(""); } function DecalEditorGui::syncNodeDetails( %this )