// // IPacketSendHook.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using NosSmooth.LocalBinding.EventArgs; using NosSmooth.LocalBinding.Objects; using Reloaded.Hooks.Definitions.X86; namespace NosSmooth.LocalBinding.Hooks; /// /// A hook of NetworkManager.PacketSend. /// public interface IPacketSendHook : INostaleHook { /// /// NosTale packet send function to hook. /// /// The packet object. /// Pointer to .Get() object. /// 1 to proceed to NosTale function, 0 to block the call. [Function ( new[] { FunctionAttribute.Register.eax, FunctionAttribute.Register.edx }, FunctionAttribute.Register.eax, FunctionAttribute.StackCleanup.Callee, new[] { FunctionAttribute.Register.ebx, FunctionAttribute.Register.esi, FunctionAttribute.Register.edi, FunctionAttribute.Register.ebp } )] public delegate nuint PacketSendDelegate(nuint packetObject, nuint packetString); /// /// Packet send function. /// /// The string to send. public delegate void PacketSendWrapperDelegate(string packetString); }