diff --git a/1.4/Assemblies/CameraPlus.dll b/1.4/Assemblies/CameraPlus.dll index 41a5ec5..5722422 100644 Binary files a/1.4/Assemblies/CameraPlus.dll and b/1.4/Assemblies/CameraPlus.dll differ diff --git a/Source/Main.cs b/Source/Main.cs index ddab90b..654c553 100644 --- a/Source/Main.cs +++ b/Source/Main.cs @@ -533,6 +533,16 @@ public static void Postfix(TickManager __instance) } } + [HarmonyPatch(typeof(MainTabWindow_Menu))] + [HarmonyPatch(nameof(MainTabWindow_Menu.PreOpen))] + static class MainTabWindow_Menu_PreOpen_Patch + { + public static void Postfix() + { + Tools.ResetSnapback(); + } + } + [HarmonyPatch(typeof(UIRoot_Play))] [HarmonyPatch(nameof(UIRoot_Play.UIRootOnGUI))] static class UIRoot_Play_UIRootOnGUI_Patch diff --git a/Source/Tools.cs b/Source/Tools.cs index 7f56283..1763d32 100644 --- a/Source/Tools.cs +++ b/Source/Tools.cs @@ -383,6 +383,12 @@ public static void CreateSnapback() public static bool HasSnapback => snapbackRootSize != 0; + public static void ResetSnapback() + { + snapbackRootPos = default; + snapbackRootSize = default; + } + public static void RestoreSnapback() { var tm = Find.TickManager; @@ -392,8 +398,7 @@ IEnumerator ApplyRootPosAndSize() { yield return new WaitForSeconds(0.35f); Find.CameraDriver.SetRootPosAndSize(snapbackRootPos, snapbackRootSize); - snapbackRootPos = default; - snapbackRootSize = default; + ResetSnapback(); tm.curTimeSpeed = savedSpeed; }