Add some other AVFX collection identification.

This commit is contained in:
Ottermandias 2022-06-12 11:59:53 +02:00
parent 5f1dac98d6
commit 46c5d52a92
2 changed files with 17 additions and 0 deletions

View file

@ -58,4 +58,18 @@ public unsafe partial class PathResolver
CharacterBaseLoadAnimationHook!.Original( drawObject );
_animationLoadCollection = last;
}
public delegate ulong LoadSomeAvfx( uint a1, IntPtr gameObject, IntPtr gameObject2 );
[Signature( "E8 ?? ?? ?? ?? 45 0F B6 F7", DetourName = nameof( LoadSomeAvfxDetour ) )]
public Hook< LoadSomeAvfx >? LoadSomeAvfxHook;
private ulong LoadSomeAvfxDetour( uint a1, IntPtr gameObject, IntPtr gameObject2 )
{
var last = _animationLoadCollection;
_animationLoadCollection = IdentifyCollection( ( GameObject* )gameObject );
var ret = LoadSomeAvfxHook!.Original( a1, gameObject, gameObject2 );
_animationLoadCollection = last;
return ret;
}
}

View file

@ -92,6 +92,7 @@ public unsafe partial class PathResolver
Penumbra.CollectionManager.CollectionChanged += CheckCollections;
LoadTimelineResourcesHook?.Enable();
CharacterBaseLoadAnimationHook?.Enable();
LoadSomeAvfxHook?.Enable();
}
private void DisableDataHooks()
@ -103,6 +104,7 @@ public unsafe partial class PathResolver
CharacterBaseDestructorHook?.Disable();
LoadTimelineResourcesHook?.Disable();
CharacterBaseLoadAnimationHook?.Disable();
LoadSomeAvfxHook?.Disable();
}
private void DisposeDataHooks()
@ -113,6 +115,7 @@ public unsafe partial class PathResolver
CharacterBaseDestructorHook?.Dispose();
LoadTimelineResourcesHook?.Dispose();
CharacterBaseLoadAnimationHook?.Dispose();
LoadSomeAvfxHook?.Dispose();
}
// This map links DrawObjects directly to Actors (by ObjectTable index) and their collections.