diff --git a/Dalamud/Interface/Internal/Windows/Data/Widgets/NetworkMonitorWidget.cs b/Dalamud/Interface/Internal/Windows/Data/Widgets/NetworkMonitorWidget.cs index 922b72717..6fe05e23f 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, @@ -64,9 +61,9 @@ internal unsafe class NetworkMonitorWidget : IDataWindowWidget (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.hookUp = Hook.FromAddress( + (nint)ZoneClient.MemberFunctionPointers.SendPacket, + this.SendPacketDetour); this.Ready = true; } @@ -213,7 +210,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));