From a8313127e2bd86b9d69feaadfa0c94d2f336a8b2 Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Sun, 7 Jun 2020 19:52:17 -0700 Subject: [PATCH] Debug statement cleanup and fix icon creation --- .../Plugins/ConformalDecals.dll | Bin 35328 -> 34816 bytes .../MaterialModifiers/MaterialProperty.cs | 1 + .../MaterialPropertyCollection.cs | 13 +++++------- .../MaterialTextureProperty.cs | 19 ++++-------------- .../ConformalDecals/ModuleConformalDecal.cs | 4 ++-- 5 files changed, 12 insertions(+), 25 deletions(-) diff --git a/Distribution/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/Distribution/GameData/ConformalDecals/Plugins/ConformalDecals.dll index 557a85effbc625702d0f1818a5b0ce3f4c2defe6..3baf1e412ba1947a5d52a13d5d0beb1c1ad6b50a 100644 GIT binary patch delta 12358 zcmb_i33yahvaWM(_w6;kr#mDO2wN^$fUvJZz=a?nQBXDolz~Cfh7K;!gia7~9WY)W zqA<$hhN2G*jHsySDDIAo<2G)f!i=Ln#~p;x_t&|%JFW2E_ul(nf86T&tLjvps#E9Q zb2~KMB%5xKH(Y(%%;$H0NcLwRb?WF7y@;A1&@JHux8b`Zt_`?|LW-9}4h3^&MEj`a z_3FShn4iw74UlLpWl{fbB0uoV-xEzV%Vd=~MU;EDFN3Hft|s$Z(b=;B96MZY{y}u` z>;{Jjw9@=QbZWPnCxFjrT#}sBaV*h@dLm)gFCWl4LGISYZD!aL%}8T5kyobU@Rj@x z*v4XTGR-t*R6|fzlDbdQ0?Q<|7_3naal;&tB{H3Wp)r^3%4NDcK-CPHI?PrT$Wx}4 zX<0Vj$m+@wG8+>^Gj`AtXk?mcF6h%3Xt_T&Xb}vppaE&kwXyV@mup`Uk@?KT;!_~zcDw0E;L^SZ8VSgic4?S*#{QJ zaeWz<*{H#k4TQo9JZRSVJBWE^y??lvZMOKMgI|Gh*kx2f{Q*g%6TX)X;wAJ;1EY0m zbOy!x)uL?t@!|TdM$}-w?=KtVa$!l?_p%FkQ14|I;!FOdw}+@Ycq$rHu zkYwosb3j3No%=1l(413He QpX+Fz|ut^h|!I`T>{>?6lBq4Vd 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 YdDN;WG!Nvs9pNiVb9l{HqN&RDKUf1S8vp(); newProperty.PropertyName = propertyName; _materialProperties.Add(propertyName, newProperty); - + return newProperty; } @@ -137,7 +136,7 @@ namespace ConformalDecals.MaterialModifiers { public MaterialTextureProperty AddTextureProperty(string propertyName, bool isMain = false) { var newProperty = AddProperty(propertyName); if (isMain) _mainTexture = newProperty; - + return newProperty; } @@ -155,13 +154,11 @@ namespace ConformalDecals.MaterialModifiers { public T ParseProperty(ConfigNode node) where T : MaterialProperty { var propertyName = node.GetValue("name"); if (string.IsNullOrEmpty(propertyName)) throw new ArgumentException("node has no name"); - Debug.Log($"Parsing material property {propertyName}"); var newProperty = AddOrGetProperty(propertyName); newProperty.ParseNode(node); if (newProperty is MaterialTextureProperty textureProperty && textureProperty.isMain) { - Debug.Log("new texture has isMain enabled"); _mainTexture = textureProperty; } @@ -203,7 +200,7 @@ namespace ConformalDecals.MaterialModifiers { public void UpdateTile(Rect tile) { if (_mainTexture == null) throw new InvalidOperationException("UpdateTile called but no main texture is specified!"); var mainTexSize = _mainTexture.Dimensions; - + Debug.Log($"Main texture is {_mainTexture.PropertyName} and its size is {mainTexSize}"); foreach (var entry in _materialProperties) { @@ -219,9 +216,9 @@ namespace ConformalDecals.MaterialModifiers { int x = index % tileCountX; int y = index / tileCountY; - + var tile = new Rect(x * tileSize.x, y * tileSize.y, tileSize.x, tileSize.y); - + UpdateTile(tile); } diff --git a/Source/ConformalDecals/MaterialModifiers/MaterialTextureProperty.cs b/Source/ConformalDecals/MaterialModifiers/MaterialTextureProperty.cs index b891873..595e66c 100644 --- a/Source/ConformalDecals/MaterialModifiers/MaterialTextureProperty.cs +++ b/Source/ConformalDecals/MaterialModifiers/MaterialTextureProperty.cs @@ -2,15 +2,14 @@ using System; using UnityEngine; namespace ConformalDecals.MaterialModifiers { - public class MaterialTextureProperty : MaterialProperty, ISerializationCallbackReceiver { + public class MaterialTextureProperty : MaterialProperty { [SerializeField] public bool isNormal; [SerializeField] public bool isMain; [SerializeField] public bool autoScale; [SerializeField] public bool autoTile; - [SerializeField] private string _textureUrl; - - private Texture2D _texture; + [SerializeField] private string _textureUrl; + [SerializeField] private Texture2D _texture; [SerializeField] private bool _hasTile; [SerializeField] private Rect _tileRect; @@ -40,13 +39,6 @@ namespace ConformalDecals.MaterialModifiers { public float AspectRatio => MaskedHeight / (float) MaskedWidth; - public void OnBeforeSerialize() { } - - public void OnAfterDeserialize() { - // Unity appears to be screwing up textures when deserializing them, so this is the fix? - _texture = LoadTexture(_textureUrl, isNormal); - } - public override void ParseNode(ConfigNode node) { base.ParseNode(node); @@ -65,13 +57,10 @@ namespace ConformalDecals.MaterialModifiers { else { TextureUrl = node.GetValue("textureUrl"); } - - Debug.Log($"parsed texture node with texture {_textureUrl}, {isMain}"); if (node.HasValue("tileRect") && !autoTile) { SetTile(ParsePropertyRect(node, "tileRect", true, _tileRect)); } - } public override void Modify(Material material) { @@ -91,7 +80,7 @@ namespace ConformalDecals.MaterialModifiers { } public void SetTile(Rect tile) { - SetTile(tile, new Vector2(_texture.width, _texture.height)); + SetTile(tile, Dimensions); } public void SetTile(Rect tile, Vector2 mainTexDimensions) { diff --git a/Source/ConformalDecals/ModuleConformalDecal.cs b/Source/ConformalDecals/ModuleConformalDecal.cs index ef0dd00..f2b678a 100644 --- a/Source/ConformalDecals/ModuleConformalDecal.cs +++ b/Source/ConformalDecals/ModuleConformalDecal.cs @@ -93,7 +93,6 @@ namespace ConformalDecals { public override void OnLoad(ConfigNode node) { this.Log("Loading module"); - this.Log($"{node.ToString()}"); try { // SETUP TRANSFORMS @@ -191,9 +190,10 @@ namespace ConformalDecals { catch (Exception e) { this.LogException("Exception parsing partmodule", e); } + + UpdateMaterials(); if (HighLogic.LoadedSceneIsGame) { - UpdateMaterials(); UpdateScale(); UpdateProjection(); }