Skip to content

Commit ef3c211

Browse files
committed
Fix older mods overriding the minimum reflection probe size, fixes #62
1 parent 61ab5bc commit ef3c211

1 file changed

Lines changed: 18 additions & 15 deletions

File tree

DeferredKSP/Deferred.cs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
using System;
66
using UnityEngine.SceneManagement;
77

8-
[assembly: AssemblyVersion("1.3.4")]
8+
[assembly: AssemblyVersion("1.3.5")]
99
[assembly: KSPAssemblyDependency("0Harmony", 0, 0)]
1010
[assembly: KSPAssemblyDependency("Shabby", 0, 0)]
1111
namespace Deferred
@@ -127,20 +127,7 @@ private void HandleCameras()
127127

128128
private void HandleStockProbe()
129129
{
130-
var flightCamera = FlightCamera.fetch;
131-
if (flightCamera != null)
132-
{
133-
var reflectionProbe = flightCamera.reflectionProbe;
134-
if (reflectionProbe != null)
135-
{
136-
var probeComponent = reflectionProbe.probeComponent;
137-
if (probeComponent != null)
138-
{
139-
float size = Mathf.Max(1000000f, probeComponent.size.x);
140-
probeComponent.size = new Vector3(size, size, size);
141-
}
142-
}
143-
}
130+
EnsureReflectionProbeRange();
144131

145132
bool overrodeReflectionProbeSettings = false;
146133

@@ -165,6 +152,22 @@ private void HandleStockProbe()
165152

166153
}
167154

155+
void Update()
156+
{
157+
// Hack: Outdated mods may resize this at any moment, do this every frame to be sure
158+
EnsureReflectionProbeRange();
159+
}
160+
161+
private static void EnsureReflectionProbeRange()
162+
{
163+
var probeComponent = FlightCamera.fetch?.reflectionProbe?.probeComponent;
164+
if (probeComponent != null)
165+
{
166+
float size = Mathf.Max(1000000f, probeComponent.size.x);
167+
probeComponent.size = new Vector3(size, size, size);
168+
}
169+
}
170+
168171
private void EnableDeferredShadingOnCamera(Camera camera)
169172
{
170173
if (camera != null)

0 commit comments

Comments
 (0)