mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-04 07:19:22 +00:00
[DesktopVRSwitch] Nuke CohtmlUISystem Gamepad handling for now.
This commit is contained in:
parent
5f95755ad2
commit
0fb7c3d401
19 changed files with 146 additions and 21 deletions
|
@ -1,9 +1,14 @@
|
|||
using ABI_RC.Core.Savior;
|
||||
using UnityEngine;
|
||||
using UnityEngine.XR;
|
||||
using Valve.VR;
|
||||
|
||||
namespace NAK.DesktopVRSwitch.VRModeTrackers;
|
||||
|
||||
public class MetaPortTracker : VRModeTracker
|
||||
{
|
||||
private MetaPort _metaPort;
|
||||
|
||||
public override void TrackerInit()
|
||||
{
|
||||
VRModeSwitchManager.OnPostVRModeSwitch += OnPostSwitch;
|
||||
|
@ -16,7 +21,7 @@ public class MetaPortTracker : VRModeTracker
|
|||
|
||||
private void OnPostSwitch(bool intoVR)
|
||||
{
|
||||
MetaPort _metaPort = MetaPort.Instance;
|
||||
_metaPort = MetaPort.Instance;
|
||||
if (_metaPort == null)
|
||||
{
|
||||
DesktopVRSwitch.Logger.Error("Error while getting MetaPort!");
|
||||
|
@ -27,6 +32,13 @@ public class MetaPortTracker : VRModeTracker
|
|||
// Main thing most of the game checks for if using VR
|
||||
_metaPort.isUsingVr = intoVR;
|
||||
|
||||
// replace
|
||||
UpdateRichPresence();
|
||||
ResetSteamVROverrides(intoVR);
|
||||
}
|
||||
|
||||
private void UpdateRichPresence()
|
||||
{
|
||||
// Hacky way of updating rich presence
|
||||
if (_metaPort.settings.GetSettingsBool("ImplementationRichPresenceDiscordEnabled", true))
|
||||
{
|
||||
|
@ -41,4 +53,43 @@ public class MetaPortTracker : VRModeTracker
|
|||
_metaPort.settings.SetSettingsBool("ImplementationRichPresenceSteamEnabled", true);
|
||||
}
|
||||
}
|
||||
|
||||
private void ResetSteamVROverrides(bool intoVR)
|
||||
{
|
||||
if (intoVR)
|
||||
{
|
||||
// Testing
|
||||
XRSettings.eyeTextureResolutionScale = 1;
|
||||
XRSettings.gameViewRenderMode = DesktopVRSwitch.EntryRenderVRGameView.Value ? GameViewRenderMode.LeftEye : GameViewRenderMode.None;
|
||||
SteamVR_Settings.instance.pauseGameWhenDashboardVisible = false;
|
||||
|
||||
if (MetaPort.Instance.settings.GetSettingsBool("InteractionTobiiEyeTracking", false))
|
||||
{
|
||||
MetaPort.Instance.TobiiXrInitializer.Initialize();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Reset physics time to Desktop default
|
||||
Time.fixedDeltaTime = 0.02f;
|
||||
|
||||
// Reset queued frames
|
||||
QualitySettings.maxQueuedFrames = 2;
|
||||
|
||||
// Reset framerate target
|
||||
int graphicsFramerateTarget = MetaPort.Instance.settings.GetSettingInt("GraphicsFramerateTarget", 0);
|
||||
ABI_RC.Core.CVRTools.SetFramerateTarget(graphicsFramerateTarget);
|
||||
|
||||
// Reset VSync setting
|
||||
bool graphicsVSync = MetaPort.Instance.settings.GetSettingsBool("GraphicsVSync", false);
|
||||
QualitySettings.vSyncCount = graphicsVSync ? 1 : 0;
|
||||
|
||||
// Reset anti-aliasing
|
||||
int graphicsMsaaLevel = MetaPort.Instance.settings.GetSettingInt("GraphicsMsaaLevel", 0);
|
||||
QualitySettings.antiAliasing = graphicsMsaaLevel;
|
||||
|
||||
// Won't do anything if not already running
|
||||
MetaPort.Instance.TobiiXrInitializer.DeInitialize();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue