diff --git a/Dalamud/Hooking/Internal/Verification/HookVerifier.cs b/Dalamud/Hooking/Internal/Verification/HookVerifier.cs
index 98568a567..721798a40 100644
--- a/Dalamud/Hooking/Internal/Verification/HookVerifier.cs
+++ b/Dalamud/Hooking/Internal/Verification/HookVerifier.cs
@@ -3,6 +3,7 @@ using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
+using Dalamud.Configuration.Internal;
using Dalamud.Game;
using Dalamud.Logging.Internal;
@@ -65,6 +66,13 @@ internal static class HookVerifier
/// Exception thrown when we think the hook is not correctly declared.
public static void Verify(IntPtr address) where T : Delegate
{
+ // API15 TODO: Always throw
+ var config = Service.GetNullable();
+ if (config != null && config.DevPluginLoadLocations.Count == 0)
+ {
+ return;
+ }
+
var entry = ToVerify.FirstOrDefault(x => x.Address == address);
// Nothing to verify for this hook?
@@ -121,7 +129,7 @@ internal static class HookVerifier
return sameType || SizeOf(paramLeft, isMarshaled) == SizeOf(paramRight, false);
}
- private static int SizeOf(Type type, bool isMarshaled)
+ private static int SizeOf(Type type, bool isMarshaled)
{
return type switch {
_ when type == typeof(sbyte) || type == typeof(byte) || (type == typeof(bool) && !isMarshaled) => 1,
@@ -137,19 +145,19 @@ internal static class HookVerifier
};
}
- private static int GetSizeOf(Type type)
+ private static int GetSizeOf(Type type)
{
- try
+ try
{
return Marshal.SizeOf(Activator.CreateInstance(type)!);
- }
- catch
+ }
+ catch
{
return 0;
}
}
- private static bool IsStruct(Type type)
+ private static bool IsStruct(Type type)
{
return type != typeof(decimal) && type is { IsValueType: true, IsPrimitive: false, IsEnum: false };
}