From 75b05e96fefc67731a2ff1e3f6d6b5300af0987d Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Sat, 26 Oct 2019 12:02:03 -0700 Subject: [PATCH] Fix launch clamp instancing in flight scene Closes #693 --- .../GameData/ReStock/Plugins/Restock.dll | Bin 36352 -> 36352 bytes Source/Restock/ModuleRestockLaunchClamp.cs | 62 ++++++++---------- 2 files changed, 26 insertions(+), 36 deletions(-) diff --git a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll index 8f43cb39c41df3a35c3e1d72445c072f8f7b7428..904a2e5797c1b951e2fb7ecb1430e5d6c3185732 100644 GIT binary patch delta 12176 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.mesh; girderRenderer.enabled = false; // we'll render manually from now on - + _girderSegments = 0; _girderMatrices = new Matrix4x4[maxSegments]; @@ -51,41 +49,33 @@ namespace Restock { this.LogError("Could not enable instancing! Aborting"); _girderSegments = -1; - return; } } public void LateUpdate() { - if (_girderSegments < 0) return; - if (!HighLogic.LoadedSceneIsEditor) - { - if (_flightUpdate) return; - else _flightUpdate = true; - } - - var height1 = HighLogic.LoadedSceneIsEditor ? towerStretch.position.y : base.height; - var initialHeight1 = base.initialHeight; + var height = HighLogic.LoadedSceneIsEditor ? towerStretch.position.y : this.height; + var initialHeight = this.initialHeight; - towerAnchor.position = towerStretch.position - (towerStretch.up * height1); + towerAnchor.position = towerStretch.position - towerStretch.up * height; var vec1 = Vector3.down; var vec2 = towerAnchor.localPosition - towerYoke.localPosition; towerYoke.localRotation = Quaternion.FromToRotation(vec1, vec2); - - _girderSegments = Mathf.CeilToInt(height1 / base.initialHeight); + + _girderSegments = Mathf.CeilToInt(height / this.initialHeight); _girderSegments = Math.Min(_girderSegments, maxSegments); _girderSegments = Math.Max(_girderSegments, 0); - + var matrix = towerGirder.localToWorldMatrix; - var offset = Matrix4x4.Translate(matrix.MultiplyVector(Vector3.down * base.initialHeight)); - - for (int i = 0; i < _girderSegments; i++) + var offset = Matrix4x4.Translate(towerGirder.TransformVector(Vector3.down * initialHeight)); + + for (var i = 0; i < _girderSegments; i++) { _girderMatrices[i] = matrix; - matrix *= offset; + matrix = offset * matrix; } Graphics.DrawMeshInstanced(_girderMesh, 0, _girderMaterial, _girderMatrices, _girderSegments, part.mpb);