|
|
@ -130,7 +130,6 @@ namespace ConformalDecals {
|
|
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
/// <inheritdoc />
|
|
|
|
public override void OnLoad(ConfigNode node) {
|
|
|
|
public override void OnLoad(ConfigNode node) {
|
|
|
|
this.Log("Loading module");
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// SETUP TRANSFORMS
|
|
|
|
// SETUP TRANSFORMS
|
|
|
|
decalFrontTransform = part.FindModelTransform(decalFront);
|
|
|
|
decalFrontTransform = part.FindModelTransform(decalFront);
|
|
|
@ -150,7 +149,6 @@ namespace ConformalDecals {
|
|
|
|
|
|
|
|
|
|
|
|
// SETUP BACK MATERIAL
|
|
|
|
// SETUP BACK MATERIAL
|
|
|
|
if (updateBackScale) {
|
|
|
|
if (updateBackScale) {
|
|
|
|
this.Log("Getting material and base scale for back material");
|
|
|
|
|
|
|
|
var backRenderer = decalBackTransform.GetComponent<MeshRenderer>();
|
|
|
|
var backRenderer = decalBackTransform.GetComponent<MeshRenderer>();
|
|
|
|
if (backRenderer == null) {
|
|
|
|
if (backRenderer == null) {
|
|
|
|
this.LogError($"Specified decalBack transform {decalBack} has no renderer attached! Setting updateBackScale to false.");
|
|
|
|
this.LogError($"Specified decalBack transform {decalBack} has no renderer attached! Setting updateBackScale to false.");
|
|
|
@ -190,7 +188,6 @@ namespace ConformalDecals {
|
|
|
|
|
|
|
|
|
|
|
|
// handle texture tiling parameters
|
|
|
|
// handle texture tiling parameters
|
|
|
|
var tileString = node.GetValue("tile");
|
|
|
|
var tileString = node.GetValue("tile");
|
|
|
|
this.Log(tileString);
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(tileString)) {
|
|
|
|
if (!string.IsNullOrEmpty(tileString)) {
|
|
|
|
var tileValid = ParseExtensions.TryParseRect(tileString, out tileRect);
|
|
|
|
var tileValid = ParseExtensions.TryParseRect(tileString, out tileRect);
|
|
|
|
if (!tileValid) throw new FormatException($"Invalid rect value for tile '{tileString}'");
|
|
|
|
if (!tileValid) throw new FormatException($"Invalid rect value for tile '{tileString}'");
|
|
|
@ -203,8 +200,7 @@ namespace ConformalDecals {
|
|
|
|
materialProperties.UpdateTile(tileIndex, tileSize);
|
|
|
|
materialProperties.UpdateTile(tileIndex, tileSize);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// QUEUE PART FOR ICON FIXING IN VAB
|
|
|
|
|
|
|
|
DecalIconFixer.QueuePart(part.name);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (Exception e) {
|
|
|
|
catch (Exception e) {
|
|
|
|
this.LogException("Exception parsing partmodule", e);
|
|
|
|
this.LogException("Exception parsing partmodule", e);
|
|
|
@ -225,6 +221,9 @@ namespace ConformalDecals {
|
|
|
|
opacity = defaultOpacity;
|
|
|
|
opacity = defaultOpacity;
|
|
|
|
cutoff = defaultCutoff;
|
|
|
|
cutoff = defaultCutoff;
|
|
|
|
wear = defaultWear;
|
|
|
|
wear = defaultWear;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// QUEUE PART FOR ICON FIXING IN VAB
|
|
|
|
|
|
|
|
DecalIconFixer.QueuePart(part.name);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -235,10 +234,6 @@ namespace ConformalDecals {
|
|
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
/// <inheritdoc />
|
|
|
|
public override void OnStart(StartState state) {
|
|
|
|
public override void OnStart(StartState state) {
|
|
|
|
this.Log("Starting module");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
materialProperties.RenderQueue = DecalQueue;
|
|
|
|
materialProperties.RenderQueue = DecalQueue;
|
|
|
|
|
|
|
|
|
|
|
|
_boundsRenderer = decalProjectorTransform.GetComponent<MeshRenderer>();
|
|
|
|
_boundsRenderer = decalProjectorTransform.GetComponent<MeshRenderer>();
|
|
|
@ -362,8 +357,6 @@ namespace ConformalDecals {
|
|
|
|
|
|
|
|
|
|
|
|
_isAttached = true;
|
|
|
|
_isAttached = true;
|
|
|
|
|
|
|
|
|
|
|
|
this.Log($"Decal attached to {part.parent.partName}");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// hide model
|
|
|
|
// hide model
|
|
|
|
decalModelTransform.gameObject.SetActive(false);
|
|
|
|
decalModelTransform.gameObject.SetActive(false);
|
|
|
|
|
|
|
|
|
|
|
@ -403,10 +396,10 @@ namespace ConformalDecals {
|
|
|
|
switch (scaleMode) {
|
|
|
|
switch (scaleMode) {
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
case DecalScaleMode.HEIGHT:
|
|
|
|
case DecalScaleMode.HEIGHT:
|
|
|
|
size = new Vector2(scale, scale * aspectRatio);
|
|
|
|
size = new Vector2(scale / aspectRatio, scale);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case DecalScaleMode.WIDTH:
|
|
|
|
case DecalScaleMode.WIDTH:
|
|
|
|
size = new Vector2(scale / aspectRatio, scale);
|
|
|
|
size = new Vector2(scale, scale * aspectRatio);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case DecalScaleMode.AVERAGE:
|
|
|
|
case DecalScaleMode.AVERAGE:
|
|
|
|
var width1 = 2 * scale / (1 + aspectRatio);
|
|
|
|
var width1 = 2 * scale / (1 + aspectRatio);
|
|
|
|