diff --git a/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs b/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs index 0b306f093..ab3da7bf3 100644 --- a/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs +++ b/Dalamud/Game/Gui/ContextMenu/ContextMenu.cs @@ -336,7 +336,7 @@ internal sealed unsafe class ContextMenu : IInternalDisposableService, IContextM this.MenuCallbackIds.Clear(); this.SelectedAgent = agent; var unitManager = RaptureAtkUnitManager.Instance(); - this.SelectedParentAddon = unitManager->GetAddonById(unitManager->GetAddonByName(addonName)->ContextMenuParentId); + this.SelectedParentAddon = unitManager->GetAddonById(unitManager->GetAddonByName(addonName)->BlockedParentId); this.SelectedEventInterfaces.Clear(); if (this.SelectedAgent == AgentInventoryContext.Instance()) { diff --git a/Dalamud/Interface/Internal/Windows/Data/Widgets/GaugeWidget.cs b/Dalamud/Interface/Internal/Windows/Data/Widgets/GaugeWidget.cs index 74403a32b..8badcfaf8 100644 --- a/Dalamud/Interface/Internal/Windows/Data/Widgets/GaugeWidget.cs +++ b/Dalamud/Interface/Internal/Windows/Data/Widgets/GaugeWidget.cs @@ -62,7 +62,7 @@ internal class GaugeWidget : IDataWindowWidget 40 => jobGauges.Get(), 41 => jobGauges.Get(), 42 => jobGauges.Get(), - _ => null + _ => null, }; if (gauge == null) diff --git a/Dalamud/Interface/Internal/Windows/Data/Widgets/HookWidget.cs b/Dalamud/Interface/Internal/Windows/Data/Widgets/HookWidget.cs index fd27996ed..e19281b40 100644 --- a/Dalamud/Interface/Internal/Windows/Data/Widgets/HookWidget.cs +++ b/Dalamud/Interface/Internal/Windows/Data/Widgets/HookWidget.cs @@ -50,7 +50,7 @@ internal unsafe class HookWidget : IDataWindowWidget { MessageBoxW, AddonFinalize, - Random + Random, } /// diff --git a/Dalamud/Interface/Internal/Windows/Data/Widgets/NetworkMonitorWidget.cs b/Dalamud/Interface/Internal/Windows/Data/Widgets/NetworkMonitorWidget.cs index 922b72717..4460a9f9a 100644 --- a/Dalamud/Interface/Internal/Windows/Data/Widgets/NetworkMonitorWidget.cs +++ b/Dalamud/Interface/Internal/Windows/Data/Widgets/NetworkMonitorWidget.cs @@ -2,7 +2,6 @@ using System.Collections.Concurrent; using System.Threading; using Dalamud.Bindings.ImGui; -using Dalamud.Game; using Dalamud.Hooking; using Dalamud.Interface.Components; using Dalamud.Interface.Utility.Raii; @@ -23,7 +22,7 @@ internal unsafe class NetworkMonitorWidget : IDataWindowWidget private readonly ConcurrentQueue packets = new(); private Hook? hookDown; - private Hook? hookUp; + private Hook? hookUp; private bool trackNetwork; private int trackedPackets = 20; @@ -40,8 +39,6 @@ internal unsafe class NetworkMonitorWidget : IDataWindowWidget this.hookUp?.Dispose(); } - private delegate byte ZoneClientSendPacketDelegate(ZoneClient* thisPtr, nint packet, uint a3, uint a4, byte a5); - private enum NetworkMessageDirection { ZoneDown, @@ -58,22 +55,19 @@ internal unsafe class NetworkMonitorWidget : IDataWindowWidget public bool Ready { get; set; } /// - public void Load() - { - this.hookDown = Hook.FromAddress( - (nint)PacketDispatcher.StaticVirtualTablePointer->OnReceivePacket, - this.OnReceivePacketDetour); - - // TODO: switch to ZoneClient.SendPacket from CS - if (Service.Get().TryScanText("E8 ?? ?? ?? ?? 4C 8B 44 24 ?? E9", out var address)) - this.hookUp = Hook.FromAddress(address, this.SendPacketDetour); - - this.Ready = true; - } + public void Load() => this.Ready = true; /// public void Draw() { + this.hookDown ??= Hook.FromAddress( + (nint)PacketDispatcher.StaticVirtualTablePointer->OnReceivePacket, + this.OnReceivePacketDetour); + + this.hookUp ??= Hook.FromAddress( + (nint)ZoneClient.MemberFunctionPointers.SendPacket, + this.SendPacketDetour); + if (ImGui.Checkbox("Track Network Packets"u8, ref this.trackNetwork)) { if (this.trackNetwork) @@ -213,7 +207,7 @@ internal unsafe class NetworkMonitorWidget : IDataWindowWidget this.hookDown.OriginalDisposeSafe(thisPtr, targetId, packet); } - private byte SendPacketDetour(ZoneClient* thisPtr, nint packet, uint a3, uint a4, byte a5) + private bool SendPacketDetour(ZoneClient* thisPtr, nint packet, uint a3, uint a4, bool a5) { var opCode = *(ushort*)packet; this.RecordPacket(new NetworkPacketData(Interlocked.Increment(ref this.nextPacketIndex), DateTime.Now, opCode, NetworkMessageDirection.ZoneUp, 0, string.Empty)); diff --git a/Dalamud/Plugin/Services/ITextureProvider.cs b/Dalamud/Plugin/Services/ITextureProvider.cs index a4d1dcbd2..63a463613 100644 --- a/Dalamud/Plugin/Services/ITextureProvider.cs +++ b/Dalamud/Plugin/Services/ITextureProvider.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Reflection; @@ -322,7 +322,7 @@ public interface ITextureProvider : IDalamudService /// Whether to leave non-disposed when the returned /// completes. /// Address of the new . - /// See PrintTextureInfo in for an example + /// See PrintTextureInfo in for an example /// of replacing the texture of an image node. /// /// If the returned kernel texture is to be destroyed, call the fourth function in its vtable, by calling