From c87c525a2e0bb67307b9a1a9e15e4cf1242cb8c7 Mon Sep 17 00:00:00 2001 From: Ben C Date: Fri, 15 Mar 2024 17:25:30 -0400 Subject: [PATCH 01/42] Update getting-started.md --- docs/src/content/docs/start-here/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/docs/start-here/getting-started.md b/docs/src/content/docs/start-here/getting-started.md index 8f4b709d3..c37163bb2 100644 --- a/docs/src/content/docs/start-here/getting-started.md +++ b/docs/src/content/docs/start-here/getting-started.md @@ -30,7 +30,7 @@ Once in VSCode, paste this code into the file: ```json title="wetrock.json" { "name": "Wetrock", - "$schema": "https://raw.githubusercontent.com/xen-42/outer-wilds-new-horizons/main/NewHorizons/Schemas/body_schema.json", + "$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/body_schema.json", "starSystem": "SolarSystem", "Base": { "groundSize": 100, From 1930882a034a5f44339160a502a3c090e64a3201 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 20 Mar 2024 17:05:07 -0400 Subject: [PATCH 02/42] Remove MF dependency (waiting on next owml update for missing hooks) --- NewHorizons/Main.cs | 8 ++++++- NewHorizons/NewHorizons.csproj | 2 +- .../OtherMods/MenuFramework/IMenuAPI.cs | 20 ------------------ .../OtherMods/MenuFramework/MenuHandler.cs | 10 +++------ NewHorizons/Utility/DebugTools/DebugReload.cs | 9 ++++---- .../Utility/DebugTools/Menu/DebugMenu.cs | 21 ++++++++++--------- NewHorizons/manifest.json | 4 ++-- 7 files changed, 28 insertions(+), 46 deletions(-) delete mode 100644 NewHorizons/OtherMods/MenuFramework/IMenuAPI.cs diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index db83045f1..a85122463 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -263,7 +263,6 @@ public void Start() // Call this from the menu since we hadn't hooked onto the event yet Delay.FireOnNextUpdate(() => OnSceneLoaded(SceneManager.GetActiveScene(), LoadSceneMode.Single)); Delay.FireOnNextUpdate(() => _firstLoad = false); - Instance.ModHelper.Menus.PauseMenu.OnInit += DebugReload.InitializePauseMenu; MenuHandler.Init(); AchievementHandler.Init(); @@ -275,6 +274,13 @@ public void Start() LoadAddonManifest("Assets/addon-manifest.json", this); } + public override void SetupPauseMenu() + { + base.SetupPauseMenu(); + DebugReload.InitializePauseMenu(); + DebugMenu.InitializePauseMenu(); + } + public void OnDestroy() { NHLogger.Log($"Destroying NewHorizons"); diff --git a/NewHorizons/NewHorizons.csproj b/NewHorizons/NewHorizons.csproj index c1e195b38..04e068902 100644 --- a/NewHorizons/NewHorizons.csproj +++ b/NewHorizons/NewHorizons.csproj @@ -16,7 +16,7 @@ - + diff --git a/NewHorizons/OtherMods/MenuFramework/IMenuAPI.cs b/NewHorizons/OtherMods/MenuFramework/IMenuAPI.cs deleted file mode 100644 index f44aecdf0..000000000 --- a/NewHorizons/OtherMods/MenuFramework/IMenuAPI.cs +++ /dev/null @@ -1,20 +0,0 @@ -using UnityEngine; -using UnityEngine.UI; - -namespace NewHorizons.OtherMods.MenuFramework -{ - public interface IMenuAPI - { - GameObject TitleScreen_MakeMenuOpenButton(string name, int index, Menu menuToOpen); - GameObject TitleScreen_MakeSceneLoadButton(string name, int index, SubmitActionLoadScene.LoadableScenes sceneToLoad, PopupMenu confirmPopup = null); - Button TitleScreen_MakeSimpleButton(string name, int index); - GameObject PauseMenu_MakeMenuOpenButton(string name, Menu menuToOpen, Menu customMenu = null); - GameObject PauseMenu_MakeSceneLoadButton(string name, SubmitActionLoadScene.LoadableScenes sceneToLoad, PopupMenu confirmPopup = null, Menu customMenu = null); - Button PauseMenu_MakeSimpleButton(string name, Menu customMenu = null); - Menu PauseMenu_MakePauseListMenu(string title); - PopupMenu MakeTwoChoicePopup(string message, string confirmText, string cancelText); - PopupInputMenu MakeInputFieldPopup(string message, string placeholderMessage, string confirmText, string cancelText); - PopupMenu MakeInfoPopup(string message, string continueButtonText); - void RegisterStartupPopup(string message); - } -} diff --git a/NewHorizons/OtherMods/MenuFramework/MenuHandler.cs b/NewHorizons/OtherMods/MenuFramework/MenuHandler.cs index 101a0789c..1a54fc46b 100644 --- a/NewHorizons/OtherMods/MenuFramework/MenuHandler.cs +++ b/NewHorizons/OtherMods/MenuFramework/MenuHandler.cs @@ -11,15 +11,11 @@ namespace NewHorizons.OtherMods.MenuFramework { public static class MenuHandler { - private static IMenuAPI _menuApi; - private static List<(IModBehaviour mod, string message, bool repeat)> _registeredPopups = new(); private static List _failedFiles = new(); public static void Init() { - _menuApi = Main.Instance.ModHelper.Interaction.TryGetModApi("_nebula.MenuFramework"); - TextTranslation.Get().OnLanguageChanged += OnLanguageChanged; } @@ -35,14 +31,14 @@ public static void OnLanguageChanged() Application.version); NHLogger.LogError(warning); - _menuApi.RegisterStartupPopup(warning); + Main.Instance.ModHelper.MenuHelper.PopupMenuManager.RegisterStartupPopup(warning); } foreach(var (mod, message, repeat) in _registeredPopups) { if (repeat || !NewHorizonsData.HasReadOneTimePopup(mod.ModHelper.Manifest.UniqueName)) { - _menuApi.RegisterStartupPopup(TranslationHandler.GetTranslation(message, TranslationHandler.TextType.UI)); + Main.Instance.ModHelper.MenuHelper.PopupMenuManager.RegisterStartupPopup(TranslationHandler.GetTranslation(message, TranslationHandler.TextType.UI)); NewHorizonsData.ReadOneTimePopup(mod.ModHelper.Manifest.UniqueName); } } @@ -52,7 +48,7 @@ public static void OnLanguageChanged() var message = TranslationHandler.GetTranslation("JSON_FAILED_TO_LOAD", TranslationHandler.TextType.UI); var mods = string.Join(",", _failedFiles.Take(10)); if (_failedFiles.Count > 10) mods += "..."; - _menuApi.RegisterStartupPopup(string.Format(message, mods)); + Main.Instance.ModHelper.MenuHelper.PopupMenuManager.RegisterStartupPopup(string.Format(message, mods)); } _registeredPopups.Clear(); diff --git a/NewHorizons/Utility/DebugTools/DebugReload.cs b/NewHorizons/Utility/DebugTools/DebugReload.cs index 87dc99cfd..446fcc8fe 100644 --- a/NewHorizons/Utility/DebugTools/DebugReload.cs +++ b/NewHorizons/Utility/DebugTools/DebugReload.cs @@ -10,12 +10,12 @@ namespace NewHorizons.Utility.DebugTools public static class DebugReload { - private static IModButton _reloadButton; + private static SubmitAction _reloadButton; public static void InitializePauseMenu() { - _reloadButton = Main.Instance.ModHelper.Menus.PauseMenu.OptionsButton.Duplicate(TranslationHandler.GetTranslation("Reload Configs", TranslationHandler.TextType.UI).ToUpper()); - _reloadButton.OnClick += ReloadConfigs; + _reloadButton = Main.Instance.ModHelper.MenuHelper.PauseMenuManager.MakeSimpleButton(TranslationHandler.GetTranslation("Reload Configs", TranslationHandler.TextType.UI).ToUpper(), 3, true); + _reloadButton.OnSubmitAction += ReloadConfigs; UpdateReloadButton(); } @@ -23,8 +23,7 @@ public static void UpdateReloadButton() { if (_reloadButton != null) { - if (Main.Debug) _reloadButton.Show(); - else _reloadButton.Hide(); + _reloadButton.gameObject.SetActive(Main.Debug); } } diff --git a/NewHorizons/Utility/DebugTools/Menu/DebugMenu.cs b/NewHorizons/Utility/DebugTools/Menu/DebugMenu.cs index 07bd39f63..4f3f5074b 100644 --- a/NewHorizons/Utility/DebugTools/Menu/DebugMenu.cs +++ b/NewHorizons/Utility/DebugTools/Menu/DebugMenu.cs @@ -15,7 +15,7 @@ namespace NewHorizons.Utility.DebugTools.Menu { class DebugMenu : MonoBehaviour { - private static IModButton pauseMenuButton; + private static SubmitAction pauseMenuButton; public GUIStyle _editorMenuStyle; public GUIStyle _tabBarStyle; @@ -34,6 +34,8 @@ class DebugMenu : MonoBehaviour // Submenus private List submenus; private int activeSubmenu = 0; + + private static DebugMenu _instance; internal static JsonSerializerSettings jsonSettings = new JsonSerializerSettings { @@ -57,14 +59,14 @@ private void Start() { if (!staticInitialized) { + _instance = this; + staticInitialized = true; - Main.Instance.ModHelper.Menus.PauseMenu.OnInit += PauseMenuInitHook; + // This is lying, these hooks dont exist in the new menu system Main.Instance.ModHelper.Menus.PauseMenu.OnClosed += CloseMenu; Main.Instance.ModHelper.Menus.PauseMenu.OnOpened += RestoreMenuOpennessState; - PauseMenuInitHook(); - Main.Instance.OnChangeStarSystem.AddListener((string s) => { if (saveButtonUnlocked) { @@ -84,18 +86,17 @@ private void Start() } } - private void PauseMenuInitHook() + public static void InitializePauseMenu() { - pauseMenuButton = Main.Instance.ModHelper.Menus.PauseMenu.OptionsButton.Duplicate(TranslationHandler.GetTranslation("Toggle Dev Tools Menu", TranslationHandler.TextType.UI).ToUpper()); - InitMenu(); + pauseMenuButton = Main.Instance.ModHelper.MenuHelper.PauseMenuManager.MakeSimpleButton(TranslationHandler.GetTranslation("Toggle Dev Tools Menu", TranslationHandler.TextType.UI).ToUpper(), 3, true); + _instance.InitMenu(); } public static void UpdatePauseMenuButton() { if (pauseMenuButton != null) { - if (Main.Debug) pauseMenuButton.Show(); - else pauseMenuButton.Hide(); + pauseMenuButton.gameObject.SetActive(Main.Debug); } } @@ -284,7 +285,7 @@ private void InitMenu() UpdatePauseMenuButton(); // TODO: figure out how to clear this event list so that we don't pile up useless instances of the DebugMenu that can't get garbage collected - pauseMenuButton.OnClick += ToggleMenu; + pauseMenuButton.OnSubmitAction += ToggleMenu; submenus.ForEach(submenu => submenu.OnInit(this)); diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index 1feb5fcdb..60e49123a 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -5,8 +5,8 @@ "name": "New Horizons", "uniqueName": "xen.NewHorizons", "version": "1.19.3", - "owmlVersion": "2.9.8", - "dependencies": [ "JohnCorby.VanillaFix", "_nebula.MenuFramework", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], + "owmlVersion": "2.10.3", + "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ], "pathsToPreserve": [ "planets", "systems", "translations" ], "donateLink": "https://www.patreon.com/ownh" From 7ca82f55468eefb16b8d6fd5887caa6e031ab634 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 20 Mar 2024 17:33:04 -0400 Subject: [PATCH 03/42] Fix HN map mode --- NewHorizons/Builder/ShipLog/MapModeBuilder.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Builder/ShipLog/MapModeBuilder.cs b/NewHorizons/Builder/ShipLog/MapModeBuilder.cs index a36c6003a..1ae836fa2 100644 --- a/NewHorizons/Builder/ShipLog/MapModeBuilder.cs +++ b/NewHorizons/Builder/ShipLog/MapModeBuilder.cs @@ -30,7 +30,7 @@ public static ShipLogAstroObject[][] ConstructMapMode(string systemName, GameObj { if (body.Config.ShipLog == null) continue; - if (body.Config.ShipLog?.mapMode?.manualPosition == null) + if (body.Config.ShipLog?.mapMode != null && body.Config.ShipLog.mapMode.manualPosition == null) { flagAutoPositionUsed = true; } @@ -45,6 +45,12 @@ public static ShipLogAstroObject[][] ConstructMapMode(string systemName, GameObj } } + // If they're both false, just default to auto (this means that no planets even have ship log info) + if (!flagManualPositionUsed && !flagAutoPositionUsed) + { + flagAutoPositionUsed = true; + } + var isBaseSolarSystem = systemName == "SolarSystem"; // Default to MANUAL in Base Solar System (we can't automatically fix them so it might just break, but AUTO breaks even more!) From 03620d80b6023f65c67b9047f66a7745be39d5b5 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 20 Mar 2024 18:05:40 -0400 Subject: [PATCH 04/42] Make ship log null --- NewHorizons/Builder/ShipLog/MapModeBuilder.cs | 2 +- NewHorizons/External/Configs/PlanetConfig.cs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/NewHorizons/Builder/ShipLog/MapModeBuilder.cs b/NewHorizons/Builder/ShipLog/MapModeBuilder.cs index 1ae836fa2..15e344901 100644 --- a/NewHorizons/Builder/ShipLog/MapModeBuilder.cs +++ b/NewHorizons/Builder/ShipLog/MapModeBuilder.cs @@ -30,7 +30,7 @@ public static ShipLogAstroObject[][] ConstructMapMode(string systemName, GameObj { if (body.Config.ShipLog == null) continue; - if (body.Config.ShipLog?.mapMode != null && body.Config.ShipLog.mapMode.manualPosition == null) + if (body.Config.ShipLog.mapMode?.manualPosition == null) { flagAutoPositionUsed = true; } diff --git a/NewHorizons/External/Configs/PlanetConfig.cs b/NewHorizons/External/Configs/PlanetConfig.cs index 40a9f7f57..f29c511af 100644 --- a/NewHorizons/External/Configs/PlanetConfig.cs +++ b/NewHorizons/External/Configs/PlanetConfig.cs @@ -213,7 +213,6 @@ public PlanetConfig() // Always have to have a base module if (Base == null) Base = new BaseModule(); if (Orbit == null) Orbit = new OrbitModule(); - if (ShipLog == null) ShipLog = new ShipLogModule(); if (ReferenceFrame == null) ReferenceFrame = new ReferenceFrameModule(); } From a6e171682698e83aab7bcadf43b3fb19420ef883 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Thu, 21 Mar 2024 18:29:51 -0400 Subject: [PATCH 05/42] Fix subtitles size being 0 when width is smaller than original I noticed this on Hearth's Neighbor --- NewHorizons/Handlers/SubtitlesHandler.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/NewHorizons/Handlers/SubtitlesHandler.cs b/NewHorizons/Handlers/SubtitlesHandler.cs index 7207a8a52..d3fe3fb81 100644 --- a/NewHorizons/Handlers/SubtitlesHandler.cs +++ b/NewHorizons/Handlers/SubtitlesHandler.cs @@ -11,8 +11,8 @@ namespace NewHorizons.Handlers { class SubtitlesHandler : MonoBehaviour { - public static int SUBTITLE_HEIGHT = 97; - public static int SUBTITLE_WIDTH = 669; // nice + public static float SUBTITLE_HEIGHT = 97; + public static float SUBTITLE_WIDTH = 669; // nice public float fadeSpeed = 0.005f; public float fade = 1; @@ -45,7 +45,7 @@ public void CheckForEOTE() if (eoteSprite != null) { // Don't make it appear first actually because we have mods to display! - possibleSubtitles.Add(eoteSprite); + possibleSubtitles.Add(eoteSprite); } eoteSubtitleHasBeenInserted = true; } @@ -67,7 +67,7 @@ public void Start() CheckForEOTE(); // We add our subtitles as a child object so that their sizing doesnt shift the layout of the main menu - _subtitleDisplay = new GameObject().AddComponent(); + _subtitleDisplay = new GameObject("SubtitleDisplay").AddComponent(); _subtitleDisplay.transform.parent = transform; _subtitleDisplay.transform.localPosition = new Vector3(0, 0, 0); _subtitleDisplay.transform.localScale = new Vector3(0.75f, 0.75f, 0.75f); @@ -173,9 +173,12 @@ public void ChangeSubtitle() { subtitleIndex = (subtitleIndex + 1) % possibleSubtitles.Count; - _subtitleDisplay.sprite = possibleSubtitles[subtitleIndex]; - var ratio = SUBTITLE_WIDTH / _subtitleDisplay.sprite.texture.width; - _subtitleDisplay.rectTransform.sizeDelta = new Vector2(_subtitleDisplay.sprite.texture.width, _subtitleDisplay.sprite.texture.height) * ratio; + var subtitle = possibleSubtitles[subtitleIndex]; + _subtitleDisplay.sprite = subtitle; + var width = subtitle.texture.width; + var height = subtitle.texture.height; + var ratio = SUBTITLE_WIDTH / width; // one of these needs to be a float so that compiler doesn't think "oh 2 integers! let's round to nearest whole" + _subtitleDisplay.rectTransform.sizeDelta = new Vector2(width, height) * ratio; } } } From 48e5229ca29a5bb8bde6b4dbeeb0db3e9444592d Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 22 Mar 2024 14:07:11 -0400 Subject: [PATCH 06/42] New owml changes, fix some debug menu stuff --- NewHorizons/Main.cs | 8 +-- NewHorizons/NewHorizons.csproj | 2 +- NewHorizons/Utility/DebugTools/DebugReload.cs | 10 ++-- .../Utility/DebugTools/Menu/DebugMenu.cs | 56 +++++++++---------- 4 files changed, 36 insertions(+), 40 deletions(-) diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index a85122463..0314cf612 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -274,11 +274,11 @@ public void Start() LoadAddonManifest("Assets/addon-manifest.json", this); } - public override void SetupPauseMenu() + public override void SetupPauseMenu(IPauseMenuManager pauseMenu) { - base.SetupPauseMenu(); - DebugReload.InitializePauseMenu(); - DebugMenu.InitializePauseMenu(); + base.SetupPauseMenu(pauseMenu); + DebugReload.InitializePauseMenu(pauseMenu); + DebugMenu.InitializePauseMenu(pauseMenu); } public void OnDestroy() diff --git a/NewHorizons/NewHorizons.csproj b/NewHorizons/NewHorizons.csproj index 04e068902..e8abb7570 100644 --- a/NewHorizons/NewHorizons.csproj +++ b/NewHorizons/NewHorizons.csproj @@ -16,7 +16,7 @@ - + diff --git a/NewHorizons/Utility/DebugTools/DebugReload.cs b/NewHorizons/Utility/DebugTools/DebugReload.cs index 446fcc8fe..cd067d986 100644 --- a/NewHorizons/Utility/DebugTools/DebugReload.cs +++ b/NewHorizons/Utility/DebugTools/DebugReload.cs @@ -3,6 +3,7 @@ using NewHorizons.Utility.OWML; using OWML.Common; using OWML.Common.Menus; +using OWML.Utils; using System; namespace NewHorizons.Utility.DebugTools @@ -12,19 +13,16 @@ public static class DebugReload private static SubmitAction _reloadButton; - public static void InitializePauseMenu() + public static void InitializePauseMenu(IPauseMenuManager pauseMenu) { - _reloadButton = Main.Instance.ModHelper.MenuHelper.PauseMenuManager.MakeSimpleButton(TranslationHandler.GetTranslation("Reload Configs", TranslationHandler.TextType.UI).ToUpper(), 3, true); + _reloadButton = pauseMenu.MakeSimpleButton(TranslationHandler.GetTranslation("Reload Configs", TranslationHandler.TextType.UI).ToUpper(), 3, true); _reloadButton.OnSubmitAction += ReloadConfigs; UpdateReloadButton(); } public static void UpdateReloadButton() { - if (_reloadButton != null) - { - _reloadButton.gameObject.SetActive(Main.Debug); - } + _reloadButton?.SetButtonVisible(Main.Debug); } private static void ReloadConfigs() diff --git a/NewHorizons/Utility/DebugTools/Menu/DebugMenu.cs b/NewHorizons/Utility/DebugTools/Menu/DebugMenu.cs index 4f3f5074b..92e77893c 100644 --- a/NewHorizons/Utility/DebugTools/Menu/DebugMenu.cs +++ b/NewHorizons/Utility/DebugTools/Menu/DebugMenu.cs @@ -5,6 +5,7 @@ using Newtonsoft.Json; using OWML.Common; using OWML.Common.Menus; +using OWML.Utils; using System; using System.Collections.Generic; using System.IO; @@ -23,7 +24,6 @@ class DebugMenu : MonoBehaviour internal Vector2 EditorMenuSize = new Vector2(600, 900); bool menuOpen = false; static bool openMenuOnPause; - static bool staticInitialized; // Menu params internal static IModBehaviour loadedMod = null; @@ -57,28 +57,13 @@ private void Awake() private void Start() { - if (!staticInitialized) - { - _instance = this; - - staticInitialized = true; + _instance = this; - // This is lying, these hooks dont exist in the new menu system - Main.Instance.ModHelper.Menus.PauseMenu.OnClosed += CloseMenu; - Main.Instance.ModHelper.Menus.PauseMenu.OnOpened += RestoreMenuOpennessState; + Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuOpened += OnOpenMenu; + Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuClosed += OnCloseMenu; + Main.Instance.OnChangeStarSystem.AddListener(OnChangeStarSystem); - Main.Instance.OnChangeStarSystem.AddListener((string s) => { - if (saveButtonUnlocked) - { - SaveLoadedConfigsForRecentSystem(); - saveButtonUnlocked = false; - } - }); - } - else - { - InitMenu(); - } + InitMenu(); if (loadedMod != null) { @@ -86,25 +71,38 @@ private void Start() } } - public static void InitializePauseMenu() + public void OnDestroy() { - pauseMenuButton = Main.Instance.ModHelper.MenuHelper.PauseMenuManager.MakeSimpleButton(TranslationHandler.GetTranslation("Toggle Dev Tools Menu", TranslationHandler.TextType.UI).ToUpper(), 3, true); - _instance.InitMenu(); + Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuOpened -= OnOpenMenu; + Main.Instance.ModHelper.MenuHelper.PauseMenuManager.PauseMenuClosed -= OnCloseMenu; + Main.Instance.OnChangeStarSystem.RemoveListener(OnChangeStarSystem); } - public static void UpdatePauseMenuButton() + private void OnChangeStarSystem(string _) { - if (pauseMenuButton != null) + if (saveButtonUnlocked) { - pauseMenuButton.gameObject.SetActive(Main.Debug); + SaveLoadedConfigsForRecentSystem(); + saveButtonUnlocked = false; } } - private void RestoreMenuOpennessState() { menuOpen = openMenuOnPause; } + public static void InitializePauseMenu(IPauseMenuManager pauseMenu) + { + pauseMenuButton = pauseMenu.MakeSimpleButton(TranslationHandler.GetTranslation("Toggle Dev Tools Menu", TranslationHandler.TextType.UI).ToUpper(), 3, true); + _instance?.InitMenu(); + } + + public static void UpdatePauseMenuButton() + { + pauseMenuButton?.SetButtonVisible(Main.Debug); + } + + private void OnOpenMenu() { menuOpen = openMenuOnPause; } private void ToggleMenu() { menuOpen = !menuOpen; openMenuOnPause = !openMenuOnPause; } - private void CloseMenu() { menuOpen = false; } + private void OnCloseMenu() { menuOpen = false; } private void OnGUI() { From 5ed6d4c42589039107ac002ae3acff4a34988d33 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 22 Mar 2024 15:38:41 -0400 Subject: [PATCH 07/42] Fix cull group thing, remove redundant stuff --- NewHorizons/Builder/Props/DetailBuilder.cs | 33 +++++++++------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/NewHorizons/Builder/Props/DetailBuilder.cs b/NewHorizons/Builder/Props/DetailBuilder.cs index e96b51dc2..7e1bb5816 100644 --- a/NewHorizons/Builder/Props/DetailBuilder.cs +++ b/NewHorizons/Builder/Props/DetailBuilder.cs @@ -101,6 +101,7 @@ public static GameObject Make(GameObject go, Sector sector, IModBehaviour mod, G GameObject prop; bool isItem; bool invalidComponentFound = false; + bool isFromAssetBundle = !string.IsNullOrEmpty(detail.assetBundle); // We save copies with all their components fixed, good if the user is placing the same detail more than once if (detail?.path != null && _fixedPrefabCache.TryGetValue((sector, detail.path), out var storedPrefab)) @@ -139,12 +140,21 @@ public static GameObject Make(GameObject go, Sector sector, IModBehaviour mod, G } else { - FixSectoredComponent(component, sector, existingSectors, detail.keepLoaded); + FixSectoredComponent(component, sector, existingSectors); + } + + // Fix cull groups only when not from an asset bundle (because then they're there on purpose!) + // keepLoaded should remove existing groups + // renderers/colliders get enabled later so we dont have to do that here + if (detail.keepLoaded && !isFromAssetBundle && component is SectorCullGroup or SectorCollisionGroup or SectorLightsCullGroup) + { + UnityEngine.Object.DestroyImmediate(component); + continue; } // Asset bundle is a real string -> Object loaded from unity // If they're adding dialogue we have to manually register the xml text - if (!string.IsNullOrEmpty(detail.assetBundle) && component is CharacterDialogueTree dialogue) + if (isFromAssetBundle && component is CharacterDialogueTree dialogue) { DialogueBuilder.AddTranslation(dialogue._xmlCharacterDialogueAsset.text, null); } @@ -278,16 +288,8 @@ public static GameObject Make(GameObject go, Sector sector, IModBehaviour mod, G /// /// Fix components that have sectors. Has a specific fix if there is a VisionTorchItem on the object. /// - private static void FixSectoredComponent(Component component, Sector sector, HashSet existingSectors, bool keepLoaded) + private static void FixSectoredComponent(Component component, Sector sector, HashSet existingSectors) { - // keepLoaded should remove existing groups - // renderers/colliders get enabled later so we dont have to do that here - if (keepLoaded && component is SectorCullGroup or SectorCollisionGroup or SectorLightsCullGroup) - { - UnityEngine.Object.DestroyImmediate(component); - return; - } - // fix Sector stuff, eg SectorCullGroup (without this, props that have a SectorCullGroup component will become invisible inappropriately) if (component is ISectorGroup sectorGroup && !existingSectors.Contains(sectorGroup.GetSector())) { @@ -295,15 +297,8 @@ private static void FixSectoredComponent(Component component, Sector sector, Has } // Not doing else if here because idk if any of the classes below implement ISectorGroup - - // Null check else shuttles controls break - // parent sector is always null before Awake so this code actually never runs lol - if (component is Sector s && s.GetParentSector() != null && !existingSectors.Contains(s.GetParentSector())) - { - s.SetParentSector(sector); - } - else if(component is SectoredMonoBehaviour behaviour && !existingSectors.Contains(behaviour._sector)) + if(component is SectoredMonoBehaviour behaviour && !existingSectors.Contains(behaviour._sector)) { // not using SetSector here because it registers the events twice // perhaps this happens with ISectorGroup.SetSector or Sector.SetParentSector too? idk and nothing seems to break because of it yet From 67a9684eb33d07c8be2deafce65120a05e434810 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 22 Mar 2024 15:51:42 -0400 Subject: [PATCH 08/42] Update manifest.json --- NewHorizons/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index 60e49123a..567221c8a 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -4,7 +4,7 @@ "author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends", "name": "New Horizons", "uniqueName": "xen.NewHorizons", - "version": "1.19.3", + "version": "1.19.4", "owmlVersion": "2.10.3", "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ], From 7bf85b2017285118d87953607a46e1b805837d1f Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 22 Mar 2024 16:19:23 -0400 Subject: [PATCH 09/42] Fix drowning in ship --- .../Fixers/PlayerShipAtmosphereDetectorFix.cs | 33 +++++++++++++++++++ NewHorizons/Main.cs | 1 + 2 files changed, 34 insertions(+) create mode 100644 NewHorizons/Components/Fixers/PlayerShipAtmosphereDetectorFix.cs diff --git a/NewHorizons/Components/Fixers/PlayerShipAtmosphereDetectorFix.cs b/NewHorizons/Components/Fixers/PlayerShipAtmosphereDetectorFix.cs new file mode 100644 index 000000000..25d135c16 --- /dev/null +++ b/NewHorizons/Components/Fixers/PlayerShipAtmosphereDetectorFix.cs @@ -0,0 +1,33 @@ +using NewHorizons.Utility.OWML; +using UnityEngine; + +namespace NewHorizons.Components.Fixers; + +/// +/// Fixes a bug where spawning into the ship would not trigger the hatch entryway, so the player could drown if the ship flew into water +/// +internal class PlayerShipAtmosphereDetectorFix : MonoBehaviour +{ + private PlayerCameraFluidDetector _fluidDetector; + private SimpleFluidVolume _shipAtmosphereVolume; + + public void Start() + { + _fluidDetector = Locator.GetPlayerCameraDetector().GetComponent(); + _shipAtmosphereVolume = Locator.GetShipBody().transform.Find("Volumes/ShipAtmosphereVolume").GetComponent(); + } + + public void Update() + { + if (PlayerState.IsInsideShip()) + { + if (!_fluidDetector._activeVolumes.Contains(_shipAtmosphereVolume)) + { + NHLogger.LogVerbose($"{nameof(PlayerShipAtmosphereDetectorFix)} had to add the ship atmosphere volume [{_shipAtmosphereVolume}] to the fluid detector"); + _fluidDetector.AddVolume(_shipAtmosphereVolume); + } + NHLogger.LogVerbose($"{nameof(PlayerShipAtmosphereDetectorFix)} applied its fix"); + Component.Destroy(this); + } + } +} diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index 0314cf612..da1d2795d 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -601,6 +601,7 @@ private void OnSystemReady(bool shouldWarpInFromShip, bool shouldWarpInFromVesse Locator.GetPlayerBody().gameObject.AddComponent(); Locator.GetPlayerBody().gameObject.AddComponent(); Locator.GetPlayerBody().gameObject.AddComponent(); + Locator.GetPlayerBody().gameObject.AddComponent(); PlayerSpawnHandler.OnSystemReady(shouldWarpInFromShip, shouldWarpInFromVessel); From 5ce44f2ab039c4a64052cf00783468275997930a Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 22 Mar 2024 16:30:27 -0400 Subject: [PATCH 10/42] Take bramble projection fix from the outsider --- .../Patches/BrambleProjectionFixPatches.cs | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 NewHorizons/Patches/BrambleProjectionFixPatches.cs diff --git a/NewHorizons/Patches/BrambleProjectionFixPatches.cs b/NewHorizons/Patches/BrambleProjectionFixPatches.cs new file mode 100644 index 000000000..9d41a251d --- /dev/null +++ b/NewHorizons/Patches/BrambleProjectionFixPatches.cs @@ -0,0 +1,26 @@ +using HarmonyLib; + +namespace NewHorizons.Patches; + +/// +/// Bug fix from the Outsider +/// +[HarmonyPatch] +internal class BrambleProjectionFixPatches +{ + [HarmonyPrefix] + [HarmonyPatch(typeof(FogWarpVolume), nameof(FogWarpVolume.WarpDetector))] + public static bool FogWarpVolume_WarpDetector() + { + // Do not warp the player if they have entered the fog via a projection + return !PlayerState.UsingNomaiRemoteCamera(); + } + + [HarmonyPrefix] + [HarmonyPatch(typeof(FogWarpDetector), nameof(FogWarpDetector.FixedUpdate))] + public static bool FogWarpDetector_FixedUpdate() + { + // Do not warp the player if they have entered the fog via a projection + return !PlayerState.UsingNomaiRemoteCamera(); + } +} From 27f4222702e2e75e0c782b3f8162f3a38eddcb64 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 22 Mar 2024 17:03:16 -0400 Subject: [PATCH 11/42] Reorganize --- .../Patches/BrambleProjectionFixPatches.cs | 26 ------------------- .../VolumePatches/FogWarpVolumePatches.cs | 24 +++++++++++++++++ 2 files changed, 24 insertions(+), 26 deletions(-) delete mode 100644 NewHorizons/Patches/BrambleProjectionFixPatches.cs diff --git a/NewHorizons/Patches/BrambleProjectionFixPatches.cs b/NewHorizons/Patches/BrambleProjectionFixPatches.cs deleted file mode 100644 index 9d41a251d..000000000 --- a/NewHorizons/Patches/BrambleProjectionFixPatches.cs +++ /dev/null @@ -1,26 +0,0 @@ -using HarmonyLib; - -namespace NewHorizons.Patches; - -/// -/// Bug fix from the Outsider -/// -[HarmonyPatch] -internal class BrambleProjectionFixPatches -{ - [HarmonyPrefix] - [HarmonyPatch(typeof(FogWarpVolume), nameof(FogWarpVolume.WarpDetector))] - public static bool FogWarpVolume_WarpDetector() - { - // Do not warp the player if they have entered the fog via a projection - return !PlayerState.UsingNomaiRemoteCamera(); - } - - [HarmonyPrefix] - [HarmonyPatch(typeof(FogWarpDetector), nameof(FogWarpDetector.FixedUpdate))] - public static bool FogWarpDetector_FixedUpdate() - { - // Do not warp the player if they have entered the fog via a projection - return !PlayerState.UsingNomaiRemoteCamera(); - } -} diff --git a/NewHorizons/Patches/VolumePatches/FogWarpVolumePatches.cs b/NewHorizons/Patches/VolumePatches/FogWarpVolumePatches.cs index 41f3e652b..60eb0b684 100644 --- a/NewHorizons/Patches/VolumePatches/FogWarpVolumePatches.cs +++ b/NewHorizons/Patches/VolumePatches/FogWarpVolumePatches.cs @@ -42,5 +42,29 @@ public static bool FogWarpVolume_GetFogThickness(FogWarpVolume __instance, ref f return true; } } + + /// + /// Bug fix from the Outsider + /// + /// + [HarmonyPrefix] + [HarmonyPatch(typeof(FogWarpVolume), nameof(FogWarpVolume.WarpDetector))] + public static bool FogWarpVolume_WarpDetector() + { + // Do not warp the player if they have entered the fog via a projection + return !PlayerState.UsingNomaiRemoteCamera(); + } + + /// + /// Bug fix from the Outsider + /// + /// + [HarmonyPrefix] + [HarmonyPatch(typeof(FogWarpDetector), nameof(FogWarpDetector.FixedUpdate))] + public static bool FogWarpDetector_FixedUpdate() + { + // Do not warp the player if they have entered the fog via a projection + return !PlayerState.UsingNomaiRemoteCamera(); + } } } From c114e75297123dfaa78fa7455cd6b184ed03cbef Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 22 Mar 2024 17:06:31 -0400 Subject: [PATCH 12/42] Revert "Reorganize" This reverts commit 27f4222702e2e75e0c782b3f8162f3a38eddcb64. --- .../Patches/BrambleProjectionFixPatches.cs | 26 +++++++++++++++++++ .../VolumePatches/FogWarpVolumePatches.cs | 24 ----------------- 2 files changed, 26 insertions(+), 24 deletions(-) create mode 100644 NewHorizons/Patches/BrambleProjectionFixPatches.cs diff --git a/NewHorizons/Patches/BrambleProjectionFixPatches.cs b/NewHorizons/Patches/BrambleProjectionFixPatches.cs new file mode 100644 index 000000000..9d41a251d --- /dev/null +++ b/NewHorizons/Patches/BrambleProjectionFixPatches.cs @@ -0,0 +1,26 @@ +using HarmonyLib; + +namespace NewHorizons.Patches; + +/// +/// Bug fix from the Outsider +/// +[HarmonyPatch] +internal class BrambleProjectionFixPatches +{ + [HarmonyPrefix] + [HarmonyPatch(typeof(FogWarpVolume), nameof(FogWarpVolume.WarpDetector))] + public static bool FogWarpVolume_WarpDetector() + { + // Do not warp the player if they have entered the fog via a projection + return !PlayerState.UsingNomaiRemoteCamera(); + } + + [HarmonyPrefix] + [HarmonyPatch(typeof(FogWarpDetector), nameof(FogWarpDetector.FixedUpdate))] + public static bool FogWarpDetector_FixedUpdate() + { + // Do not warp the player if they have entered the fog via a projection + return !PlayerState.UsingNomaiRemoteCamera(); + } +} diff --git a/NewHorizons/Patches/VolumePatches/FogWarpVolumePatches.cs b/NewHorizons/Patches/VolumePatches/FogWarpVolumePatches.cs index 60eb0b684..41f3e652b 100644 --- a/NewHorizons/Patches/VolumePatches/FogWarpVolumePatches.cs +++ b/NewHorizons/Patches/VolumePatches/FogWarpVolumePatches.cs @@ -42,29 +42,5 @@ public static bool FogWarpVolume_GetFogThickness(FogWarpVolume __instance, ref f return true; } } - - /// - /// Bug fix from the Outsider - /// - /// - [HarmonyPrefix] - [HarmonyPatch(typeof(FogWarpVolume), nameof(FogWarpVolume.WarpDetector))] - public static bool FogWarpVolume_WarpDetector() - { - // Do not warp the player if they have entered the fog via a projection - return !PlayerState.UsingNomaiRemoteCamera(); - } - - /// - /// Bug fix from the Outsider - /// - /// - [HarmonyPrefix] - [HarmonyPatch(typeof(FogWarpDetector), nameof(FogWarpDetector.FixedUpdate))] - public static bool FogWarpDetector_FixedUpdate() - { - // Do not warp the player if they have entered the fog via a projection - return !PlayerState.UsingNomaiRemoteCamera(); - } } } From ad63eacbd820767b194b26a088a2b673ccc038eb Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 23 Mar 2024 15:25:17 -0400 Subject: [PATCH 13/42] Condition object activation positioned on sibling for better copying of existing details --- NewHorizons/Components/Props/ConditionalObjectActivation.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/NewHorizons/Components/Props/ConditionalObjectActivation.cs b/NewHorizons/Components/Props/ConditionalObjectActivation.cs index 2fd0cde15..122302cf5 100644 --- a/NewHorizons/Components/Props/ConditionalObjectActivation.cs +++ b/NewHorizons/Components/Props/ConditionalObjectActivation.cs @@ -19,6 +19,7 @@ public static void SetUp(GameObject go, string condition, bool closeEyes, bool s { var conditionalObjectActivationGO = new GameObject($"{go.name}_{condition}"); var component = conditionalObjectActivationGO.AddComponent(); + component.transform.parent = go.transform.parent; component.GameObject = go; component.DialogueCondition = condition; component.CloseEyes = closeEyes; From 44141ad5c4402ac546de26dc4b64bc3d460ceacc Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 23 Mar 2024 15:53:45 -0400 Subject: [PATCH 14/42] Fix ramp being null for some reason --- NewHorizons/Builder/Atmosphere/FogBuilder.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/NewHorizons/Builder/Atmosphere/FogBuilder.cs b/NewHorizons/Builder/Atmosphere/FogBuilder.cs index 9f1d7da8a..f47e3e29c 100644 --- a/NewHorizons/Builder/Atmosphere/FogBuilder.cs +++ b/NewHorizons/Builder/Atmosphere/FogBuilder.cs @@ -1,10 +1,10 @@ using NewHorizons.External.Modules; -using NewHorizons.External.Modules.Props; using NewHorizons.Utility; using NewHorizons.Utility.Files; using OWML.Common; using System; using UnityEngine; + namespace NewHorizons.Builder.Atmosphere { public static class FogBuilder @@ -26,7 +26,9 @@ public static class FogBuilder internal static void InitPrefabs() { - if (_ramp == null) _ramp = ImageUtilities.GetTexture(Main.Instance, "Assets/textures/FogColorRamp.png"); + // Checking null here it was getting destroyed and wouldnt reload and never worked outside of the first loop + // GetTexture caches itself anyway so it doesn't matter that this gets called multiple times + _ramp = ImageUtilities.GetTexture(Main.Instance, "Assets/textures/FogColorRamp.png"); if (_isInit) return; @@ -73,6 +75,7 @@ public static PlanetaryFogController Make(GameObject planetGO, Sector sector, At atmo.fogRampPath != null ? ImageUtilities.GetTexture(mod, atmo.fogRampPath) : atmo.fogTint != null ? ImageUtilities.TintImage(_ramp, atmo.fogTint.ToColor()) : _ramp; + PFC.fogColorRampTexture = colorRampTexture; PFC.fogColorRampIntensity = 1f; if (atmo.fogTint != null) From 568f8a757eacbeb098987bb0c6908e510dc226ad Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 23 Mar 2024 16:30:55 -0400 Subject: [PATCH 15/42] Skip to loop 2 in new star systems --- NewHorizons/Main.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index da1d2795d..c8b714c71 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -518,8 +518,10 @@ private void OnSceneLoaded(Scene scene, LoadSceneMode mode) // We are in a custom system on the first loop -> The time loop isn't active, that's not very good // TimeLoop uses the launch codes condition to know if the loop is active or not + // We also skip them to loop 2, else if they enter a credits volume in this loop they get reset if (CurrentStarSystem != "SolarSystem" && PlayerData.LoadLoopCount() == 1) { + PlayerData.SaveLoopCount(2); PlayerData.SetPersistentCondition("LAUNCH_CODES_GIVEN", true); } } From 41fcb476db211a78f7895b5e52cd421df8a33b68 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 23 Mar 2024 16:56:36 -0400 Subject: [PATCH 16/42] Fix getting locked into the ship log warp drive dialogue when spawning --- .../RemoteDialogueTriggerPatches.cs | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/NewHorizons/Patches/DialoguePatches/RemoteDialogueTriggerPatches.cs b/NewHorizons/Patches/DialoguePatches/RemoteDialogueTriggerPatches.cs index 330e578e5..c01240f21 100644 --- a/NewHorizons/Patches/DialoguePatches/RemoteDialogueTriggerPatches.cs +++ b/NewHorizons/Patches/DialoguePatches/RemoteDialogueTriggerPatches.cs @@ -1,4 +1,6 @@ using HarmonyLib; +using System.Collections; +using UnityEngine.InputSystem; namespace NewHorizons.Patches.DialoguePatches { @@ -7,6 +9,29 @@ public static class RemoteDialogueTriggerPatches { private static bool _wasLastDialogueInactive = false; + [HarmonyPostfix] + [HarmonyPatch(nameof(RemoteDialogueTrigger.Awake))] + public static void RemoteDialogueTrigger_Awake(RemoteDialogueTrigger __instance) + { + // Wait for player to be up and moving before allowing them to trigger remote dialogue + // Stops you getting locked into dialogue while waking up + if (OWInput.GetInputMode() != InputMode.Character) + { + __instance._collider.enabled = false; + __instance.StartCoroutine(AwakeCoroutine(__instance)); + } + } + + private static IEnumerator AwakeCoroutine(RemoteDialogueTrigger instance) + { + while (OWInput.GetInputMode() != InputMode.Character) + { + yield return null; + } + + instance._collider.enabled = true; + } + /// /// Should fix a bug where disabled a CharacterDialogueTree makes its related RemoteDialogueTriggers softlock your game /// From f490238d608b1f039987efe317f8454ffb109e98 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 23 Mar 2024 16:56:54 -0400 Subject: [PATCH 17/42] Update manifest.json --- NewHorizons/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index 567221c8a..a53790b26 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -4,7 +4,7 @@ "author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends", "name": "New Horizons", "uniqueName": "xen.NewHorizons", - "version": "1.19.4", + "version": "1.19.5", "owmlVersion": "2.10.3", "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ], From fd3c5975eb23edcccaada915c894786692790dc8 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sat, 23 Mar 2024 14:38:11 -0700 Subject: [PATCH 18/42] move cull fix above FixSectoredComponent or else it nres --- NewHorizons/Builder/Props/DetailBuilder.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/NewHorizons/Builder/Props/DetailBuilder.cs b/NewHorizons/Builder/Props/DetailBuilder.cs index 7e1bb5816..6a05cb090 100644 --- a/NewHorizons/Builder/Props/DetailBuilder.cs +++ b/NewHorizons/Builder/Props/DetailBuilder.cs @@ -140,16 +140,16 @@ public static GameObject Make(GameObject go, Sector sector, IModBehaviour mod, G } else { - FixSectoredComponent(component, sector, existingSectors); - } + // Fix cull groups only when not from an asset bundle (because then they're there on purpose!) + // keepLoaded should remove existing groups + // renderers/colliders get enabled later so we dont have to do that here + if (detail.keepLoaded && !isFromAssetBundle && component is SectorCullGroup or SectorCollisionGroup or SectorLightsCullGroup) + { + UnityEngine.Object.DestroyImmediate(component); + continue; + } - // Fix cull groups only when not from an asset bundle (because then they're there on purpose!) - // keepLoaded should remove existing groups - // renderers/colliders get enabled later so we dont have to do that here - if (detail.keepLoaded && !isFromAssetBundle && component is SectorCullGroup or SectorCollisionGroup or SectorLightsCullGroup) - { - UnityEngine.Object.DestroyImmediate(component); - continue; + FixSectoredComponent(component, sector, existingSectors); } // Asset bundle is a real string -> Object loaded from unity From 581f7072799900daef4bc7713b04e29260549b7b Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 23 Mar 2024 17:51:57 -0400 Subject: [PATCH 19/42] Fix phanton shuttle --- .../Builder/Atmosphere/SunOverrideBuilder.cs | 1 + .../VolumePatches/DestructionVolumePatches.cs | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/NewHorizons/Builder/Atmosphere/SunOverrideBuilder.cs b/NewHorizons/Builder/Atmosphere/SunOverrideBuilder.cs index df696f4dc..9ee0e365c 100644 --- a/NewHorizons/Builder/Atmosphere/SunOverrideBuilder.cs +++ b/NewHorizons/Builder/Atmosphere/SunOverrideBuilder.cs @@ -1,6 +1,7 @@ using NewHorizons.External.Modules; using NewHorizons.External.Modules.VariableSize; using UnityEngine; + namespace NewHorizons.Builder.Atmosphere { public static class SunOverrideBuilder diff --git a/NewHorizons/Patches/VolumePatches/DestructionVolumePatches.cs b/NewHorizons/Patches/VolumePatches/DestructionVolumePatches.cs index 0dd86a57b..3091d1fd3 100644 --- a/NewHorizons/Patches/VolumePatches/DestructionVolumePatches.cs +++ b/NewHorizons/Patches/VolumePatches/DestructionVolumePatches.cs @@ -26,5 +26,25 @@ public static bool DestructionVolume_Vanish(OWRigidbody bodyToVanish) return false; } + + /// + /// This method detects Nomai shuttles that are inactive + /// When active, it swaps the position of the NomaiShuttleController and the Rigidbody, so its not found as a child here and explodes continuously forever + /// Just ignore the shuttle if its inactive + /// + [HarmonyPrefix] + [HarmonyPatch(nameof(DestructionVolume.VanishNomaiShuttle))] + public static bool DestructionVolume_VanishNomaiShuttle(DestructionVolume __instance, OWRigidbody shuttleBody, RelativeLocationData entryLocation) + { + if (shuttleBody.GetComponentInChildren() == null) + { + if (__instance._nomaiShuttleBody == shuttleBody) + { + __instance._nomaiShuttleBody = null; + } + return false; + } + return true; + } } } From 97391a0efc93d5753ecfb5aa3f4d317a66df9a80 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 23 Mar 2024 17:52:09 -0400 Subject: [PATCH 20/42] Update manifest.json --- NewHorizons/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index a53790b26..1acb14fb7 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -4,7 +4,7 @@ "author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends", "name": "New Horizons", "uniqueName": "xen.NewHorizons", - "version": "1.19.5", + "version": "1.19.6", "owmlVersion": "2.10.3", "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ], From 53d3f70a22713d6a0ba5422e1debd5e8a397f333 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 13:08:42 -0400 Subject: [PATCH 21/42] Fix opacity on star icon, fix generated map mode icon states --- NewHorizons/Assets/DefaultMapModeStar.png | Bin 129877 -> 131572 bytes NewHorizons/Builder/ShipLog/MapModeBuilder.cs | 7 +++++ .../ShipLogAstroObjectPatches.cs | 25 +++++++++++++++++- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Assets/DefaultMapModeStar.png b/NewHorizons/Assets/DefaultMapModeStar.png index 7bc0ac1b87dad1de4dce9f98b0aa2a3e56a633d8..bdcedc5bb4d4589201549b2d9a301a0affbe3d27 100644 GIT binary patch literal 131572 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 H>>~dU_~n)s literal 129877 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 z

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 F{U0j~O1J<3 diff --git a/NewHorizons/Builder/ShipLog/MapModeBuilder.cs b/NewHorizons/Builder/ShipLog/MapModeBuilder.cs index 15e344901..60e0e8795 100644 --- a/NewHorizons/Builder/ShipLog/MapModeBuilder.cs +++ b/NewHorizons/Builder/ShipLog/MapModeBuilder.cs @@ -148,6 +148,7 @@ private static ShipLogAstroObject AddShipLogAstroObject(GameObject gameObject, N astroObject._imageObj = CreateImage(gameObject, image, body.Config.name + " Revealed", layer); astroObject._outlineObj = CreateImage(gameObject, outline, body.Config.name + " Outline", layer); + if (ShipLogHandler.BodyHasEntries(body)) { Image revealedImage = astroObject._imageObj.GetComponent(); @@ -162,6 +163,12 @@ private static ShipLogAstroObject AddShipLogAstroObject(GameObject gameObject, N Rect imageRect = astroObject._imageObj.GetComponent().rect; astroObject._unviewedObj.transform.localPosition = new Vector3(imageRect.width / 2 + unviewedIconOffset, imageRect.height / 2 + unviewedIconOffset, 0); + + // Set all icons inactive, they will be conditionally activated when the map mode is opened for the first time + astroObject._unviewedObj.SetActive(false); + astroObject._imageObj.SetActive(false); + astroObject._outlineObj.SetActive(false); + return astroObject; } #endregion diff --git a/NewHorizons/Patches/ShipLogPatches/ShipLogAstroObjectPatches.cs b/NewHorizons/Patches/ShipLogPatches/ShipLogAstroObjectPatches.cs index ba3c0e337..abfc67a8a 100644 --- a/NewHorizons/Patches/ShipLogPatches/ShipLogAstroObjectPatches.cs +++ b/NewHorizons/Patches/ShipLogPatches/ShipLogAstroObjectPatches.cs @@ -25,9 +25,32 @@ public static bool ShipLogAstroObject_GetName(ShipLogAstroObject __instance, ref } } + [HarmonyPrefix] + [HarmonyPatch(nameof(ShipLogAstroObject.UpdateState))] + public static bool ShipLogAstroObject_UpdateState_Pre(ShipLogAstroObject __instance) + { + // Custom astro objects might have no entries, in this case they will be permanently hidden + // Just treat it as if it were revealed + if (__instance._entries.Count == 0) + { + __instance._state = ShipLogEntry.State.Explored; + __instance._imageObj.SetActive(true); + __instance._outlineObj?.SetActive(false); + if (__instance._image != null) + { + __instance.SetMaterialGreyscale(false); + __instance._image.color = Color.white; + } + + return false; + } + + return true; + } + [HarmonyPostfix] [HarmonyPatch(nameof(ShipLogAstroObject.UpdateState))] - public static void ShipLogAstroObject_UpdateState(ShipLogAstroObject __instance) + public static void ShipLogAstroObject_UpdateState_Post(ShipLogAstroObject __instance) { Transform detailsParent = __instance.transform.Find("Details"); if (detailsParent != null) From 738c41701a819193680500ffed9db8af63da287b Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 13:08:53 -0400 Subject: [PATCH 22/42] Fix ship not being added to volumes --- NewHorizons/Handlers/PlayerSpawnHandler.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/NewHorizons/Handlers/PlayerSpawnHandler.cs b/NewHorizons/Handlers/PlayerSpawnHandler.cs index 223806651..4a569ec35 100644 --- a/NewHorizons/Handlers/PlayerSpawnHandler.cs +++ b/NewHorizons/Handlers/PlayerSpawnHandler.cs @@ -115,6 +115,23 @@ public static void SpawnShip() } // For some reason none of this seems to apply to the Player. // If somebody ever makes a sound volume thats somehow always applying to the player tho then itd probably be this + + + // Sometimes the ship isn't added to the volumes it's meant to now be in + // We'll just toggle all volumes on the planet on and off + var shipDetector = Locator.GetShipDetector().GetComponent(); + var shipDetector2 = Locator.GetShipDetector().GetComponent(); + foreach (var volume in SpawnPointBuilder.ShipSpawn.GetAttachedOWRigidbody().GetComponentsInChildren()) + { + if (volume.GetOWTriggerVolume().GetDistanceToBoundary(ship.transform.position) <= 0) + { + // Add ship to volume + // If it's already tracking it it will complain here but thats fine + shipDetector.AddVolume(volume); + shipDetector2.AddVolume(volume); + volume.GetOWTriggerVolume().AddObjectToVolume(shipDetector.gameObject); + } + } } } else if (Main.Instance.CurrentStarSystem != "SolarSystem" && !Main.Instance.IsWarpingFromShip) From 086757a46c386de56c71ae99811e7884f7567a3c Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 13:19:51 -0400 Subject: [PATCH 23/42] Actually account for it being in the volume or not --- NewHorizons/Handlers/PlayerSpawnHandler.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/Handlers/PlayerSpawnHandler.cs b/NewHorizons/Handlers/PlayerSpawnHandler.cs index 4a569ec35..03b0cabac 100644 --- a/NewHorizons/Handlers/PlayerSpawnHandler.cs +++ b/NewHorizons/Handlers/PlayerSpawnHandler.cs @@ -123,7 +123,7 @@ public static void SpawnShip() var shipDetector2 = Locator.GetShipDetector().GetComponent(); foreach (var volume in SpawnPointBuilder.ShipSpawn.GetAttachedOWRigidbody().GetComponentsInChildren()) { - if (volume.GetOWTriggerVolume().GetDistanceToBoundary(ship.transform.position) <= 0) + if (volume.GetOWTriggerVolume().GetPenetrationDistance(ship.transform.position) > 0) { // Add ship to volume // If it's already tracking it it will complain here but thats fine From 962e04994b567f792fd709af691eda809ed8d320 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 15:10:39 -0400 Subject: [PATCH 24/42] Fix signal related bugs, save only when base game does --- .../Builder/Props/Audio/SignalBuilder.cs | 53 +++++++++++-------- NewHorizons/External/NewHorizonsData.cs | 11 ++-- .../PlayerPatches/PlayerDataPatches.cs | 15 +++--- .../SignalPatches/SignalscopePatches.cs | 13 +++-- 4 files changed, 52 insertions(+), 40 deletions(-) diff --git a/NewHorizons/Builder/Props/Audio/SignalBuilder.cs b/NewHorizons/Builder/Props/Audio/SignalBuilder.cs index 66a86061d..b5fbfaf04 100644 --- a/NewHorizons/Builder/Props/Audio/SignalBuilder.cs +++ b/NewHorizons/Builder/Props/Audio/SignalBuilder.cs @@ -1,9 +1,11 @@ using HarmonyLib; +using NewHorizons.External; using NewHorizons.External.Modules.Props.Audio; using NewHorizons.Utility; using NewHorizons.Utility.OWML; using OWML.Common; using OWML.Utils; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -36,27 +38,16 @@ public static void Init() }; NumberOfFrequencies = EnumUtils.GetValues().Length; - _qmSignals = new (){ SearchUtilities.Find("QuantumMoon_Body/Signal_Quantum").GetComponent() }; + _qmSignals = new () { SearchUtilities.Find("QuantumMoon_Body/Signal_Quantum").GetComponent() }; _cloakedSignals = new(); Initialized = true; SceneManager.sceneUnloaded -= OnSceneUnloaded; SceneManager.sceneUnloaded += OnSceneUnloaded; - Main.Instance.OnStarSystemLoaded.RemoveListener(OnStarSystemLoaded); - Main.Instance.OnStarSystemLoaded.AddListener(OnStarSystemLoaded); - } - - private static HashSet _frequenciesInUse = new(); - - private static void OnSceneUnloaded(Scene _) - { - _frequenciesInUse.Clear(); - } - private static void OnStarSystemLoaded(string starSystem) - { // If its the base game solar system or eye we get all the main frequencies + var starSystem = Main.Instance.CurrentStarSystem; if (starSystem == "SolarSystem" || starSystem == "EyeOfTheUniverse") { _frequenciesInUse.Add(SignalFrequency.Quantum); @@ -69,19 +60,43 @@ private static void OnStarSystemLoaded(string starSystem) // We don't want a scenario where the player knows no frequencies _frequenciesInUse.Add(SignalFrequency.Traveler); + // Make sure the NH save file has all the right frequencies + // Skip "default" + for (int i = 1; i < PlayerData._currentGameSave.knownFrequencies.Length; i++) + { + if (PlayerData._currentGameSave.knownFrequencies[i]) + { + NewHorizonsData.LearnFrequency(AudioSignal.IndexToFrequency(i).ToString()); + } + } + NHLogger.LogVerbose($"Frequencies in use in {starSystem}: {_frequenciesInUse.Join(x => x.ToString())}"); } + private static HashSet _frequenciesInUse = new(); + + private static void OnSceneUnloaded(Scene _) + { + _frequenciesInUse.Clear(); + } + public static bool IsFrequencyInUse(SignalFrequency freq) => _frequenciesInUse.Contains(freq); + public static bool IsFrequencyInUse(string freqString) + { + if (Enum.TryParse(freqString, out var freq)) + { + return IsFrequencyInUse(freq); + } + return false; + } + public static bool IsCloaked(this AudioSignal signal) => _cloakedSignals.Contains(signal); public static bool IsOnQuantumMoon(this AudioSignal signal) => _qmSignals.Contains(signal); public static SignalFrequency AddFrequency(string str) { - if (_customFrequencyNames == null) Init(); - var freq = CollectionUtilities.KeyByValue(_customFrequencyNames, str); if (freq != default) return freq; @@ -99,23 +114,19 @@ public static SignalFrequency AddFrequency(string str) NumberOfFrequencies = EnumUtils.GetValues().Length; // This stuff happens after the signalscope is Awake so we have to change the number of frequencies now - Object.FindObjectOfType()._strongestSignals = new AudioSignal[NumberOfFrequencies + 1]; + GameObject.FindObjectOfType()._strongestSignals = new AudioSignal[NumberOfFrequencies + 1]; return freq; } public static string GetCustomFrequencyName(SignalFrequency frequencyName) { - if (_customFrequencyNames == null) Init(); - _customFrequencyNames.TryGetValue(frequencyName, out string name); return name; } public static SignalName AddSignalName(string str) { - if (_customSignalNames == null) Init(); - var name = CollectionUtilities.KeyByValue(_customSignalNames, str); if (name != default) return name; @@ -129,8 +140,6 @@ public static SignalName AddSignalName(string str) public static string GetCustomSignalName(SignalName signalName) { - if (_customSignalNames == null) Init(); - _customSignalNames.TryGetValue(signalName, out string name); return name; } diff --git a/NewHorizons/External/NewHorizonsData.cs b/NewHorizons/External/NewHorizonsData.cs index b691b622f..63a623929 100644 --- a/NewHorizons/External/NewHorizonsData.cs +++ b/NewHorizons/External/NewHorizonsData.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using System.Linq; +using NewHorizons.Builder.Props.Audio; using NewHorizons.Utility.OWML; namespace NewHorizons.External @@ -124,7 +126,6 @@ public static void LearnFrequency(string frequency) if (!KnowsFrequency(frequency)) { _activeProfile.KnownFrequencies.Add(frequency); - Save(); } } @@ -134,13 +135,12 @@ public static void ForgetFrequency(string frequency) if (KnowsFrequency(frequency)) { _activeProfile.KnownFrequencies.Remove(frequency); - Save(); } } public static bool KnowsMultipleFrequencies() { - return _activeProfile != null && _activeProfile.KnownFrequencies.Count > 0; + return _activeProfile?.KnownFrequencies != null && _activeProfile.KnownFrequencies.Count(SignalBuilder.IsFrequencyInUse) > 1; } #endregion @@ -159,7 +159,6 @@ public static void LearnSignal(string signal) if (!KnowsSignal(signal)) { _activeProfile.KnownSignals.Add(signal); - Save(); } } @@ -170,7 +169,6 @@ public static void LearnSignal(string signal) public static void AddNewlyRevealedFactID(string id) { _activeProfile?.NewlyRevealedFactIDs.Add(id); - Save(); } public static List GetNewlyRevealedFactIDs() @@ -181,7 +179,6 @@ public static List GetNewlyRevealedFactIDs() public static void ClearNewlyRevealedFactIDs() { _activeProfile?.NewlyRevealedFactIDs.Clear(); - Save(); } #endregion @@ -191,7 +188,6 @@ public static void ClearNewlyRevealedFactIDs() public static void ReadOneTimePopup(string id) { _activeProfile?.PopupsRead.Add(id); - Save(); } public static bool HasReadOneTimePopup(string id) @@ -208,7 +204,6 @@ public static void OnTalkedToCharacter(string name) { if (name == CharacterDialogueTree.RECORDING_NAME || name == CharacterDialogueTree.SIGN_NAME) return; _activeProfile?.CharactersTalkedTo.SafeAdd(name); - Save(); } public static bool HasTalkedToFiveCharacters() diff --git a/NewHorizons/Patches/PlayerPatches/PlayerDataPatches.cs b/NewHorizons/Patches/PlayerPatches/PlayerDataPatches.cs index 16056c7bf..6785a8a29 100644 --- a/NewHorizons/Patches/PlayerPatches/PlayerDataPatches.cs +++ b/NewHorizons/Patches/PlayerPatches/PlayerDataPatches.cs @@ -85,12 +85,8 @@ public static bool PlayerData_LearnSignal(SignalName signalName) [HarmonyPatch(nameof(PlayerData.KnowsMultipleFrequencies))] public static bool PlayerData_KnowsMultipleFrequencies(ref bool __result) { - if (NewHorizonsData.KnowsMultipleFrequencies()) - { - __result = true; - return false; - } - return true; + __result = NewHorizonsData.KnowsMultipleFrequencies(); + return false; } [HarmonyPrefix] @@ -140,5 +136,12 @@ public static void PlayerData_ResetGame() { NewHorizonsData.Reset(); } + + [HarmonyPostfix] + [HarmonyPatch(nameof(PlayerData.SaveCurrentGame))] + public static void PlayerData_SaveCurrentGame() + { + NewHorizonsData.Save(); + } } } diff --git a/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs b/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs index 12c54db5e..232b2d982 100644 --- a/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs +++ b/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs @@ -1,5 +1,6 @@ using HarmonyLib; using NewHorizons.Builder.Props.Audio; +using NewHorizons.Utility.OWML; namespace NewHorizons.Patches.SignalPatches { @@ -19,13 +20,17 @@ public static bool Signalscope_SwitchFrequencyFilter(Signalscope __instance, int { var count = SignalBuilder.NumberOfFrequencies; __instance._frequencyFilterIndex += increment; - __instance._frequencyFilterIndex = __instance._frequencyFilterIndex >= count ? 0 : __instance._frequencyFilterIndex; - __instance._frequencyFilterIndex = __instance._frequencyFilterIndex < 0 ? count - 1 : __instance._frequencyFilterIndex; + __instance._frequencyFilterIndex = __instance._frequencyFilterIndex >= count ? 1 : __instance._frequencyFilterIndex; + __instance._frequencyFilterIndex = __instance._frequencyFilterIndex < 1 ? count - 1 : __instance._frequencyFilterIndex; var signalFrequency = AudioSignal.IndexToFrequency(__instance._frequencyFilterIndex); + NHLogger.Log($"Changed freq to {signalFrequency} at {__instance._frequencyFilterIndex}"); + // Skip over this frequency - var isUnknown = !PlayerData.KnowsFrequency(signalFrequency) && !(__instance._isUnknownFreqNearby && __instance._unknownFrequency == signalFrequency); - if (isUnknown || !SignalBuilder.IsFrequencyInUse(signalFrequency)) + // Never skip traveler (always known) + var isTraveler = __instance._frequencyFilterIndex == 1; + var isUnknown = !PlayerData.KnowsFrequency(signalFrequency) && (!__instance._isUnknownFreqNearby || __instance._unknownFrequency != signalFrequency); + if (!isTraveler && (isUnknown || !SignalBuilder.IsFrequencyInUse(signalFrequency))) { __instance.SwitchFrequencyFilter(increment); } From 14d75ff2164f0f5a5b2538de675716d1e677697e Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 17:58:14 -0400 Subject: [PATCH 25/42] add to volume simpler --- NewHorizons/Handlers/PlayerSpawnHandler.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/NewHorizons/Handlers/PlayerSpawnHandler.cs b/NewHorizons/Handlers/PlayerSpawnHandler.cs index 03b0cabac..40670ad88 100644 --- a/NewHorizons/Handlers/PlayerSpawnHandler.cs +++ b/NewHorizons/Handlers/PlayerSpawnHandler.cs @@ -116,20 +116,14 @@ public static void SpawnShip() // For some reason none of this seems to apply to the Player. // If somebody ever makes a sound volume thats somehow always applying to the player tho then itd probably be this - // Sometimes the ship isn't added to the volumes it's meant to now be in - // We'll just toggle all volumes on the planet on and off - var shipDetector = Locator.GetShipDetector().GetComponent(); - var shipDetector2 = Locator.GetShipDetector().GetComponent(); foreach (var volume in SpawnPointBuilder.ShipSpawn.GetAttachedOWRigidbody().GetComponentsInChildren()) { if (volume.GetOWTriggerVolume().GetPenetrationDistance(ship.transform.position) > 0) { // Add ship to volume // If it's already tracking it it will complain here but thats fine - shipDetector.AddVolume(volume); - shipDetector2.AddVolume(volume); - volume.GetOWTriggerVolume().AddObjectToVolume(shipDetector.gameObject); + volume.GetOWTriggerVolume().AddObjectToVolume(Locator.GetShipDetector()); } } } From 1e7b9f1e8c6c05d5f6774ed59aebdad1b2e2e190 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 18:28:13 -0400 Subject: [PATCH 26/42] Update SignalscopePatches.cs --- NewHorizons/Patches/SignalPatches/SignalscopePatches.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs b/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs index 232b2d982..2b91dc729 100644 --- a/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs +++ b/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs @@ -20,8 +20,9 @@ public static bool Signalscope_SwitchFrequencyFilter(Signalscope __instance, int { var count = SignalBuilder.NumberOfFrequencies; __instance._frequencyFilterIndex += increment; - __instance._frequencyFilterIndex = __instance._frequencyFilterIndex >= count ? 1 : __instance._frequencyFilterIndex; - __instance._frequencyFilterIndex = __instance._frequencyFilterIndex < 1 ? count - 1 : __instance._frequencyFilterIndex; + // Base game does 1 here but we use frequency index 0 as "default" or "???" + __instance._frequencyFilterIndex = __instance._frequencyFilterIndex >= count ? 0 : __instance._frequencyFilterIndex; + __instance._frequencyFilterIndex = __instance._frequencyFilterIndex < 0 ? count - 1 : __instance._frequencyFilterIndex; var signalFrequency = AudioSignal.IndexToFrequency(__instance._frequencyFilterIndex); NHLogger.Log($"Changed freq to {signalFrequency} at {__instance._frequencyFilterIndex}"); From e5f4d30e52b435ba2d3a3f304366330c3f7ef7c1 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 18:28:28 -0400 Subject: [PATCH 27/42] Update manifest.json --- NewHorizons/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index 1acb14fb7..6ce4e38f2 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -4,7 +4,7 @@ "author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends", "name": "New Horizons", "uniqueName": "xen.NewHorizons", - "version": "1.19.6", + "version": "1.19.7", "owmlVersion": "2.10.3", "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ], From 8b314058cb6b2e46531f0ab99d8ba9cad5f177ca Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 22:57:14 -0400 Subject: [PATCH 28/42] Fix bramble signal propagation when parentPath is specified --- NewHorizons/Builder/Props/BrambleNodeBuilder.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs index 2aa1075e7..99703ef86 100644 --- a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs +++ b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs @@ -6,6 +6,7 @@ using NewHorizons.Utility; using NewHorizons.Utility.OuterWilds; using NewHorizons.Utility.OWML; +using Newtonsoft.Json; using OWML.Common; using System.Collections.Generic; using System.Linq; @@ -414,6 +415,12 @@ public static GameObject Make(GameObject go, Sector sector, BrambleNodeInfo conf { foreach (var signalConfig in connectedSignals) { + // Have to ensure that this new signal doesn't use parent path, else it looks for a parent that only exists on the original body + // Have to make a copy of it as well to avoid modifying the old body's info + var signalConfigCopy = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(signalConfig)); + signalConfigCopy.parentPath = null; + signalConfigCopy.isRelativeToParent = false; + var signalGO = SignalBuilder.Make(go, sector, signalConfig, mod); signalGO.GetComponent()._identificationDistance = 0; signalGO.GetComponent()._sourceRadius = 1; From 136176ddff1817c19a3606e8d9dad1676e0971f0 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 25 Mar 2024 23:54:36 -0400 Subject: [PATCH 29/42] Null check under bramble sector controller --- .../Sectored/BrambleSectorController.cs | 49 ++++++++----------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/NewHorizons/Components/Sectored/BrambleSectorController.cs b/NewHorizons/Components/Sectored/BrambleSectorController.cs index 3d48e53ae..3dd646aa9 100644 --- a/NewHorizons/Components/Sectored/BrambleSectorController.cs +++ b/NewHorizons/Components/Sectored/BrambleSectorController.cs @@ -54,54 +54,45 @@ private void OnSectorOccupantsUpdated() } } - private void EnableRenderers() - { - foreach (var renderer in _renderers) - { - renderer.forceRenderingOff = false; - } + private void EnableRenderers() => ToggleRenderers(true); - foreach (var tessellatedRenderer in _tessellatedRenderers) - { - tessellatedRenderer.enabled = true; - } - - foreach (var collider in _colliders) - { - collider.enabled = true; - } - - foreach (var light in _lights) - { - light.enabled = true; - } - - _renderersShown = true; - } + private void DisableRenderers() => ToggleRenderers(false); - private void DisableRenderers() + private void ToggleRenderers(bool visible) { foreach (var renderer in _renderers) { - renderer.forceRenderingOff = true; + if (renderer != null) + { + renderer.forceRenderingOff = visible; + } } foreach (var tessellatedRenderer in _tessellatedRenderers) { - tessellatedRenderer.enabled = false; + if (tessellatedRenderer != null) + { + tessellatedRenderer.enabled = visible; + } } foreach (var collider in _colliders) { - collider.enabled = false; + if (collider != null) + { + collider.enabled = visible; + } } foreach (var light in _lights) { - light.enabled = false; + if (light != null) + { + light.enabled = visible; + } } - _renderersShown = false; + _renderersShown = visible; } } } From f24c0f5c4e7084181c114792ec86c55697b95b4a Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 26 Mar 2024 00:09:27 -0400 Subject: [PATCH 30/42] Just get all the children each time --- .../Sectored/BrambleSectorController.cs | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/NewHorizons/Components/Sectored/BrambleSectorController.cs b/NewHorizons/Components/Sectored/BrambleSectorController.cs index 3dd646aa9..00077c256 100644 --- a/NewHorizons/Components/Sectored/BrambleSectorController.cs +++ b/NewHorizons/Components/Sectored/BrambleSectorController.cs @@ -33,13 +33,16 @@ private void OnDestroy() } private void Start() + { + DisableRenderers(); + } + + private void GetRenderers() { _renderers = gameObject.GetComponentsInChildren(); _tessellatedRenderers = gameObject.GetComponentsInChildren(); _colliders = gameObject.GetComponentsInChildren(); _lights = gameObject.GetComponentsInChildren(); - - DisableRenderers(); } private void OnSectorOccupantsUpdated() @@ -60,36 +63,26 @@ private void OnSectorOccupantsUpdated() private void ToggleRenderers(bool visible) { + GetRenderers(); + foreach (var renderer in _renderers) { - if (renderer != null) - { - renderer.forceRenderingOff = visible; - } + renderer.forceRenderingOff = !visible; } foreach (var tessellatedRenderer in _tessellatedRenderers) { - if (tessellatedRenderer != null) - { - tessellatedRenderer.enabled = visible; - } + tessellatedRenderer.enabled = visible; } foreach (var collider in _colliders) { - if (collider != null) - { - collider.enabled = visible; - } + collider.enabled = visible; } foreach (var light in _lights) { - if (light != null) - { - light.enabled = visible; - } + light.enabled = visible; } _renderersShown = visible; From fdaaa765883e60b52a9e4057303e26166a7e8c4e Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 26 Mar 2024 00:13:15 -0400 Subject: [PATCH 31/42] Forgot to use the copy --- NewHorizons/Builder/Props/BrambleNodeBuilder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs index 99703ef86..82e85a123 100644 --- a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs +++ b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs @@ -421,7 +421,7 @@ public static GameObject Make(GameObject go, Sector sector, BrambleNodeInfo conf signalConfigCopy.parentPath = null; signalConfigCopy.isRelativeToParent = false; - var signalGO = SignalBuilder.Make(go, sector, signalConfig, mod); + var signalGO = SignalBuilder.Make(go, sector, signalConfigCopy, mod); signalGO.GetComponent()._identificationDistance = 0; signalGO.GetComponent()._sourceRadius = 1; signalGO.transform.position = brambleNode.transform.position; From 8f40db40b3b11e877728e7568214218252d402a1 Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 28 Mar 2024 00:57:49 -0400 Subject: [PATCH 32/42] Fix compat issue with Visible Stranger where the probe marker would vanish --- .../Patches/HUDPatches/ProbeHUDMarkerPatches.cs | 15 +++++++++++---- NewHorizons/Utility/OWML/NHLogger.cs | 7 +++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/NewHorizons/Patches/HUDPatches/ProbeHUDMarkerPatches.cs b/NewHorizons/Patches/HUDPatches/ProbeHUDMarkerPatches.cs index 15da0b12b..b0c31daa7 100644 --- a/NewHorizons/Patches/HUDPatches/ProbeHUDMarkerPatches.cs +++ b/NewHorizons/Patches/HUDPatches/ProbeHUDMarkerPatches.cs @@ -1,6 +1,7 @@ using HarmonyLib; using NewHorizons.Components.Sectored; using NewHorizons.Handlers; +using NewHorizons.Utility.OWML; namespace NewHorizons.Patches.HUDPatches { @@ -27,15 +28,21 @@ public static void ProbeHUDMarker_OnDestroy(ProbeHUDMarker __instance) [HarmonyPatch(nameof(ProbeHUDMarker.RefreshOwnVisibility))] public static bool ProbeHUDMarker_RefreshOwnVisibility(ProbeHUDMarker __instance) { + // Probe marker seems to never appear in the eye or QM in base game (inside eye being past the vortex) ?? at least thats what its code implies bool insideEYE = Locator.GetEyeStateManager() != null && Locator.GetEyeStateManager().IsInsideTheEye(); bool insideQM = __instance._quantumMoon != null && (__instance._quantumMoon.IsPlayerInside() || __instance._quantumMoon.IsProbeInside()); - bool insideRW = Locator.GetRingWorldController() != null && Locator.GetRingWorldController().isPlayerInside == Locator.GetRingWorldController().isProbeInside; - bool insideIP = Locator.GetCloakFieldController() != null && Locator.GetCloakFieldController().isPlayerInsideCloak == Locator.GetCloakFieldController().isProbeInsideCloak; - bool insideCloak = CloakSectorController.isPlayerInside == CloakSectorController.isProbeInside; + + // Either the controllers wtv are null or the player and probe state are the same + bool sameRW = Locator.GetRingWorldController() == null || Locator.GetRingWorldController().isPlayerInside == Locator.GetRingWorldController().isProbeInside; + bool sameIP = Locator.GetCloakFieldController() == null || Locator.GetCloakFieldController().isPlayerInsideCloak == Locator.GetCloakFieldController().isProbeInsideCloak; + bool sameCloak = CloakSectorController.isPlayerInside == CloakSectorController.isProbeInside; bool sameInterference = InterferenceHandler.IsPlayerSameAsProbe(); + bool isActive = __instance.gameObject.activeInHierarchy || __instance._isTLCDuplicate; - __instance._isVisible = isActive && !insideEYE && !insideQM && !__instance._translatorEquipped && !__instance._inConversation && __instance._launched && (__instance._isWearingHelmet || __instance._atFlightConsole) && insideRW && insideIP && insideCloak && sameInterference; + __instance._isVisible = isActive && !insideEYE && !insideQM && !__instance._translatorEquipped + && !__instance._inConversation && __instance._launched && (__instance._isWearingHelmet || __instance._atFlightConsole) + && sameRW && sameIP && sameCloak && sameInterference; if (__instance._canvasMarker != null) __instance._canvasMarker.SetVisibility(__instance._isVisible); diff --git a/NewHorizons/Utility/OWML/NHLogger.cs b/NewHorizons/Utility/OWML/NHLogger.cs index 080cdcad3..c539f43fb 100644 --- a/NewHorizons/Utility/OWML/NHLogger.cs +++ b/NewHorizons/Utility/OWML/NHLogger.cs @@ -19,10 +19,17 @@ private static void Log(object text, LogType type) Main.Instance.ModHelper.Console.WriteLine($"{Enum.GetName(typeof(LogType), type)} : {text}", LogTypeToMessageType(type)); } + public static void LogVerbose(params object[] obj) => LogVerbose(string.Join(", ", obj)); public static void LogVerbose(object text) => Log(text, LogType.Verbose); + public static void Log(object text) => Log(text, LogType.Log); + public static void Log(params object[] obj) => Log(string.Join(", ", obj)); + public static void LogWarning(object text) => Log(text, LogType.Warning); + public static void LogWarning(params object[] obj) => LogWarning(string.Join(", ", obj)); + public static void LogError(object text) => Log(text, LogType.Error); + public static void LogError(params object[] obj) => LogError(string.Join(", ", obj)); public enum LogType { From fac769aa578d3df78d92353875637ae4cab89b67 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Sun, 31 Mar 2024 03:32:50 -0400 Subject: [PATCH 33/42] make collider radius 0 Fixes #834 --- NewHorizons/Builder/General/RFVolumeBuilder.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NewHorizons/Builder/General/RFVolumeBuilder.cs b/NewHorizons/Builder/General/RFVolumeBuilder.cs index f359a7e0b..f8fa8aa85 100644 --- a/NewHorizons/Builder/General/RFVolumeBuilder.cs +++ b/NewHorizons/Builder/General/RFVolumeBuilder.cs @@ -12,6 +12,8 @@ public static GameObject Make(GameObject planetGO, OWRigidbody owrb, float spher { // We can't not build a reference frame volume, Cloak requires one to be there module.maxTargetDistance = 0f; + module.targetWhenClose = true; + module.targetColliderRadius = 0f; module.hideInMap = true; owrb.SetIsTargetable(false); } From f7dfe685ceed8b870a67473e040675ede500cb97 Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 1 Apr 2024 00:05:12 -0400 Subject: [PATCH 34/42] Update manifest.json --- NewHorizons/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index 6ce4e38f2..db6a90ba3 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -4,7 +4,7 @@ "author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends", "name": "New Horizons", "uniqueName": "xen.NewHorizons", - "version": "1.19.7", + "version": "1.19.8", "owmlVersion": "2.10.3", "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ], From 630ee9e37597e9f22649042f5a8e78564114b23b Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 3 Apr 2024 11:28:20 -0400 Subject: [PATCH 35/42] Fix falling back to english failing --- NewHorizons/Handlers/TranslationHandler.cs | 48 +++++++++++++++------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/NewHorizons/Handlers/TranslationHandler.cs b/NewHorizons/Handlers/TranslationHandler.cs index d8130aa83..c2f49ebf8 100644 --- a/NewHorizons/Handlers/TranslationHandler.cs +++ b/NewHorizons/Handlers/TranslationHandler.cs @@ -2,9 +2,11 @@ using NewHorizons.Utility; using NewHorizons.Utility.OWML; using System; +using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; +using static TextTranslation; namespace NewHorizons.Handlers { @@ -50,30 +52,46 @@ public static string GetTranslation(string text, TextType type, bool warn) } // Get the translated text - if (dictionary.TryGetValue(language, out var table)) + if (TryGetTranslatedText(dictionary, language, text, out var translatedText)) { - if (table.TryGetValue(text, out var translatedText)) + return translatedText; + } + + if (warn) + { + NHLogger.LogVerbose($"Defaulting to english for {text}"); + } + + if (TryGetTranslatedText(dictionary, Language.ENGLISH, text, out translatedText)) + { + return translatedText; + } + + if (warn) + { + NHLogger.LogVerbose($"Defaulting to key for {text}"); + } + + return text; + } + + private static bool TryGetTranslatedText(Dictionary> dict, Language language, string text, out string translatedText) + { + if (dict.TryGetValue(language, out var table)) + { + if (table.TryGetValue(text, out translatedText)) { - return translatedText; + return true; } // Try without whitespace if its missing else if (table.TryGetValue(text.TruncateWhitespaceAndToLower(), out translatedText)) { - return translatedText; + return true; } } - if (warn) NHLogger.LogVerbose($"Defaulting to english for {text}"); - - // Try to default to English - if (dictionary.TryGetValue(TextTranslation.Language.ENGLISH, out var englishTable)) - if (englishTable.TryGetValue(text, out var englishText)) - return englishText; - - if (warn) NHLogger.LogVerbose($"Defaulting to key for {text}"); - - // Default to the key - return text; + translatedText = null; + return false; } public static void RegisterTranslation(TextTranslation.Language language, TranslationConfig config) From 2e18d7bca61c45d9493aae42469373dd67587a8e Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 9 Apr 2024 10:14:16 -0400 Subject: [PATCH 36/42] Prepend new dialogue options to top of list --- NewHorizons/Builder/Props/DialogueBuilder.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Builder/Props/DialogueBuilder.cs b/NewHorizons/Builder/Props/DialogueBuilder.cs index 4daabe4ae..429626e55 100644 --- a/NewHorizons/Builder/Props/DialogueBuilder.cs +++ b/NewHorizons/Builder/Props/DialogueBuilder.cs @@ -102,10 +102,12 @@ private static CharacterDialogueTree AddToExistingDialogue(DialogueInfo info, st // We just have to merge the dialogue options var dialogueOptions = newDialogueNode.GetChildNode("DialogueOptionsList").GetChildNodes("DialogueOption"); var existingDialogueOptionsList = existingNode.GetChildNode("DialogueOptionsList"); + var firstNode = existingDialogueOptionsList.ChildNodes[0]; foreach (XmlNode node in dialogueOptions) { var importedNode = existingDialogueOptionsList.OwnerDocument.ImportNode(node, true); - existingDialogueOptionsList.AppendChild(importedNode); + // We add them to the start because normally the last option is to return to menu or exit + existingDialogueOptionsList.PrependChild(importedNode); } } else From 8230427e53e0c20792d813e92052bca2c8717fae Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 9 Apr 2024 10:24:01 -0400 Subject: [PATCH 37/42] Add some more people to the credits --- NewHorizons/Assets/addon-manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NewHorizons/Assets/addon-manifest.json b/NewHorizons/Assets/addon-manifest.json index 363bc1bbb..b5a71ba27 100644 --- a/NewHorizons/Assets/addon-manifest.json +++ b/NewHorizons/Assets/addon-manifest.json @@ -10,7 +10,7 @@ "Trifid#Tester\n#Programmer", "Nageld#Programmer", "Ernesto#Fish", - "With help from#Raicuparta\n#dgarroDC\n#jtsalomo\n#and the modding community", + "With help from#Raicuparta\n#dgarroDC\n#jtsalomo\n#coderCleric\n#TRSasasusu\n#and the modding community", " ", "Based off Marshmallow made by#_nebula", "With help from#AmazingAlek\n#Raicuparta\n#and the Outer Wilds discord server", From b3da6970e15b657b21ef4a1cfcdf164f3e0a6fa8 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 10 Apr 2024 10:22:49 -0400 Subject: [PATCH 38/42] Update INewHorizons.cs --- NewHorizons/INewHorizons.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/NewHorizons/INewHorizons.cs b/NewHorizons/INewHorizons.cs index 4dfd2d1fd..713378023 100644 --- a/NewHorizons/INewHorizons.cs +++ b/NewHorizons/INewHorizons.cs @@ -1,4 +1,3 @@ -using NewHorizons.Handlers; using OWML.Common; using System; using System.Collections.Generic; From 0a1e5428e849ed94c29ca3ba2552e4c319694d4c Mon Sep 17 00:00:00 2001 From: Joshua Thome Date: Thu, 11 Apr 2024 10:34:58 -0500 Subject: [PATCH 39/42] Position and rotation offsets for custom item holding and socketing --- NewHorizons/Builder/Props/ItemBuilder.cs | 4 ++++ NewHorizons/Components/Props/NHItem.cs | 8 ++++++++ .../External/Modules/Props/Item/ItemInfo.cs | 16 ++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/NewHorizons/Builder/Props/ItemBuilder.cs b/NewHorizons/Builder/Props/ItemBuilder.cs index 78a866be0..2a678d585 100644 --- a/NewHorizons/Builder/Props/ItemBuilder.cs +++ b/NewHorizons/Builder/Props/ItemBuilder.cs @@ -51,6 +51,10 @@ public static NHItem MakeItem(GameObject go, GameObject planetGO, Sector sector, item.DisplayName = itemName; item.ItemType = itemType; item.Droppable = info.droppable; + item.HoldOffset = info.holdOffset ?? Vector3.zero; + item.HoldRotation = info.holdRotation ?? Vector3.zero; + item.SocketOffset = info.socketOffset ?? Vector3.zero; + item.SocketRotation = info.socketRotation ?? Vector3.zero; if (!string.IsNullOrEmpty(info.pickupAudio)) { item.PickupAudio = AudioTypeHandler.GetAudioType(info.pickupAudio, mod); diff --git a/NewHorizons/Components/Props/NHItem.cs b/NewHorizons/Components/Props/NHItem.cs index b21db7eaa..bdf3e388e 100644 --- a/NewHorizons/Components/Props/NHItem.cs +++ b/NewHorizons/Components/Props/NHItem.cs @@ -19,6 +19,10 @@ public class NHItem : OWItem public AudioType DropAudio; public AudioType SocketAudio; public AudioType UnsocketAudio; + public Vector3 HoldOffset; + public Vector3 HoldRotation; + public Vector3 SocketOffset; + public Vector3 SocketRotation; public string PickupCondition; public bool ClearPickupConditionOnDrop; public string PickupFact; @@ -42,6 +46,8 @@ public override bool CheckIsDroppable() public override void PickUpItem(Transform holdTranform) { base.PickUpItem(holdTranform); + transform.localPosition = HoldOffset; + transform.localEulerAngles = HoldRotation; TriggerPickupConditions(); PlayCustomSound(PickupAudio); } @@ -56,6 +62,8 @@ public override void DropItem(Vector3 position, Vector3 normal, Transform parent public override void SocketItem(Transform socketTransform, Sector sector) { base.SocketItem(socketTransform, sector); + transform.localPosition = SocketOffset; + transform.localEulerAngles = SocketRotation; TriggerDropConditions(); PlayCustomSound(SocketAudio); } diff --git a/NewHorizons/External/Modules/Props/Item/ItemInfo.cs b/NewHorizons/External/Modules/Props/Item/ItemInfo.cs index 6307db111..232531190 100644 --- a/NewHorizons/External/Modules/Props/Item/ItemInfo.cs +++ b/NewHorizons/External/Modules/Props/Item/ItemInfo.cs @@ -44,6 +44,22 @@ public class ItemInfo /// public MVector3 dropNormal; /// + /// A relative offset to apply to the item's position when holding it. The initial position varies for vanilla item types. + /// + public MVector3 holdOffset; + /// + /// A relative offset to apply to the item's rotation when holding it. + /// + public MVector3 holdRotation; + /// + /// A relative offset to apply to the item's position when placing it into a socket. + /// + public MVector3 socketOffset; + /// + /// A relative offset to apply to the item's rotation when placing it into a socket. + /// + public MVector3 socketRotation; + /// /// The audio to play when this item is picked up. Only applies to custom/non-vanilla item types. /// Can be a path to a .wav/.ogg/.mp3 file, or taken from the AudioClip list. /// From 811897279cce59c58e103ff84dfa3605008b0f15 Mon Sep 17 00:00:00 2001 From: Ben C Date: Thu, 11 Apr 2024 15:36:32 +0000 Subject: [PATCH 40/42] Updated Schemas --- NewHorizons/Schemas/body_schema.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/NewHorizons/Schemas/body_schema.json b/NewHorizons/Schemas/body_schema.json index d6356f75e..3e9321e86 100644 --- a/NewHorizons/Schemas/body_schema.json +++ b/NewHorizons/Schemas/body_schema.json @@ -1429,6 +1429,22 @@ "description": "The direction the item will be oriented when dropping it on the ground. Defaults to up (0, 1, 0).", "$ref": "#/definitions/MVector3" }, + "holdOffset": { + "description": "A relative offset to apply to the item's position when holding it. The initial position varies for vanilla item types.", + "$ref": "#/definitions/MVector3" + }, + "holdRotation": { + "description": "A relative offset to apply to the item's rotation when holding it.", + "$ref": "#/definitions/MVector3" + }, + "socketOffset": { + "description": "A relative offset to apply to the item's position when placing it into a socket.", + "$ref": "#/definitions/MVector3" + }, + "socketRotation": { + "description": "A relative offset to apply to the item's rotation when placing it into a socket.", + "$ref": "#/definitions/MVector3" + }, "pickupAudio": { "type": "string", "description": "The audio to play when this item is picked up. Only applies to custom/non-vanilla item types.\nCan be a path to a .wav/.ogg/.mp3 file, or taken from the AudioClip list." From 183db0aa6883ad1744cad53e876b3082b0b58f72 Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 11 Apr 2024 20:34:38 -0400 Subject: [PATCH 41/42] Fix using API to make nomai text always NREing --- .../Builder/Props/TranslatorText/TranslatorTextBuilder.cs | 2 +- NewHorizons/manifest.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/NewHorizons/Builder/Props/TranslatorText/TranslatorTextBuilder.cs b/NewHorizons/Builder/Props/TranslatorText/TranslatorTextBuilder.cs index 9ad3ba5cf..89b4249b5 100644 --- a/NewHorizons/Builder/Props/TranslatorText/TranslatorTextBuilder.cs +++ b/NewHorizons/Builder/Props/TranslatorText/TranslatorTextBuilder.cs @@ -476,7 +476,7 @@ internal static void RefreshArcs(NomaiWallText nomaiWallText, GameObject convers } ArcCacheData[] cachedData = null; - if (nhBody.Cache?.ContainsKey(cacheKey) ?? false) + if (nhBody?.Cache?.ContainsKey(cacheKey) ?? false) cachedData = nhBody.Cache.Get(cacheKey); var arranger = nomaiWallText.gameObject.AddComponent(); diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index db6a90ba3..224a57356 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -4,7 +4,7 @@ "author": "xen, Bwc9876, JohnCorby, MegaPiggy, Clay, Trifid, and friends", "name": "New Horizons", "uniqueName": "xen.NewHorizons", - "version": "1.19.8", + "version": "1.19.9", "owmlVersion": "2.10.3", "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "Raicuparta.QuantumSpaceBuddies", "PacificEngine.OW_CommonResources" ], From 0d99669f814972f59ada4fa3ccaaa4014caaef8e Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 11 Apr 2024 23:50:27 -0400 Subject: [PATCH 42/42] Add mod unique id to NHAstroObject --- NewHorizons/Builder/General/AstroObjectBuilder.cs | 8 ++++++-- NewHorizons/Components/Orbital/NHAstroObject.cs | 5 +++++ NewHorizons/Handlers/PlanetCreationHandler.cs | 6 +++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/NewHorizons/Builder/General/AstroObjectBuilder.cs b/NewHorizons/Builder/General/AstroObjectBuilder.cs index 459667623..a2fc14106 100644 --- a/NewHorizons/Builder/General/AstroObjectBuilder.cs +++ b/NewHorizons/Builder/General/AstroObjectBuilder.cs @@ -1,6 +1,6 @@ using NewHorizons.Components; using NewHorizons.Components.Orbital; -using NewHorizons.External.Configs; +using NewHorizons.External; using NewHorizons.Utility.OWML; using UnityEngine; @@ -8,9 +8,13 @@ namespace NewHorizons.Builder.General { public static class AstroObjectBuilder { - public static NHAstroObject Make(GameObject body, AstroObject primaryBody, PlanetConfig config, bool isVanilla) + public static NHAstroObject Make(GameObject body, AstroObject primaryBody, NewHorizonsBody nhBody, bool isVanilla) { NHAstroObject astroObject = body.AddComponent(); + astroObject.modUniqueName = nhBody.Mod.ModHelper.Manifest.UniqueName; + + var config = nhBody.Config; + astroObject.isVanilla = isVanilla; astroObject.HideDisplayName = !config.Base.hasMapMarker; astroObject.invulnerableToSun = config.Base.invulnerableToSun; diff --git a/NewHorizons/Components/Orbital/NHAstroObject.cs b/NewHorizons/Components/Orbital/NHAstroObject.cs index ed51060c7..cb35f0597 100644 --- a/NewHorizons/Components/Orbital/NHAstroObject.cs +++ b/NewHorizons/Components/Orbital/NHAstroObject.cs @@ -14,6 +14,11 @@ public class NHAstroObject : AstroObject, IOrbitalParameters public bool invulnerableToSun; public bool isVanilla; + /// + /// The unique name of the mod that created this body or, if it is an existing body being edited, the last mod to edit it + /// + public string modUniqueName; + public void SetOrbitalParametersFromConfig(OrbitModule orbit) { SetOrbitalParametersFromTrueAnomaly(orbit.eccentricity, orbit.semiMajorAxis, orbit.inclination, orbit.argumentOfPeriapsis, orbit.longitudeOfAscendingNode, orbit.trueAnomaly); diff --git a/NewHorizons/Handlers/PlanetCreationHandler.cs b/NewHorizons/Handlers/PlanetCreationHandler.cs index a778b8ad2..75edb30a9 100644 --- a/NewHorizons/Handlers/PlanetCreationHandler.cs +++ b/NewHorizons/Handlers/PlanetCreationHandler.cs @@ -371,7 +371,7 @@ public static GameObject GenerateBrambleDimensionBody(NewHorizonsBody body) const float sphereOfInfluence = 2000f; var owRigidBody = RigidBodyBuilder.Make(go, sphereOfInfluence, body.Config); - var ao = AstroObjectBuilder.Make(go, null, body.Config, false); + var ao = AstroObjectBuilder.Make(go, null, body, false); var sector = SectorBuilder.Make(go, owRigidBody, sphereOfInfluence); ao._rootSector = sector; @@ -447,7 +447,7 @@ public static GameObject GenerateStandardBody(NewHorizonsBody body, bool default var sphereOfInfluence = GetSphereOfInfluence(body); var owRigidBody = RigidBodyBuilder.Make(go, sphereOfInfluence, body.Config); - var ao = AstroObjectBuilder.Make(go, primaryBody, body.Config, false); + var ao = AstroObjectBuilder.Make(go, primaryBody, body, false); var sector = SectorBuilder.Make(go, owRigidBody, sphereOfInfluence * 2f); ao._rootSector = sector; @@ -788,7 +788,7 @@ public static void UpdateBodyOrbit(NewHorizonsBody body, GameObject go) } // Just destroy the existing AO after copying everything over - var newAO = AstroObjectBuilder.Make(go, primary, body.Config, true); + var newAO = AstroObjectBuilder.Make(go, primary, body, true); newAO._gravityVolume = ao._gravityVolume; newAO._moon = ao._moon; newAO._name = ao._name;