From ac08818a5938baad3bab99db022fceff4df41a2f Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Mon, 29 Jun 2020 18:41:46 -0700 Subject: [PATCH 1/4] Fix projecting onto parts using B9PS --- .../Plugins/ConformalDecals.dll | 2 +- .../ConformalDecals/ModuleConformalDecal.cs | 26 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/GameData/ConformalDecals/Plugins/ConformalDecals.dll index d0f41f3..e87c61c 100644 --- a/GameData/ConformalDecals/Plugins/ConformalDecals.dll +++ b/GameData/ConformalDecals/Plugins/ConformalDecals.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b4405eaa6d2efc358a8364e1cc9ea3eba73c42f6a3d50da1433447ca989068a +oid sha256:beb39430b4be794e704675541a85ed94395dc8dca57f9e680adfdaaac501e916 size 41984 diff --git a/Source/ConformalDecals/ModuleConformalDecal.cs b/Source/ConformalDecals/ModuleConformalDecal.cs index c5b06e2..578d23b 100644 --- a/Source/ConformalDecals/ModuleConformalDecal.cs +++ b/Source/ConformalDecals/ModuleConformalDecal.cs @@ -237,14 +237,23 @@ namespace ConformalDecals { public override void OnStart(StartState state) { this.Log("Starting module"); - - materialProperties.RenderQueue = DecalQueue; _boundsRenderer = decalProjectorTransform.GetComponent(); UpdateMaterials(); + // handle tweakables + if (HighLogic.LoadedSceneIsEditor) { + GameEvents.onEditorPartEvent.Add(OnEditorEvent); + GameEvents.onVariantApplied.Add(OnVariantApplied); + + UpdateTweakables(); + } + } + + public override void OnStartFinished(StartState state) { + // handle game events if (HighLogic.LoadedSceneIsGame) { // set initial attachment state if (part.parent == null) { @@ -254,27 +263,20 @@ namespace ConformalDecals { OnAttach(); } } - - // handle tweakables - if (HighLogic.LoadedSceneIsEditor) { - GameEvents.onEditorPartEvent.Add(OnEditorEvent); - GameEvents.onVariantApplied.Add(OnVariantApplied); - - UpdateTweakables(); - } // handle flight events if (HighLogic.LoadedSceneIsFlight) { GameEvents.onPartWillDie.Add(OnPartWillDie); + if (part.parent == null) part.explode(); + Part.layerMask |= 1 << DecalConfig.DecalLayer; decalColliderTransform.gameObject.layer = DecalConfig.DecalLayer; if (!selectableInFlight || !DecalConfig.SelectableInFlight) { decalColliderTransform.GetComponent().enabled = false; + _boundsRenderer.enabled = false; } - - if (part.parent == null) part.explode(); } } From 26129a8354d44c1e4f39a3301fe690a78d19fd2d Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Mon, 29 Jun 2020 19:13:51 -0700 Subject: [PATCH 2/4] Disable projection onto decal shaders --- Assets/Shaders/DecalFeatureBumped.shader | 2 +- Assets/Shaders/DecalPaint.shader | 2 +- Assets/Shaders/DecalPaintSDF.shader | 2 +- Assets/Shaders/DecalPaintSpecular.shader | 2 +- Assets/Shaders/DecalPaintSpecularSDF.shader | 2 +- Assets/Shaders/SelectionGlow.shader | 2 +- GameData/ConformalDecals/Resources/conformaldecals.shab | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Assets/Shaders/DecalFeatureBumped.shader b/Assets/Shaders/DecalFeatureBumped.shader index bbdeacb..c670c5b 100644 --- a/Assets/Shaders/DecalFeatureBumped.shader +++ b/Assets/Shaders/DecalFeatureBumped.shader @@ -22,7 +22,7 @@ Shader "ConformalDecals/Feature/Bumped" } SubShader { - Tags { "Queue" = "Geometry+100" } + Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} Cull [_Cull] Ztest LEqual diff --git a/Assets/Shaders/DecalPaint.shader b/Assets/Shaders/DecalPaint.shader index 7543afd..754989d 100644 --- a/Assets/Shaders/DecalPaint.shader +++ b/Assets/Shaders/DecalPaint.shader @@ -25,7 +25,7 @@ Shader "ConformalDecals/Paint/Diffuse" } SubShader { - Tags { "Queue" = "Geometry+100" } + Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} Cull [_Cull] Ztest LEqual diff --git a/Assets/Shaders/DecalPaintSDF.shader b/Assets/Shaders/DecalPaintSDF.shader index 633ebca..9070a02 100644 --- a/Assets/Shaders/DecalPaintSDF.shader +++ b/Assets/Shaders/DecalPaintSDF.shader @@ -27,7 +27,7 @@ Shader "ConformalDecals/Paint/DiffuseSDF" } SubShader { - Tags { "Queue" = "Geometry+100" } + Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} Cull [_Cull] Ztest LEqual diff --git a/Assets/Shaders/DecalPaintSpecular.shader b/Assets/Shaders/DecalPaintSpecular.shader index 88b8713..d577d36 100644 --- a/Assets/Shaders/DecalPaintSpecular.shader +++ b/Assets/Shaders/DecalPaintSpecular.shader @@ -30,7 +30,7 @@ Shader "ConformalDecals/Paint/Specular" } SubShader { - Tags { "Queue" = "Geometry+100" } + Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} Cull [_Cull] Ztest LEqual diff --git a/Assets/Shaders/DecalPaintSpecularSDF.shader b/Assets/Shaders/DecalPaintSpecularSDF.shader index 7c253a9..59575b6 100644 --- a/Assets/Shaders/DecalPaintSpecularSDF.shader +++ b/Assets/Shaders/DecalPaintSpecularSDF.shader @@ -32,7 +32,7 @@ Shader "ConformalDecals/Paint/SpecularSDF" } SubShader { - Tags { "Queue" = "Geometry+100" } + Tags { "Queue" = "Geometry+100" "IgnoreProjector" = "true"} Cull [_Cull] Ztest LEqual diff --git a/Assets/Shaders/SelectionGlow.shader b/Assets/Shaders/SelectionGlow.shader index 217850f..fd75aa8 100644 --- a/Assets/Shaders/SelectionGlow.shader +++ b/Assets/Shaders/SelectionGlow.shader @@ -12,7 +12,7 @@ Shader "ConformalDecals/SelectionGlow" } SubShader { - Tags { "Queue" = "Transparent" } + Tags { "Queue" = "Transparent" "IgnoreProjector" = "true" } Cull Back ZWrite Off diff --git a/GameData/ConformalDecals/Resources/conformaldecals.shab b/GameData/ConformalDecals/Resources/conformaldecals.shab index d2a05c7..e24bce0 100644 --- a/GameData/ConformalDecals/Resources/conformaldecals.shab +++ b/GameData/ConformalDecals/Resources/conformaldecals.shab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6021352c2c8a9fe77df77838ae961d4ccaeeef51295bcdecbb798cfbbad00a52 -size 170261 +oid sha256:0f28c5cee84474aed6d74cb4d6be9a996ae8bc8791b60d12009605f3dc913d65 +size 170325 From ff590ed6b10b87d2052d24dc3c9273ddc59d9cec Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Mon, 29 Jun 2020 19:14:16 -0700 Subject: [PATCH 3/4] Move decal bounds to transparent FX layer --- GameData/ConformalDecals/Assets/decal-blank.mu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GameData/ConformalDecals/Assets/decal-blank.mu b/GameData/ConformalDecals/Assets/decal-blank.mu index d35fc4c..60c176e 100644 --- a/GameData/ConformalDecals/Assets/decal-blank.mu +++ b/GameData/ConformalDecals/Assets/decal-blank.mu @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf169fd66e880660d0f1d1cd7dd255ca6127f8ffaec5228ed00fcb16d7093fbc +oid sha256:6a2be8e67bfc2fde45367d40cb6db69ae5dd03ff486e53346c85734e05caa15d size 4972 From 41d688f3a27e07fdcb21c01e1c2b701b1ac5ebba Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Mon, 29 Jun 2020 19:22:50 -0700 Subject: [PATCH 4/4] Version bump --- .../ConformalDecals/Versioning/ConformalDecals.version | 2 +- README.md | 2 +- changelog.txt | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/GameData/ConformalDecals/Versioning/ConformalDecals.version b/GameData/ConformalDecals/Versioning/ConformalDecals.version index 7289185..530b85e 100644 --- a/GameData/ConformalDecals/Versioning/ConformalDecals.version +++ b/GameData/ConformalDecals/Versioning/ConformalDecals.version @@ -6,7 +6,7 @@ { "MAJOR":0, "MINOR":1, - "PATCH":3, + "PATCH":4, "BUILD":0 }, "KSP_VERSION": diff --git a/README.md b/README.md index 18e5179..10d4e4f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Conformal Decals v0.1.3 +# Conformal Decals v0.1.4 [![Build Status](https://travis-ci.org/drewcassidy/KSP-Conformal-Decals.svg?branch=release)](https://travis-ci.org/drewcassidy/KSP-Conformal-Decals) [![Art: CC BY-SA 4.0](https://img.shields.io/badge/Art%20License-CC%20BY--SA%204.0-orange.svg)](https://creativecommons.org/licenses/by-sa/4.0/) [![Code: GPL v3](https://img.shields.io/badge/Code%20License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![Screenshot](http://pileof.rocks/KSP/images/ConformalDecalsHeader.png) diff --git a/changelog.txt b/changelog.txt index 3d730e5..04e15ad 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,11 @@ +v0.1.4 +------ +- Fixes: + - Fixed decals rendering onto disabled B9PS part variants + - Decals will still not update whan their parent part's B9PS variant is changed, both in flight and in the editor. This is known and awaiting a change to B9PS to be fixed. + - Fixed decal bounds rendering as dark cubes when shadowed by EVE clouds. + - Fixed decals being shadowed by EVE clouds, causing the part underneath to appear overly dark. + v0.1.3 ------ Fixes: @@ -10,8 +18,6 @@ Changes: - Small refactor of node parsing code - Colors can now be specified in hex (#RGB, #RGBA, #RRGGBB, or #RRGGBBAA) or using the colors specified in the XKCDColors class - - v0.1.2 ------ Fixes: