mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
fix: use vtable Framework::free instead of sig
This commit is contained in:
parent
10d5c6829d
commit
3d32d9c59c
2 changed files with 6 additions and 10 deletions
|
|
@ -82,9 +82,6 @@ namespace Dalamud.Game.Internal {
|
|||
Gui = new GameGui(Address.GuiManager, scanner, dalamud);
|
||||
|
||||
Network = new GameNetwork(scanner);
|
||||
|
||||
this.destroyHook =
|
||||
new Hook<OnDestroyDetour>(Address.OnDestroy, new OnDestroyDelegate(HandleFrameworkDestroy), this);
|
||||
}
|
||||
|
||||
private void HookVTable() {
|
||||
|
|
@ -92,12 +89,16 @@ namespace Dalamud.Game.Internal {
|
|||
// Virtual function layout:
|
||||
// .rdata:00000001411F1FE0 dq offset Xiv__Framework___dtor
|
||||
// .rdata:00000001411F1FE8 dq offset Xiv__Framework__init
|
||||
// .rdata:00000001411F1FF0 dq offset sub_1400936E0
|
||||
// .rdata:00000001411F1FF8 dq offset sub_1400939E0
|
||||
// .rdata:00000001411F1FF0 dq offset Xiv__Framework__destroy
|
||||
// .rdata:00000001411F1FF8 dq offset Xiv__Framework__free
|
||||
// .rdata:00000001411F2000 dq offset Xiv__Framework__update
|
||||
|
||||
var pUpdate = Marshal.ReadIntPtr(vtable, IntPtr.Size * 4);
|
||||
this.updateHook = new Hook<OnUpdateDetour>(pUpdate, new OnUpdateDetour(HandleFrameworkUpdate), this);
|
||||
|
||||
var pDestroy = Marshal.ReadIntPtr(vtable, IntPtr.Size * 3);
|
||||
this.destroyHook =
|
||||
new Hook<OnDestroyDetour>(pDestroy, new OnDestroyDelegate(HandleFrameworkDestroy), this);
|
||||
}
|
||||
|
||||
public void Enable() {
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@ namespace Dalamud.Game.Internal {
|
|||
|
||||
public IntPtr ScriptManager { get; private set; }
|
||||
|
||||
public IntPtr OnDestroy { get; private set; }
|
||||
|
||||
|
||||
protected override void Setup64Bit(SigScanner sig) {
|
||||
SetupFramework(sig);
|
||||
|
||||
|
|
@ -21,8 +18,6 @@ namespace Dalamud.Game.Internal {
|
|||
|
||||
// Called from Framework::Init
|
||||
ScriptManager = BaseAddress + 0x2C68; // note that no deref here
|
||||
|
||||
OnDestroy = sig.ScanText("48 83 EC 48 48 8B 0D ?? ?? ?? ?? 48 85 C9");
|
||||
}
|
||||
|
||||
private void SetupFramework(SigScanner scanner) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue