From f320c273026e9938859ac9e245a2fb994be22072 Mon Sep 17 00:00:00 2001 From: gnivler Date: Wed, 19 Jun 2019 01:24:00 -0600 Subject: [PATCH] add features: no anims for moving rooms, and for switching mechs/paint --- source/DisableCombatTurnDelays.cs | 25 +++++++++++++++++++ source/DisableSimAnimations.cs | 41 +++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 source/DisableCombatTurnDelays.cs create mode 100644 source/DisableSimAnimations.cs diff --git a/source/DisableCombatTurnDelays.cs b/source/DisableCombatTurnDelays.cs new file mode 100644 index 0000000..bc00916 --- /dev/null +++ b/source/DisableCombatTurnDelays.cs @@ -0,0 +1,25 @@ +using BattleTech.UI; +using Harmony; + +namespace BattletechPerformanceFix +{ + public class DisableCombatTurnDelays : Feature + { + public void Activate() + { + var fadeOut = "FadeOutNotificationOverSecondsCoroutine"; + var showTeam = "ShowTeamNotification"; + fadeOut.Pre(); + showTeam.Pre(); + } + + [HarmonyPatch(typeof(TurnEventNotification), "FadeOutNotificationOverSecondsCoroutine")] + public class FadeOutNotificationOverSecondsCoroutine_Pre + { + public static void Prefix(ref float seconds) + { + seconds = 0; + } + } + } +} diff --git a/source/DisableSimAnimations.cs b/source/DisableSimAnimations.cs new file mode 100644 index 0000000..daf86cb --- /dev/null +++ b/source/DisableSimAnimations.cs @@ -0,0 +1,41 @@ +using BattleTech; +using BattleTech.UI; +using Harmony; + +namespace BattletechPerformanceFix +{ + class DisableSimAnimations : Feature + { + public void Activate() + { + var init = "Init"; + var transitionMech = "TransitionMech"; + + init.Pre(); + transitionMech.Pre(); + } + + // disables scene transition animation + [HarmonyPatch(typeof(SimGameCameraController), "Init")] + public static class Init_Pre + { + public static void Prefix( + ref float ___betweenRoomTransitionTime, ref float ___inRoomTransitionTime) + { + ___betweenRoomTransitionTime = ___inRoomTransitionTime = 0f; + } + } + + // disables mech transition animation + [HarmonyPatch(typeof(SGRoomController_MechBay), "TransitionMech")] + public static class TransitionMech_Pre + { + // ReSharper disable once RedundantAssignment + public static void Prefix(ref float fadeDuration) + { + UnityGameInstance.BattleTechGame.Simulation.CameraController.mechLabSpin = null; + fadeDuration = 0f; + } + } + } +}