public bool ApplyPatches(PatchWrapper patchWrapper) { // Disables the auto updater patchWrapper.NewPrefixPatch( AccessTools.Method( typeof(NzbDrone.Core.Update.CheckUpdateService), "AvailableUpdate"), AccessTools.Method( typeof(GenericPatches.NOP), "NoOperation") ); /* * // Patches GetMovieFolder to always return a dot for current directory. * patchWrapper.NewPrefixPatch( * AccessTools.Method( * typeof(NzbDrone.Core.Organizer.FileNameBuilder), * "GetMovieFolder"), * * AccessTools.Method( * typeof(NZBDrone.Versions._1_0_0_32922.Core.Organizer.FileNameBuilder), * "GetMovieFolder") * ); */ patchWrapper.NewPostfixPatch( AccessTools.Method( typeof(NzbDrone.Core.Movies.MoveMovieService), "Execute"), AccessTools.Method( typeof(MovieMoveService), "Execute")); patchWrapper.NewPrefixPatch( AccessTools.Method( typeof(NzbDrone.Core.Movies.MovieService), "AddMovie"), AccessTools.Method( typeof(NZBDrone.Versions._0_2_0_1358.Core.Movies.MovieService), "AddMovie")); return(patchWrapper.ApplyPatches()); }
public bool ApplyPatches(PatchWrapper patchWrapper) { try { Util.Logger.Instance.Log($"[ApplyPatches] Attempting to create new patch for CheatMenu"); patchWrapper.NewPrefixPatch( AccessTools.Method(typeof(CheatMenu), "OnPanelPop"), AccessTools.Method(typeof(NOP), "NoOperation")); patchWrapper.NewPostfixPatch( AccessTools.Method(typeof(CheatMenu), "Awake"), AccessTools.Method(typeof(CheatMenuPatch), "AwakePost")); patchWrapper.NewPrefixPatch( AccessTools.Method(typeof(CheatMenu), "CreateMenu"), AccessTools.Method(typeof(CheatMenuPatch), "CheatMenuPre")); patchWrapper.NewPrefixPatch( AccessTools.Method(typeof(CheatCodeLogic), "Update"), AccessTools.Method(typeof(CheatCodeLogicPatch), "Update")); patchWrapper.NewPrefixPatch( AccessTools.Method(typeof(CheatCodeLogic), "UnlockAllLevels"), AccessTools.Method(typeof(CheatCodeLogicPatch), "UnlockAllLevels")); patchWrapper.NewPrefixPatch( AccessTools.Method(typeof(AkGameObj), "Update"), AccessTools.Method(typeof(AkGameObjectPatch), "Update")); patchWrapper.NewPrefixPatch( AccessTools.Method(typeof(SharpObject), "WasSharpEdgeHit"), AccessTools.Method(typeof(SharpObjectPatch), "WasSharpEdgeHit")); patchWrapper.NewPostfixPatch( AccessTools.Method(typeof(GameManager), "QuitGame"), AccessTools.Method(typeof(GameManagerPatch), "QuitGame")); patchWrapper.NewPrefixPatch( AccessTools.Method(typeof(Splittable), "TestAgainstLaser"), AccessTools.Method(typeof(SplittablePatch), "TestAgainstLaser")); patchWrapper.NewPrefixPatch( AccessTools.Method(typeof(WingCorruptionZone), "SetCorruptionEnabled"), AccessTools.Method(typeof(WingCorruptionZonePatch), "SetCorruptionEnabled")); patchWrapper.NewPostfixPatch( AccessTools.Method(typeof(StoryIntroCutsceneLogic), "OnEventPostLoad"), AccessTools.Method(typeof(StoryIntroCutsceneLogicPatch), "OnEventPostLoad")); patchWrapper.NewPostfixPatch( AccessTools.Method(typeof(PlayerDataLocal), "InitCarVirtual"), AccessTools.Method(typeof(PlayerDataLocalPatch), "InitCarVirtual")); Util.Logger.Instance.Log($"[ApplyPatches] Applying them via Harmony now"); return(patchWrapper.ApplyPatches()); } catch (Exception ex) { Util.Logger.Instance.Log($"[ApplyPatches] {ex.Message}\r\n\r\n{ex.StackTrace}"); return(false); } }