Allow overriding far clip plane

This commit is contained in:
Nick 2022-09-10 20:00:09 -04:00
parent 073892c008
commit e5b652ba22
2 changed files with 12 additions and 20 deletions

View File

@ -14,6 +14,11 @@ namespace NewHorizons.External.Configs
[JsonObject]
public class StarSystemConfig
{
/// <summary>
/// An override value for the far clip plane. Allows you to see farther.
/// </summary>
public float farClipPlaneOverride;
/// <summary>
/// Whether this system can be warped to via the warp drive. If you set factRequiredForWarp, this will be true.
/// </summary>

View File

@ -1,4 +1,4 @@
using HarmonyLib;
using HarmonyLib;
namespace NewHorizons.Patches
{
[HarmonyPatch]
@ -8,25 +8,12 @@ namespace NewHorizons.Patches
[HarmonyPatch(typeof(OWCamera), nameof(OWCamera.Awake))]
public static void OnOWCameraAwake(OWCamera __instance)
{
// var oldDist = __instance.farClipPlane;
// var newDist = __instance.farClipPlane * 10f;
// if (__instance.useFarCamera) Mathf.Clamp(newDist, oldDist, 50000f);
// else newDist = Mathf.Clamp(newDist, oldDist, 10000000f);
// __instance.farClipPlane = newDist;
// __instance.farCameraDistance = newDist;
// __instance.mainCamera.farClipPlane = newDist;
if (Main.SystemDict.TryGetValue(Main.Instance.CurrentStarSystem, out var system) && system?.Config?.farClipPlaneOverride != 0f)
{
__instance.farClipPlane = system.Config.farClipPlaneOverride;
__instance.farCameraDistance = system.Config.farClipPlaneOverride;
__instance.mainCamera.farClipPlane = system.Config.farClipPlaneOverride;
}
}
// [HarmonyPrefix]
// [HarmonyPatch(typeof(OWCamera), nameof(OWCamera.RebuildSkybox))]
// public static bool OnOWCameraRebuildSkybox(OWCamera __instance)
// {
// __instance._skyboxCommandBuffer = new CommandBuffer();
// __instance._skyboxCommandBuffer.name = "Skybox";
// var camera = __instance._useFarCamera && !SystemInfo.usesReversedZBuffer ? __instance._farCamera : __instance._mainCamera;
// CameraEvent evt = CameraEvent.BeforeSkybox;
// camera.AddCommandBuffer(evt, __instance._skyboxCommandBuffer);
// return false;
// }
}
}