diff --git a/MenuScalePatch/Helpers/MainMenuHelper.cs b/MenuScalePatch/Helpers/MainMenuHelper.cs index a46eaad..53887dc 100644 --- a/MenuScalePatch/Helpers/MainMenuHelper.cs +++ b/MenuScalePatch/Helpers/MainMenuHelper.cs @@ -93,7 +93,7 @@ public class MainMenuHelper : MonoBehaviour public void HandleDesktopPosition() { if (MSP_MenuInfo.CameraTransform == null || MSP_MenuInfo.DisableMMHelper) return; - Transform activeAnchor = MSP_MenuInfo.independentHeadTurn ? worldAnchor : MSP_MenuInfo.CameraTransform; + Transform activeAnchor = MSP_MenuInfo.isIndependentHeadTurn ? worldAnchor : MSP_MenuInfo.CameraTransform; transform.localScale = new Vector3(1.6f * MSP_MenuInfo.ScaleFactor, 0.9f * MSP_MenuInfo.ScaleFactor, 1f); transform.position = activeAnchor.position + activeAnchor.forward * 1f * MSP_MenuInfo.ScaleFactor * MSP_MenuInfo.AspectRatio; transform.rotation = activeAnchor.rotation; diff --git a/MenuScalePatch/Helpers/QuickMenuHelper.cs b/MenuScalePatch/Helpers/QuickMenuHelper.cs index cb9514c..8de8e81 100644 --- a/MenuScalePatch/Helpers/QuickMenuHelper.cs +++ b/MenuScalePatch/Helpers/QuickMenuHelper.cs @@ -75,7 +75,7 @@ public class QuickMenuHelper : MonoBehaviour { if (MSP_MenuInfo.CameraTransform == null || MSP_MenuInfo.DisableQMHelper) return; - Transform activeAnchor = MSP_MenuInfo.independentHeadTurn ? worldAnchor : MSP_MenuInfo.CameraTransform; + Transform activeAnchor = MSP_MenuInfo.isIndependentHeadTurn ? worldAnchor : MSP_MenuInfo.CameraTransform; transform.localScale = new Vector3(1f * MSP_MenuInfo.ScaleFactor, 1f * MSP_MenuInfo.ScaleFactor, 1f); transform.rotation = activeAnchor.rotation; transform.position = activeAnchor.position + activeAnchor.transform.forward * 1f * MSP_MenuInfo.ScaleFactor; diff --git a/MenuScalePatch/MSP_Menus.cs b/MenuScalePatch/MSP_Menus.cs index 769570a..23a86c1 100644 --- a/MenuScalePatch/MSP_Menus.cs +++ b/MenuScalePatch/MSP_Menus.cs @@ -28,7 +28,9 @@ public class MSP_MenuInfo //reflection internal static readonly FieldInfo _desktopMouseModeQM = typeof(ViewManager).GetField("_desktopMouseMode", BindingFlags.NonPublic | BindingFlags.Instance); internal static readonly FieldInfo _desktopMouseModeMM = typeof(CVR_MenuManager).GetField("_desktopMouseMode", BindingFlags.NonPublic | BindingFlags.Instance); + internal static readonly FieldInfo ms_followAngleX = typeof(MovementSystem).GetField("_followAngleX", BindingFlags.NonPublic | BindingFlags.Instance); internal static readonly FieldInfo ms_followAngleY = typeof(MovementSystem).GetField("_followAngleY", BindingFlags.NonPublic | BindingFlags.Instance); + internal static readonly FieldInfo ms_manualAngleX = typeof(MovementSystem).GetField("_manualAngleX", BindingFlags.NonPublic | BindingFlags.Instance); internal static bool isIndependentHeadTurn = false; @@ -57,8 +59,10 @@ public class MSP_MenuInfo } else if (!isPressed && isIndependentHeadTurn) { - float angle = (float)ms_followAngleY.GetValue(MovementSystem.Instance); - if (angle == 0f) + float angleX = (float)ms_followAngleX.GetValue(MovementSystem.Instance); + float angleY = (float)ms_followAngleY.GetValue(MovementSystem.Instance); + float manualAngleX = (float)ms_manualAngleX.GetValue(MovementSystem.Instance); + if (angleY == 0f && angleX == manualAngleX) { isIndependentHeadTurn = false; MSP_MenuInfo.ToggleDesktopInputMethod(true);