using UnityEngine; namespace MU3.Sys; class patch_Config: Config { public int framerate { get; private set; } public bool isVsync { get; private set; } public extern void orig_initialize(); public new void initialize() { orig_initialize(); using IniFile iniFile = new("mu3.ini"); framerate = iniFile.getIntValue("Video", "Framerate", 60); isVsync = iniFile.getValue("Video", "VSync", false); if(framerate == 0) { framerate = -1; } if(isVsync) { QualitySettings.vSyncCount = 1; framerate = -1; Debug.Log("[FrameRate] VSync on"); } else { Application.targetFrameRate = framerate; QualitySettings.vSyncCount = 0; if(framerate == 60) { Debug.Log("[FrameRate] Framerate locked to 60 (vanilla)"); } else if(framerate == -1) { Debug.Log("[FrameRate] Framerate unlocked"); } else { Debug.Log("[FrameRate] Framerate locked to " + framerate); } } } }