depricated bunch of mods i will never touch or are native now

This commit is contained in:
NotAKidoS 2024-09-06 01:22:37 -05:00
parent 1ed32799a8
commit 7f4237bf95
29 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,58 @@
using System.Reflection;
using ABI_RC.Systems.VRModeSwitch;
using HarmonyLib;
using MelonLoader;
using Valve.VR;
namespace NAK.SwitchToDesktopOnSteamVRExit;
public class SwitchToDesktopOnSteamVRExit : MelonMod
{
private const string SettingsCategory = nameof(SwitchToDesktopOnSteamVRExit);
private static readonly MelonPreferences_Category Category =
MelonPreferences.CreateCategory(SettingsCategory);
private static readonly MelonPreferences_Entry<bool> EntryEnabled =
Category.CreateEntry("Enabled", true, description: "Toggle SwitchToDesktopOnSteamVRExit entirely.");
public override void OnInitializeMelon()
{
ApplyPatches(typeof(SteamVRBehaviour_Patches));
}
private void ApplyPatches(Type type)
{
try
{
HarmonyInstance.PatchAll(type);
}
catch (Exception e)
{
LoggerInstance.Msg($"Failed while patching {type.Name}!");
LoggerInstance.Error(e);
}
}
#region Patches
private static class SteamVRBehaviour_Patches
{
[HarmonyPrefix]
[HarmonyPatch(typeof(SteamVR_Behaviour), /*nameof(SteamVR_Behaviour.OnQuit)*/ "OnQuit")]
private static bool Prefix_SteamVR_Behaviour_OnQuit()
{
if (!EntryEnabled.Value)
return true;
// If we don't switch fast enough, SteamVR will force close.
// World Transition might cause issues. Might need to override.
if (VRModeSwitchManager.Instance != null)
VRModeSwitchManager.Instance.AttemptSwitch();
return false;
}
}
#endregion Patches
}