diff --git a/NewHorizons/Builder/Props/Audio/SignalBuilder.cs b/NewHorizons/Builder/Props/Audio/SignalBuilder.cs index e3ba5aed..b3ef42bb 100644 --- a/NewHorizons/Builder/Props/Audio/SignalBuilder.cs +++ b/NewHorizons/Builder/Props/Audio/SignalBuilder.cs @@ -100,8 +100,6 @@ namespace NewHorizons.Builder.Props.Audio var freq = CollectionUtilities.KeyByValue(_customFrequencyNames, str); if (freq != default) return freq; - NHLogger.Log($"Registering new frequency name [{str}]"); - if (NumberOfFrequencies == 31) { NHLogger.LogWarning($"Can't store any more frequencies, skipping [{str}]"); @@ -111,10 +109,9 @@ namespace NewHorizons.Builder.Props.Audio freq = EnumUtilities.Create(str); _customFrequencyNames.Add(freq, str); - NumberOfFrequencies = EnumUtils.GetValues().Length; + NHLogger.Log($"Registered new frequency name [{str}] with value [{(int)freq}] and index [{AudioSignal.FrequencyToIndex(freq)}]"); - // This stuff happens after the signalscope is Awake so we have to change the number of frequencies now - GameObject.FindObjectOfType()._strongestSignals = new AudioSignal[NumberOfFrequencies + 1]; + NumberOfFrequencies = EnumUtils.GetValues().Length; return freq; } diff --git a/NewHorizons/Patches/SignalPatches/AudioSignalPatches.cs b/NewHorizons/Patches/SignalPatches/AudioSignalPatches.cs index a886b827..e9ce164b 100644 --- a/NewHorizons/Patches/SignalPatches/AudioSignalPatches.cs +++ b/NewHorizons/Patches/SignalPatches/AudioSignalPatches.cs @@ -45,7 +45,9 @@ namespace NewHorizons.Patches.SignalPatches SignalFrequency.HideAndSeek => 5, SignalFrequency.Radio => 6, SignalFrequency.Statue => 7, - _ => (int)(Mathf.Log((float)frequency) / Mathf.Log(2f)),// Frequencies are in powers of 2 + // Can't cast to int because floating point error, it was doing 12.9999999 -> 12 + // Frequencies are in powers of 2 + _ => Mathf.RoundToInt(Mathf.Log((float)frequency) / Mathf.Log(2f)), }; return false; } diff --git a/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs b/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs index 2b91dc72..97760b56 100644 --- a/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs +++ b/NewHorizons/Patches/SignalPatches/SignalscopePatches.cs @@ -11,7 +11,7 @@ namespace NewHorizons.Patches.SignalPatches [HarmonyPatch(nameof(Signalscope.Awake))] public static void Signalscope_Awake(Signalscope __instance) { - __instance._strongestSignals = new AudioSignal[8]; + __instance._strongestSignals = new AudioSignal[32]; } [HarmonyPrefix] diff --git a/NewHorizons/manifest.json b/NewHorizons/manifest.json index 75cd8f6b..b617161e 100644 --- a/NewHorizons/manifest.json +++ b/NewHorizons/manifest.json @@ -4,7 +4,7 @@ "author": "xen, Bwc9876, JohnCorby, MegaPiggy, and friends", "name": "New Horizons", "uniqueName": "xen.NewHorizons", - "version": "1.28.5", + "version": "1.28.6", "owmlVersion": "2.12.1", "dependencies": [ "JohnCorby.VanillaFix", "xen.CommonCameraUtility", "dgarro.CustomShipLogModes" ], "conflicts": [ "PacificEngine.OW_CommonResources" ], diff --git a/docs/src/content/docs/guides/nomai-text.md b/docs/src/content/docs/guides/nomai-text.md index 959aeeb4..df6fb82b 100644 --- a/docs/src/content/docs/guides/nomai-text.md +++ b/docs/src/content/docs/guides/nomai-text.md @@ -23,4 +23,6 @@ To unlock ship logs after reading each text block, add a `` n In your planet config, you must define where the Nomai text is positioned. See [the translator text json schema](/schemas/body-schema/defs/translatortextinfo/) for more info. -You can input a `seed` for a wall of text which will randomly generate the position of each arc. To test out different combinations, just keep incrementing the number and then hit "Reload Configs" from the pause menu with debug mode on. This seed ensures the same positioning each time the mod is played. Alternatively, you can use `arcInfo` to set the position and rotation of all text arcs, as well as determining their types (adult, teenager, child, or Stranger). The various age stages make the text look messier, while Stranger allows you to make a translatable version of the DLC text. \ No newline at end of file +You can input a `seed` for a wall of text which will randomly generate the position of each arc. To test out different combinations, just keep incrementing the number and then hit "Reload Configs" from the pause menu with debug mode on. This seed ensures the same positioning each time the mod is played. Alternatively, you can use `arcInfo` to set the position and rotation of all text arcs, as well as determining their types (adult, teenager, child, or Stranger). The various age stages make the text look messier, while Stranger allows you to make a translatable version of the DLC text. + +If you decide to arrange text manually in your mod, the [Unity Explorer](https://outerwildsmods.com/mods/unityexplorer/) and [Nomai Text Printer](https://github.com/coderCleric/NomaiTextPrinter) mods can make that much more convenient. \ No newline at end of file diff --git a/docs/src/content/docs/start-here/helpful-resources.md b/docs/src/content/docs/start-here/helpful-resources.md index 0ca13791..4ba3f2c8 100644 --- a/docs/src/content/docs/start-here/helpful-resources.md +++ b/docs/src/content/docs/start-here/helpful-resources.md @@ -56,6 +56,7 @@ These mods are useful when developing your addon - [Save Editor](https://outerwildsmods.com/mods/saveeditor) - Useful when creating a custom [ship log](/ship-log), can be used to reveal all custom facts so you can see them in the ship's computer. - [Time Saver](https://outerwildsmods.com/mods/timesaver/) - Lets you skip some repeated cutscenes and get into the game faster. - [The Examples Mod](https://github.com/Outer-Wilds-New-Horizons/nh-examples) - A mod that contains examples of how to use New Horizons features. +- [Nomai Text Printer](https://github.com/coderCleric/NomaiTextPrinter) - Useful for saving text changes (such as moving arcs with Unity Explorer) to your json files. ## Helpful Tools