From 5e11e5f95a53fd4abe9f6c9623130e3c38937421 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 6 Aug 2023 22:45:56 -0700 Subject: [PATCH 1/8] use sphereOfInfluence for ProxyShadowCasterSuperGroup._bounds.radius --- NewHorizons/Builder/General/RigidBodyBuilder.cs | 5 ++--- NewHorizons/Handlers/PlanetCreationHandler.cs | 12 +++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/NewHorizons/Builder/General/RigidBodyBuilder.cs b/NewHorizons/Builder/General/RigidBodyBuilder.cs index ebfcd11e..9a0d5186 100644 --- a/NewHorizons/Builder/General/RigidBodyBuilder.cs +++ b/NewHorizons/Builder/General/RigidBodyBuilder.cs @@ -1,13 +1,12 @@ -using NewHorizons.External.Configs; using NewHorizons.Utility; using UnityEngine; namespace NewHorizons.Builder.General { public static class RigidBodyBuilder { - public static OWRigidbody Make(GameObject body, PlanetConfig config) + public static OWRigidbody Make(GameObject body, float sphereOfInfluence) { - body.AddComponent(); + body.AddComponent()._bounds.radius = sphereOfInfluence; Rigidbody rigidBody = body.AddComponent(); rigidBody.mass = 10000; diff --git a/NewHorizons/Handlers/PlanetCreationHandler.cs b/NewHorizons/Handlers/PlanetCreationHandler.cs index 45520195..ea235665 100644 --- a/NewHorizons/Handlers/PlanetCreationHandler.cs +++ b/NewHorizons/Handlers/PlanetCreationHandler.cs @@ -346,10 +346,12 @@ namespace NewHorizons.Handlers body.Config.Base.showMinimap = false; body.Config.Base.hasMapMarker = false; - var owRigidBody = RigidBodyBuilder.Make(go, body.Config); + const float sphereOfInfluence = 2000f; + + var owRigidBody = RigidBodyBuilder.Make(go, sphereOfInfluence); var ao = AstroObjectBuilder.Make(go, null, body.Config, false); - var sector = SectorBuilder.Make(go, owRigidBody, 2000f); + var sector = SectorBuilder.Make(go, owRigidBody, sphereOfInfluence); ao._rootSector = sector; ao._type = AstroObject.Type.None; @@ -419,10 +421,10 @@ namespace NewHorizons.Handlers }; } - var owRigidBody = RigidBodyBuilder.Make(go, body.Config); - var ao = AstroObjectBuilder.Make(go, primaryBody, body.Config, false); - var sphereOfInfluence = GetSphereOfInfluence(body); + + var owRigidBody = RigidBodyBuilder.Make(go, sphereOfInfluence); + var ao = AstroObjectBuilder.Make(go, primaryBody, body.Config, false); var sector = SectorBuilder.Make(go, owRigidBody, sphereOfInfluence * 2f); ao._rootSector = sector; From 9455c487551418ee75c8e8a07b410e6c4c35e283 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 6 Aug 2023 22:49:45 -0700 Subject: [PATCH 2/8] use * 2 --- NewHorizons/Builder/General/RigidBodyBuilder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/Builder/General/RigidBodyBuilder.cs b/NewHorizons/Builder/General/RigidBodyBuilder.cs index 9a0d5186..f6b59569 100644 --- a/NewHorizons/Builder/General/RigidBodyBuilder.cs +++ b/NewHorizons/Builder/General/RigidBodyBuilder.cs @@ -6,7 +6,7 @@ namespace NewHorizons.Builder.General { public static OWRigidbody Make(GameObject body, float sphereOfInfluence) { - body.AddComponent()._bounds.radius = sphereOfInfluence; + body.AddComponent()._bounds.radius = sphereOfInfluence * 2; Rigidbody rigidBody = body.AddComponent(); rigidBody.mass = 10000; From 01b8ac0b7a2f3bd6cc10461332078f995e8eb9d8 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 6 Aug 2023 22:53:24 -0700 Subject: [PATCH 3/8] Revert "use * 2" This reverts commit 9455c487551418ee75c8e8a07b410e6c4c35e283. --- NewHorizons/Builder/General/RigidBodyBuilder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/Builder/General/RigidBodyBuilder.cs b/NewHorizons/Builder/General/RigidBodyBuilder.cs index f6b59569..9a0d5186 100644 --- a/NewHorizons/Builder/General/RigidBodyBuilder.cs +++ b/NewHorizons/Builder/General/RigidBodyBuilder.cs @@ -6,7 +6,7 @@ namespace NewHorizons.Builder.General { public static OWRigidbody Make(GameObject body, float sphereOfInfluence) { - body.AddComponent()._bounds.radius = sphereOfInfluence * 2; + body.AddComponent()._bounds.radius = sphereOfInfluence; Rigidbody rigidBody = body.AddComponent(); rigidBody.mass = 10000; From 789926d0126a846da3875e6cbc13cf10586ca46c Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Mon, 7 Aug 2023 15:12:26 -0700 Subject: [PATCH 4/8] dont use CopyPropertiesFrom for star light stuff --- NewHorizons/Builder/Body/StarBuilder.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/NewHorizons/Builder/Body/StarBuilder.cs b/NewHorizons/Builder/Body/StarBuilder.cs index f4954af5..a22c7a52 100644 --- a/NewHorizons/Builder/Body/StarBuilder.cs +++ b/NewHorizons/Builder/Body/StarBuilder.cs @@ -178,14 +178,11 @@ namespace NewHorizons.Builder.Body light.color = lightColour; ambientLight.color = new Color(lightColour.r, lightColour.g, lightColour.b, lightColour.a == 0 ? 0.0001f : lightColour.a); + // used to use CopyPropertiesFrom, but that doesnt work here. instead, just copy sun props from unity explorer var faceActiveCamera = sunLight.AddComponent(); - faceActiveCamera.CopyPropertiesFrom(_sunLight.GetComponent()); + faceActiveCamera._useLookAt = true; var csmTextureCacher = sunLight.AddComponent(); - csmTextureCacher.CopyPropertiesFrom(_sunLight.GetComponent()); - csmTextureCacher._light = light; var proxyShadowLight = sunLight.AddComponent(); - proxyShadowLight.CopyPropertiesFrom(_sunLight.GetComponent()); - proxyShadowLight._light = light; sunLight.name = "StarLight"; From fb4f4251000138451b47e0f127a0121bd778d8d4 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Mon, 7 Aug 2023 15:26:09 -0700 Subject: [PATCH 5/8] typo that i didnt catch before i pushed --- NewHorizons/Builder/Body/StarBuilder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/Builder/Body/StarBuilder.cs b/NewHorizons/Builder/Body/StarBuilder.cs index a22c7a52..ecbbee5c 100644 --- a/NewHorizons/Builder/Body/StarBuilder.cs +++ b/NewHorizons/Builder/Body/StarBuilder.cs @@ -178,7 +178,7 @@ namespace NewHorizons.Builder.Body light.color = lightColour; ambientLight.color = new Color(lightColour.r, lightColour.g, lightColour.b, lightColour.a == 0 ? 0.0001f : lightColour.a); - // used to use CopyPropertiesFrom, but that doesnt work here. instead, just copy sun props from unity explorer + // used to use CopyPropertiesFrom, but that doesnt work here. instead, just copy settings from unity explorer var faceActiveCamera = sunLight.AddComponent(); faceActiveCamera._useLookAt = true; var csmTextureCacher = sunLight.AddComponent(); From b50cc53a4daa111c3a415ebd915e9686d38fb8ad Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Mon, 7 Aug 2023 19:12:12 -0700 Subject: [PATCH 6/8] force call SunLightEffectsController.Update to make it switch star --- NewHorizons/Handlers/PlanetDestructionHandler.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NewHorizons/Handlers/PlanetDestructionHandler.cs b/NewHorizons/Handlers/PlanetDestructionHandler.cs index ec9d1674..938877c3 100644 --- a/NewHorizons/Handlers/PlanetDestructionHandler.cs +++ b/NewHorizons/Handlers/PlanetDestructionHandler.cs @@ -78,6 +78,9 @@ namespace NewHorizons.Handlers gameObject.SetActive(false); } GameObject.FindObjectOfType().gameObject.SetActive(false); + + // force call update here to make it switch to an active star. idk why we didnt have to do this before + SunLightEffectsController.Instance.Update(); }, 2); // Have to wait or shit goes wild foreach (var streamingAssetBundle in StreamingManager.s_activeBundles) From 686e2394d61bb0b81b70c1e2a2d165c09ab41443 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 7 Aug 2023 22:15:43 -0400 Subject: [PATCH 7/8] Fix cloak not being disabled probably --- NewHorizons/Handlers/PlanetDestructionHandler.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/NewHorizons/Handlers/PlanetDestructionHandler.cs b/NewHorizons/Handlers/PlanetDestructionHandler.cs index 938877c3..bf683b91 100644 --- a/NewHorizons/Handlers/PlanetDestructionHandler.cs +++ b/NewHorizons/Handlers/PlanetDestructionHandler.cs @@ -81,6 +81,9 @@ namespace NewHorizons.Handlers // force call update here to make it switch to an active star. idk why we didnt have to do this before SunLightEffectsController.Instance.Update(); + + // Since we didn't call RemoveBody on the Stranger have to call this here + StrangerRemoved(); }, 2); // Have to wait or shit goes wild foreach (var streamingAssetBundle in StreamingManager.s_activeBundles) @@ -99,14 +102,23 @@ namespace NewHorizons.Handlers } } + public static void StrangerRemoved() + { + CloakHandler.FlagStrangerDisabled = true; + + if (Locator._cloakFieldController?.GetComponentInParent()?.GetAstroObjectName() == AstroObject.Name.RingWorld) + { + Locator._cloakFieldController = null; + } + } + public static void RemoveBody(AstroObject ao, bool delete = false, List toDestroy = null) { NHLogger.LogVerbose($"Removing [{ao.name}]"); if (ao.GetAstroObjectName() == AstroObject.Name.RingWorld) { - CloakHandler.FlagStrangerDisabled = true; - if (Locator._cloakFieldController?.GetComponentInParent() == ao) Locator._cloakFieldController = null; + StrangerRemoved(); } if (ao.gameObject == null || !ao.gameObject.activeInHierarchy) From 7846ae1161f2178fdddc221bc72cb87be4ecf8b0 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Mon, 7 Aug 2023 19:24:15 -0700 Subject: [PATCH 8/8] add ProxyShadowCaster to groundsize --- NewHorizons/Builder/Body/GeometryBuilder.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NewHorizons/Builder/Body/GeometryBuilder.cs b/NewHorizons/Builder/Body/GeometryBuilder.cs index dc7c99cf..1c59724b 100644 --- a/NewHorizons/Builder/Body/GeometryBuilder.cs +++ b/NewHorizons/Builder/Body/GeometryBuilder.cs @@ -30,6 +30,11 @@ namespace NewHorizons.Builder.Body { groundGO.transform.localScale *= 2; // Multiply by 2 to match top layer } + + var superGroup = planetGO.GetComponent(); + // idk if we need to set _superGroup manually since it does that in Awake, but it's done everywhere else so wtv + if (superGroup != null) groundGO.AddComponent()._superGroup = superGroup; + groundGO.SetActive(true); return groundGO;