diff --git a/MiraAPI/MiraApiSettings.cs b/MiraAPI/MiraApiSettings.cs index 0543cf9..0898eed 100644 --- a/MiraAPI/MiraApiSettings.cs +++ b/MiraAPI/MiraApiSettings.cs @@ -4,6 +4,7 @@ using MiraAPI.LocalSettings.Attributes; using MiraAPI.Patches; using MiraAPI.Utilities; using MiraAPI.Utilities.Assets; +using UnityEngine; namespace MiraAPI; @@ -48,6 +49,10 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config) } OldButtonScaleFactor = ButtonUIFactorSlider.Value; } + else if (configEntry == SetFpsSlider) + { + Application.targetFrameRate = (int)SetFpsSlider.Value; + } } /// @@ -69,6 +74,13 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config) public ConfigEntry ButtonUIFactorSlider { get; private set; } = config.Bind("Visuals/UI", "Button Scale Factor", 0.75f); + /// + /// Gets the fps specified by the player. + /// + [LocalSliderSetting(min: 60f, max: 240f, suffixType: MiraNumberSuffixes.None, formatString: "0", displayValue: true, roundValue: true)] + public ConfigEntry SetFpsSlider { get; private set; } = + config.Bind("Visuals/UI", "Frames Per Seconds", 120f); + /// /// Gets whether to apply cosmetic changes to the TaskAdder. /// diff --git a/MiraAPI/Patches/Menu/MainMenuManagerPatches.cs b/MiraAPI/Patches/Menu/MainMenuManagerPatches.cs index 6f44ac5..d5a66cf 100644 --- a/MiraAPI/Patches/Menu/MainMenuManagerPatches.cs +++ b/MiraAPI/Patches/Menu/MainMenuManagerPatches.cs @@ -1,5 +1,7 @@ using HarmonyLib; +using MiraAPI.LocalSettings; using MiraAPI.Utilities.Assets; +using UnityEngine; namespace MiraAPI.Patches.Menu; @@ -17,5 +19,6 @@ public static class MainMenuManagerPatches public static void AwakePostfix() { AddressablesLoader.LoadAll(); + Application.targetFrameRate = (int)LocalSettingsTabSingleton.Instance.SetFpsSlider.Value; } }