From 8fb64af318649c2b4459a4b0343af0272db8974f Mon Sep 17 00:00:00 2001 From: Provini <71570801+Provini@users.noreply.github.com> Date: Sat, 8 Mar 2025 03:28:01 -0500 Subject: [PATCH] Fix SiraUtil FPFC compatibility --- Heck/HarmonyPatches/SiraUtilHeadFinder.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Heck/HarmonyPatches/SiraUtilHeadFinder.cs b/Heck/HarmonyPatches/SiraUtilHeadFinder.cs index 3e0995ea..1d1eab6b 100644 --- a/Heck/HarmonyPatches/SiraUtilHeadFinder.cs +++ b/Heck/HarmonyPatches/SiraUtilHeadFinder.cs @@ -7,20 +7,24 @@ namespace Heck.HarmonyPatches; [HeckPatch(PatchType.Features)] internal class SiraUtilHeadFinder : IAffinity { + private const string _noodleRoomOffset = "NoodleRoomOffset"; + internal Transform? FpfcHeadTransform { get; private set; } // cant get GameTransformFPFCListener injected for some reason - [AffinityPostfix] + [AffinityPrefix] [AffinityPatch(typeof(GameTransformFPFCListener), nameof(GameTransformFPFCListener.Enabled))] - private void Enabled(Transform ____originalHeadTransform) + private bool Enabled(GameTransformFPFCListener __instance) { - FpfcHeadTransform = ____originalHeadTransform; + FpfcHeadTransform = __instance._originalHeadTransform; + return __instance._originalHeadTransform?.parent?.name != _noodleRoomOffset; } - [AffinityPostfix] + [AffinityPrefix] [AffinityPatch(typeof(GameTransformFPFCListener), nameof(GameTransformFPFCListener.Disabled))] - private void Disabled() + private bool Disabled(GameTransformFPFCListener __instance) { FpfcHeadTransform = null; + return __instance._originalHeadTransform?.parent?.name != _noodleRoomOffset; } }