Force Reloaded hook option

This commit is contained in:
Raymond 2021-11-03 08:31:36 -04:00
parent 9c27212d37
commit 8a58782e86
2 changed files with 7 additions and 2 deletions

View file

@ -22,10 +22,15 @@ namespace Dalamud.Configuration.Internal
/// </summary>
public static bool DalamudNoPlugins { get; } = GetEnvironmentVariable("DALAMUD_NOT_HAVE_PLUGINS");
/// <summary>
/// Gets a value indicating whether the DalamudForceReloaded setting has been enabled.
/// </summary>
public static bool DalamudForceReloaded { get; } = GetEnvironmentVariable("DALAMUD_FORCE_RELOADED");
/// <summary>
/// Gets a value indicating whether the DalamudForceCoreHook setting has been enabled.
/// </summary>
public static bool DalamudForceMinHook { get; } = GetEnvironmentVariable("DALAMUD_FORCE_COREHOOK");
public static bool DalamudForceMinHook { get; } = GetEnvironmentVariable("DALAMUD_FORCE_MINHOOK");
private static bool GetEnvironmentVariable(string name)
=> bool.Parse(Environment.GetEnvironmentVariable(name) ?? "false");

View file

@ -47,7 +47,7 @@ namespace Dalamud.Hooking
private Hook(IntPtr address, T detour, bool useMinHook, Assembly callingAssembly)
{
address = HookManager.FollowJmp(address);
this.isMinHook = EnvironmentConfiguration.DalamudForceMinHook || useMinHook;
this.isMinHook = !EnvironmentConfiguration.DalamudForceReloaded && (EnvironmentConfiguration.DalamudForceMinHook || useMinHook);
var hasOtherHooks = HookManager.Originals.ContainsKey(address);
if (!hasOtherHooks)