Revert "Fix stupid broken code but still doesn't work"

This reverts commit e4e4e20ff465259b015fdde900ae97e2abbe743c.
This commit is contained in:
Nick 2023-07-22 01:43:37 -04:00
parent 12f78ecf8a
commit 07ca4e4396

View File

@ -6,7 +6,7 @@ using UnityEngine;
namespace NewHorizons.Patches; namespace NewHorizons.Patches;
[HarmonyPatch(typeof(GlobalMusicController))] [HarmonyPatch(typeof(GlobalMusicController))]
public static class GlobalMusicControllerPatches public class GlobalMusicControllerPatches
{ {
private static AudioDetector _audioDetector; private static AudioDetector _audioDetector;
@ -29,19 +29,19 @@ public static class GlobalMusicControllerPatches
// Find the first part of the boolean assignment // Find the first part of the boolean assignment
.Start() .Start()
.MatchForward(true, .MatchForward(true,
new CodeMatch(OpCodes.Call, AccessTools.Method(typeof(Locator), nameof(Locator.GetPlayerSectorDetector))), new CodeMatch(OpCodes.Call, typeof(Locator), nameof(Locator.GetPlayerSectorDetector)),
new CodeMatch(OpCodes.Callvirt, AccessTools.Method(typeof(PlayerSectorDetector), nameof(PlayerSectorDetector.InBrambleDimension))), new CodeMatch(OpCodes.Callvirt, typeof(PlayerSectorDetector), nameof(PlayerSectorDetector.InBrambleDimension)),
new CodeMatch(OpCodes.Brfalse_S) new CodeMatch(OpCodes.Brfalse_S)
) )
// Insert a new check to it pointing to the same label as the others // Insert a new check to it pointing to the same label as the others
.Insert( .Insert(
new CodeMatch(OpCodes.Call, AccessTools.Method(typeof(GlobalMusicControllerPatches), nameof(GlobalMusicControllerPatches.IsPlayerInNoAudioVolumes))), new CodeMatch(OpCodes.Call, typeof(GlobalMusicControllerPatches), nameof(GlobalMusicControllerPatches.IsPlayerInNoAudioVolumes)),
new CodeMatch(OpCodes.Brfalse_S, label) new CodeMatch(OpCodes.Brfalse_S, label)
) )
.InstructionEnumeration(); .InstructionEnumeration();
} }
public static bool IsPlayerInNoAudioVolumes() private static bool IsPlayerInNoAudioVolumes()
{ {
if (_audioDetector == null) _audioDetector = Object.FindObjectOfType<AudioDetector>(); if (_audioDetector == null) _audioDetector = Object.FindObjectOfType<AudioDetector>();
return _audioDetector._activeVolumes.Count == 0; return _audioDetector._activeVolumes.Count == 0;