From 210516a029c31b271156a8d1fca9d02a447b5d72 Mon Sep 17 00:00:00 2001 From: pohky Date: Mon, 26 Apr 2021 05:05:29 +0200 Subject: [PATCH] Add Agent field to UIDebug - show the agent address for addons - update agent count to 380 --- Dalamud/Game/Internal/Gui/GameGui.cs | 2 +- Dalamud/Interface/UiDebug.cs | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Dalamud/Game/Internal/Gui/GameGui.cs b/Dalamud/Game/Internal/Gui/GameGui.cs index 2f1d213df..318e2a576 100644 --- a/Dalamud/Game/Internal/Gui/GameGui.cs +++ b/Dalamud/Game/Internal/Gui/GameGui.cs @@ -489,7 +489,7 @@ namespace Dalamud.Game.Internal.Gui { if (id == 0) return IntPtr.Zero; - for (var i = 0; i < 379; i++) + for (var i = 0; i < 380; i++) { var agent = Marshal.ReadIntPtr(agentModule, 0x20 + (i * 8)); if (agent == IntPtr.Zero) diff --git a/Dalamud/Interface/UiDebug.cs b/Dalamud/Interface/UiDebug.cs index fe6840444..6bed12e51 100644 --- a/Dalamud/Interface/UiDebug.cs +++ b/Dalamud/Interface/UiDebug.cs @@ -43,9 +43,11 @@ namespace Dalamud.Interface { }; private string searchInput = string.Empty; + private readonly Dalamud dalamud; - - public UIDebug(Dalamud dalamud) { + public UIDebug(Dalamud dalamud) + { + this.dalamud = dalamud; var getSingletonAddr = dalamud.SigScanner.ScanText("E8 ?? ?? ?? ?? 41 B8 01 00 00 00 48 8D 15 ?? ?? ?? ?? 48 8B 48 20 E8 ?? ?? ?? ?? 48 8B CF"); this.getAtkStageSingleton = Marshal.GetDelegateForFunctionPointer(getSingletonAddr); } @@ -72,7 +74,8 @@ namespace Dalamud.Interface { private void DrawUnitBase(AtkUnitBase* atkUnitBase) { var isVisible = (atkUnitBase->Flags & 0x20) == 0x20; var addonName = Marshal.PtrToStringAnsi(new IntPtr(atkUnitBase->Name)); - + var agent = this.dalamud.Framework.Gui.FindAgentInterface((IntPtr)atkUnitBase); + ImGui.Text($"{addonName}"); ImGui.SameLine(); ImGui.PushStyleColor(ImGuiCol.Text, isVisible ? 0xFF00FF00 : 0xFF0000FF); @@ -86,6 +89,7 @@ namespace Dalamud.Interface { ImGui.Separator(); ClickToCopyText($"Address: {(ulong) atkUnitBase:X}", $"{(ulong) atkUnitBase:X}"); + ClickToCopyText($"Agent: {(ulong)agent:X}", $"{(ulong)agent:X}"); ImGui.Separator(); ImGui.Text($"Position: [ {atkUnitBase->X} , {atkUnitBase->Y} ]");