This commit is contained in:
Ottermandias 2024-08-01 17:14:28 +02:00
parent 73b9d1fca0
commit 7579eaacbe
7 changed files with 14 additions and 13 deletions

View file

@ -30,13 +30,13 @@ public unsafe class ResourceService : IDisposable, IRequiredService
_decRefHook = interop.HookFromAddress<ResourceHandleDecRefPrototype>( _decRefHook = interop.HookFromAddress<ResourceHandleDecRefPrototype>(
(nint)CSResourceHandle.MemberFunctionPointers.DecRef, (nint)CSResourceHandle.MemberFunctionPointers.DecRef,
ResourceHandleDecRefDetour); ResourceHandleDecRefDetour);
if (HookOverrides.Instance.ResourceLoading.GetResourceSync) if (!HookOverrides.Instance.ResourceLoading.GetResourceSync)
_getResourceSyncHook.Enable(); _getResourceSyncHook.Enable();
if (HookOverrides.Instance.ResourceLoading.GetResourceAsync) if (!HookOverrides.Instance.ResourceLoading.GetResourceAsync)
_getResourceAsyncHook.Enable(); _getResourceAsyncHook.Enable();
if (HookOverrides.Instance.ResourceLoading.IncRef) if (!HookOverrides.Instance.ResourceLoading.IncRef)
_incRefHook.Enable(); _incRefHook.Enable();
if (HookOverrides.Instance.ResourceLoading.DecRef) if (!HookOverrides.Instance.ResourceLoading.DecRef)
_decRefHook.Enable(); _decRefHook.Enable();
} }

View file

@ -46,11 +46,11 @@ public unsafe class TexMdlService : IDisposable, IRequiredService
{ {
interop.InitializeFromAttributes(this); interop.InitializeFromAttributes(this);
_lodService = new LodService(interop); _lodService = new LodService(interop);
if (HookOverrides.Instance.ResourceLoading.CheckFileState) if (!HookOverrides.Instance.ResourceLoading.CheckFileState)
_checkFileStateHook.Enable(); _checkFileStateHook.Enable();
if (HookOverrides.Instance.ResourceLoading.LoadMdlFileExtern) if (!HookOverrides.Instance.ResourceLoading.LoadMdlFileExtern)
_loadMdlFileExternHook.Enable(); _loadMdlFileExternHook.Enable();
if (HookOverrides.Instance.ResourceLoading.TexResourceHandleOnLoad) if (!HookOverrides.Instance.ResourceLoading.TexResourceHandleOnLoad)
_textureOnLoadHook.Enable(); _textureOnLoadHook.Enable();
} }

View file

@ -11,7 +11,8 @@ public sealed unsafe class ApricotResourceLoad : FastHook<ApricotResourceLoad.De
public ApricotResourceLoad(HookManager hooks, GameState gameState) public ApricotResourceLoad(HookManager hooks, GameState gameState)
{ {
_gameState = gameState; _gameState = gameState;
Task = hooks.CreateHook<Delegate>("Load Apricot Resource", Sigs.ApricotResourceLoad, Detour, HookOverrides.Instance.Resources.ApricotResourceLoad); Task = hooks.CreateHook<Delegate>("Load Apricot Resource", Sigs.ApricotResourceLoad, Detour,
!HookOverrides.Instance.Resources.ApricotResourceLoad);
} }
public delegate byte Delegate(ResourceHandle* handle, nint unk1, byte unk2); public delegate byte Delegate(ResourceHandle* handle, nint unk1, byte unk2);

View file

@ -12,9 +12,9 @@ public sealed unsafe class LoadMtrlShpk : FastHook<LoadMtrlShpk.Delegate>
public LoadMtrlShpk(HookManager hooks, GameState gameState, CommunicatorService communicator) public LoadMtrlShpk(HookManager hooks, GameState gameState, CommunicatorService communicator)
{ {
_gameState = gameState; _gameState = gameState;
_communicator = communicator; _communicator = communicator;
Task = hooks.CreateHook<Delegate>("Load Material Shaders", Sigs.LoadMtrlShpk, Detour, HookOverrides.Instance.Resources.LoadMtrlShpk); Task = hooks.CreateHook<Delegate>("Load Material Shaders", Sigs.LoadMtrlShpk, Detour, !HookOverrides.Instance.Resources.LoadMtrlShpk);
} }
public delegate byte Delegate(MaterialResourceHandle* mtrlResourceHandle); public delegate byte Delegate(MaterialResourceHandle* mtrlResourceHandle);

View file

@ -11,7 +11,7 @@ public sealed unsafe class LoadMtrlTex : FastHook<LoadMtrlTex.Delegate>
public LoadMtrlTex(HookManager hooks, GameState gameState) public LoadMtrlTex(HookManager hooks, GameState gameState)
{ {
_gameState = gameState; _gameState = gameState;
Task = hooks.CreateHook<Delegate>("Load Material Textures", Sigs.LoadMtrlTex, Detour, HookOverrides.Instance.Resources.LoadMtrlTex); Task = hooks.CreateHook<Delegate>("Load Material Textures", Sigs.LoadMtrlTex, Detour, !HookOverrides.Instance.Resources.LoadMtrlTex);
} }
public delegate byte Delegate(MaterialResourceHandle* mtrlResourceHandle); public delegate byte Delegate(MaterialResourceHandle* mtrlResourceHandle);

View file

@ -67,7 +67,7 @@ public sealed unsafe class ResolvePathHooksBase : IDisposable
// @formatter:on // @formatter:on
if (HookOverrides.Instance.Resources.ResolvePathHooks) if (!HookOverrides.Instance.Resources.ResolvePathHooks)
Enable(); Enable();
} }

View file

@ -24,7 +24,7 @@ public sealed unsafe class ResourceHandleDestructor : EventWrapperPtr<ResourceHa
public ResourceHandleDestructor(HookManager hooks) public ResourceHandleDestructor(HookManager hooks)
: base("Destroy ResourceHandle") : base("Destroy ResourceHandle")
=> _task = hooks.CreateHook<Delegate>(Name, Sigs.ResourceHandleDestructor, Detour, => _task = hooks.CreateHook<Delegate>(Name, Sigs.ResourceHandleDestructor, Detour,
HookOverrides.Instance.Resources.ResourceHandleDestructor); !HookOverrides.Instance.Resources.ResourceHandleDestructor);
private readonly Task<Hook<Delegate>> _task; private readonly Task<Hook<Delegate>> _task;