mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 18:27:24 +01:00
Use some CS sigs.
This commit is contained in:
parent
06e06b81e9
commit
8e63452e84
2 changed files with 12 additions and 8 deletions
|
|
@ -1 +1 @@
|
||||||
Subproject commit e1a62d8e6b4e1d8c482253ad14850fd3dc372d86
|
Subproject commit 04ddadb44600a382e26661e1db08fd16c3b671d8
|
||||||
|
|
@ -4,6 +4,7 @@ using Dalamud.Utility.Signatures;
|
||||||
using Penumbra.GameData;
|
using Penumbra.GameData;
|
||||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||||
using FFXIVClientStructs.FFXIV.Client.Game.Object;
|
using FFXIVClientStructs.FFXIV.Client.Game.Object;
|
||||||
|
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||||
using Penumbra.Interop.Structs;
|
using Penumbra.Interop.Structs;
|
||||||
|
|
||||||
namespace Penumbra.Interop.Services;
|
namespace Penumbra.Interop.Services;
|
||||||
|
|
@ -27,7 +28,13 @@ public unsafe class GameEventManager : IDisposable
|
||||||
|
|
||||||
_copyCharacterHook =
|
_copyCharacterHook =
|
||||||
interop.HookFromAddress<CopyCharacterDelegate>((nint)CharacterSetup.MemberFunctionPointers.CopyFromCharacter, CopyCharacterDetour);
|
interop.HookFromAddress<CopyCharacterDelegate>((nint)CharacterSetup.MemberFunctionPointers.CopyFromCharacter, CopyCharacterDetour);
|
||||||
|
_characterBaseCreateHook =
|
||||||
|
interop.HookFromAddress<CharacterBaseCreateDelegate>((nint)CharacterBase.MemberFunctionPointers.Create, CharacterBaseCreateDetour);
|
||||||
|
_characterBaseDestructorHook =
|
||||||
|
interop.HookFromAddress<CharacterBaseDestructorEvent>((nint)CharacterBase.MemberFunctionPointers.Destroy,
|
||||||
|
CharacterBaseDestructorDetour);
|
||||||
|
_weaponReloadHook =
|
||||||
|
interop.HookFromAddress<WeaponReloadFunc>((nint)DrawDataContainer.MemberFunctionPointers.LoadWeapon, WeaponReloadDetour);
|
||||||
_characterDtorHook.Enable();
|
_characterDtorHook.Enable();
|
||||||
_copyCharacterHook.Enable();
|
_copyCharacterHook.Enable();
|
||||||
_resourceHandleDestructorHook.Enable();
|
_resourceHandleDestructorHook.Enable();
|
||||||
|
|
@ -148,8 +155,7 @@ public unsafe class GameEventManager : IDisposable
|
||||||
|
|
||||||
private delegate nint CharacterBaseCreateDelegate(uint a, nint b, nint c, byte d);
|
private delegate nint CharacterBaseCreateDelegate(uint a, nint b, nint c, byte d);
|
||||||
|
|
||||||
[Signature(Sigs.CharacterBaseCreate, DetourName = nameof(CharacterBaseCreateDetour))]
|
private readonly Hook<CharacterBaseCreateDelegate> _characterBaseCreateHook;
|
||||||
private readonly Hook<CharacterBaseCreateDelegate> _characterBaseCreateHook = null!;
|
|
||||||
|
|
||||||
private nint CharacterBaseCreateDetour(uint a, nint b, nint c, byte d)
|
private nint CharacterBaseCreateDetour(uint a, nint b, nint c, byte d)
|
||||||
{
|
{
|
||||||
|
|
@ -194,8 +200,7 @@ public unsafe class GameEventManager : IDisposable
|
||||||
|
|
||||||
public delegate void CharacterBaseDestructorEvent(nint drawBase);
|
public delegate void CharacterBaseDestructorEvent(nint drawBase);
|
||||||
|
|
||||||
[Signature(Sigs.CharacterBaseDestructor, DetourName = nameof(CharacterBaseDestructorDetour))]
|
private readonly Hook<CharacterBaseDestructorEvent> _characterBaseDestructorHook;
|
||||||
private readonly Hook<CharacterBaseDestructorEvent> _characterBaseDestructorHook = null!;
|
|
||||||
|
|
||||||
private void CharacterBaseDestructorDetour(IntPtr drawBase)
|
private void CharacterBaseDestructorDetour(IntPtr drawBase)
|
||||||
{
|
{
|
||||||
|
|
@ -222,8 +227,7 @@ public unsafe class GameEventManager : IDisposable
|
||||||
|
|
||||||
private delegate void WeaponReloadFunc(nint a1, uint a2, nint a3, byte a4, byte a5, byte a6, byte a7);
|
private delegate void WeaponReloadFunc(nint a1, uint a2, nint a3, byte a4, byte a5, byte a6, byte a7);
|
||||||
|
|
||||||
[Signature(Sigs.WeaponReload, DetourName = nameof(WeaponReloadDetour))]
|
private readonly Hook<WeaponReloadFunc> _weaponReloadHook;
|
||||||
private readonly Hook<WeaponReloadFunc> _weaponReloadHook = null!;
|
|
||||||
|
|
||||||
private void WeaponReloadDetour(nint a1, uint a2, nint a3, byte a4, byte a5, byte a6, byte a7)
|
private void WeaponReloadDetour(nint a1, uint a2, nint a3, byte a4, byte a5, byte a6, byte a7)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue