From 70dc69033f642a9f3e88c5bf2b466e17f0c2c4f8 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 11 Mar 2022 22:10:30 -0500 Subject: [PATCH] Fix planet orientations --- NewHorizons/Main.cs | 6 +++ .../CommonResources/CommonResourcesFix.cs | 42 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 NewHorizons/Utility/CommonResources/CommonResourcesFix.cs diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index cf9c02ac..3d81fbd3 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -203,6 +203,11 @@ namespace NewHorizons if(scene.name == "SolarSystem") { + foreach(var body in GameObject.FindObjectsOfType()) + { + Logger.Log($"{body.name}, {body.transform.rotation}"); + } + if(_ship != null) { _ship = GameObject.Find("Ship_Body").InstantiateInactive(); @@ -212,6 +217,7 @@ namespace NewHorizons IsSystemReady = false; HeavenlyBodyBuilder.Reset(); + CommonResourcesFix.Apply(); NewHorizonsData.Load(); SignalBuilder.Init(); AstroObjectLocator.RefreshList(); diff --git a/NewHorizons/Utility/CommonResources/CommonResourcesFix.cs b/NewHorizons/Utility/CommonResources/CommonResourcesFix.cs new file mode 100644 index 00000000..fc96801e --- /dev/null +++ b/NewHorizons/Utility/CommonResources/CommonResourcesFix.cs @@ -0,0 +1,42 @@ +using PacificEngine.OW_CommonResources.Game.Resource; +using PacificEngine.OW_CommonResources.Game.State; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; + +namespace NewHorizons.Utility.CommonResources +{ + public static class CommonResourcesFix + { + public static void Apply() + { + var mapping = Planet.defaultMapping; + + var DB = mapping[HeavenlyBodies.DarkBramble]; + mapping[HeavenlyBodies.DarkBramble] = new Planet.Plantoid( + DB.size, + DB.gravity, + DB.state.orbit.orientation.rotation * Quaternion.AngleAxis(180, Vector3.left), + DB.state.orbit.orientation.angularVelocity.magnitude, + DB.state.parent, + DB.state.orbit.coordinates + ); + + var TT = mapping[HeavenlyBodies.AshTwin]; + mapping[HeavenlyBodies.AshTwin] = new Planet.Plantoid( + TT.size, + TT.gravity, + TT.state.orbit.orientation.rotation * Quaternion.AngleAxis(180, Vector3.left), + TT.state.orbit.orientation.angularVelocity.magnitude, + TT.state.parent, + TT.state.orbit.coordinates + ); + + Planet.defaultMapping = mapping; + Planet.mapping = mapping; + } + } +}