M src/Core/NosSmooth.LocalBinding/Extensions/MemoryExtensions.cs => src/Core/NosSmooth.LocalBinding/Extensions/MemoryExtensions.cs +3 -3
@@ 20,14 20,14 @@ public static class MemoryExtensions
/// <param name="staticAddress">The static address to follow offsets from.</param>
/// <param name="offsets">The offsets, first offset is the 0-th element.</param>
/// <returns>A final address.</returns>
- public static IntPtr FollowStaticAddressOffsets(this IMemory memory, int staticAddress, int[] offsets)
+ public static nuint FollowStaticAddressOffsets(this IMemory memory, int staticAddress, int[] offsets)
{
int address = staticAddress;
foreach (var offset in offsets)
{
- memory.SafeRead((IntPtr)(address + offset), out address);
+ memory.SafeRead((nuint)(address + offset), out address);
}
- return (IntPtr)address;
+ return (nuint)address;
}
}=
\ No newline at end of file
M src/Core/NosSmooth.LocalBinding/NosBindingManager.cs => src/Core/NosSmooth.LocalBinding/NosBindingManager.cs +1 -1
@@ 350,7 350,7 @@ public class NosBindingManager : IDisposable
bool enableHook = true
)
{
- var walkFunctionAddress = Scanner.CompiledFindPattern(pattern);
+ var walkFunctionAddress = Scanner.FindPattern(pattern);
if (!walkFunctionAddress.Found)
{
return new BindingNotFoundError(pattern, "PetManagerBinding.PetWalk");
M src/Core/NosSmooth.LocalBinding/NosBrowserManager.cs => src/Core/NosSmooth.LocalBinding/NosBrowserManager.cs +1 -1
@@ 136,7 136,7 @@ public class NosBrowserManager
get
{
var player = PlayerManager.Player;
- return player.Address != IntPtr.Zero;
+ return player.Address != nuint.Zero;
}
}
M src/Core/NosSmooth.LocalBinding/NosSmooth.LocalBinding.csproj => src/Core/NosSmooth.LocalBinding/NosSmooth.LocalBinding.csproj +2 -2
@@ 10,8 10,8 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Options" Version="7.0.0" />
- <PackageReference Include="Reloaded.Hooks" Version="3.5.1" />
- <PackageReference Include="Reloaded.Memory.Sigscan" Version="1.2.1" />
+ <PackageReference Include="Reloaded.Hooks" Version="4.2.1" />
+ <PackageReference Include="Reloaded.Memory.Sigscan" Version="3.1.6" />
<PackageReference Include="Remora.Results" Version="7.2.3" />
</ItemGroup>
M src/Core/NosSmooth.LocalBinding/Objects/NetworkBinding.cs => src/Core/NosSmooth.LocalBinding/Objects/NetworkBinding.cs +14 -14
@@ 25,7 25,7 @@ public class NetworkBinding
FunctionAttribute.Register.eax,
FunctionAttribute.StackCleanup.Callee
)]
- private delegate void PacketSendDelegate(IntPtr packetObject, IntPtr packetString);
+ private delegate void PacketSendDelegate(nuint packetObject, nuint packetString);
[Function
(
@@ 33,7 33,7 @@ public class NetworkBinding
FunctionAttribute.Register.eax,
FunctionAttribute.StackCleanup.Callee
)]
- private delegate void PacketReceiveDelegate(IntPtr packetObject, IntPtr packetString);
+ private delegate void PacketReceiveDelegate(nuint packetObject, nuint packetString);
/// <summary>
/// Create the network binding with finding the network object and functions.
@@ 44,19 44,19 @@ public class NetworkBinding
public static Result<NetworkBinding> Create(NosBindingManager bindingManager, NetworkBindingOptions options)
{
var process = Process.GetCurrentProcess();
- var networkObjectAddress = bindingManager.Scanner.CompiledFindPattern(options.NetworkObjectPattern);
+ var networkObjectAddress = bindingManager.Scanner.FindPattern(options.NetworkObjectPattern);
if (!networkObjectAddress.Found)
{
return new BindingNotFoundError(options.NetworkObjectPattern, "NetworkBinding");
}
- var packetSendAddress = bindingManager.Scanner.CompiledFindPattern(options.SendFunctionPattern);
+ var packetSendAddress = bindingManager.Scanner.FindPattern(options.SendFunctionPattern);
if (!packetSendAddress.Found)
{
return new BindingNotFoundError(options.SendFunctionPattern, "NetworkBinding.SendPacket");
}
- var packetReceiveAddress = bindingManager.Scanner.CompiledFindPattern(options.ReceiveFunctionPattern);
+ var packetReceiveAddress = bindingManager.Scanner.FindPattern(options.ReceiveFunctionPattern);
if (!packetReceiveAddress.Found)
{
return new BindingNotFoundError(options.ReceiveFunctionPattern, "NetworkBinding.ReceivePacket");
@@ 73,7 73,7 @@ public class NetworkBinding
var binding = new NetworkBinding
(
bindingManager,
- (IntPtr)(networkObjectAddress.Offset + (int)process.MainModule!.BaseAddress + 0x01),
+ (nuint)(networkObjectAddress.Offset + (int)process.MainModule!.BaseAddress + 0x01),
sendWrapper,
receiveWrapper
);
@@ 98,7 98,7 @@ public class NetworkBinding
}
private readonly NosBindingManager _bindingManager;
- private readonly IntPtr _networkManagerAddress;
+ private readonly nuint _networkManagerAddress;
private IHook<PacketSendDelegate>? _sendHook;
private IHook<PacketReceiveDelegate>? _receiveHook;
private PacketSendDelegate _originalSend;
@@ 107,7 107,7 @@ public class NetworkBinding
private NetworkBinding
(
NosBindingManager bindingManager,
- IntPtr networkManagerAddress,
+ nuint networkManagerAddress,
PacketSendDelegate originalSend,
PacketReceiveDelegate originalReceive
)
@@ 185,9 185,9 @@ public class NetworkBinding
return Result.FromSuccess();
}
- private IntPtr GetManagerAddress(bool third)
+ private nuint GetManagerAddress(bool third)
{
- IntPtr networkManager = _networkManagerAddress;
+ nuint networkManager = _networkManagerAddress;
_bindingManager.Memory.Read(networkManager, out networkManager);
_bindingManager.Memory.Read(networkManager, out networkManager);
_bindingManager.Memory.Read(networkManager, out networkManager);
@@ 200,9 200,9 @@ public class NetworkBinding
return networkManager;
}
- private void SendPacketDetour(IntPtr packetObject, IntPtr packetString)
+ private void SendPacketDetour(nuint packetObject, nuint packetString)
{
- var packet = Marshal.PtrToStringAnsi(packetString);
+ var packet = Marshal.PtrToStringAnsi((IntPtr)packetString);
if (packet is null)
{ // ?
_originalSend(packetObject, packetString);
@@ 219,9 219,9 @@ public class NetworkBinding
private bool _receivedCancel = false;
- private void ReceivePacketDetour(IntPtr packetObject, IntPtr packetString)
+ private void ReceivePacketDetour(nuint packetObject, nuint packetString)
{
- var packet = Marshal.PtrToStringAnsi(packetString);
+ var packet = Marshal.PtrToStringAnsi((IntPtr)packetString);
if (packet is null)
{ // ?
_originalReceive(packetObject, packetString);
M src/Core/NosSmooth.LocalBinding/Objects/NostaleStringA.cs => src/Core/NosSmooth.LocalBinding/Objects/NostaleStringA.cs +6 -8
@@ 15,7 15,7 @@ namespace NosSmooth.LocalBinding.Objects;
public class NostaleStringA : IDisposable
{
private readonly IMemory _memory;
- private IntPtr _pointer;
+ private nuint _pointer;
/// <summary>
/// Create an instance of <see cref="NostaleStringA"/>.
@@ 30,16 30,14 @@ public class NostaleStringA : IDisposable
memory.SafeWrite(allocated, 1);
memory.SafeWrite(allocated + 4, data.Length);
memory.SafeWriteRaw(allocated + 8, bytes);
- memory.SafeWrite(allocated + 8 + data.Length, 0);
-
+ memory.SafeWrite(allocated + 8 + (nuint)data.Length, 0);
return new NostaleStringA(memory, allocated);
}
- private NostaleStringA(IMemory memory, IntPtr pointer)
+ private NostaleStringA(IMemory memory, nuint pointer)
{
_memory = memory;
_pointer = pointer;
-
}
/// <summary>
@@ 53,13 51,13 @@ public class NostaleStringA : IDisposable
/// <summary>
/// Gets whether the string is still allocated.
/// </summary>
- public bool Allocated => _pointer != IntPtr.Zero;
+ public bool Allocated => _pointer != nuint.Zero;
/// <summary>
/// Get the pointer to the string.
/// </summary>
/// <returns>A pointer to the string to pass to NosTale.</returns>
- public IntPtr Get()
+ public nuint Get()
{
return _pointer + 0x08;
}
@@ 72,7 70,7 @@ public class NostaleStringA : IDisposable
if (Allocated)
{
_memory.Free(_pointer);
- _pointer = IntPtr.Zero;
+ _pointer = nuint.Zero;
}
}
M src/Core/NosSmooth.LocalBinding/Objects/PetManagerBinding.cs => src/Core/NosSmooth.LocalBinding/Objects/PetManagerBinding.cs +2 -2
@@ 56,7 56,7 @@ public class PetManagerBinding
)]
private delegate bool PetWalkDelegate
(
- IntPtr petManagerPtr,
+ nuint petManagerPtr,
uint position,
short unknown0 = 0,
int unknown1 = 1,
@@ 122,7 122,7 @@ public class PetManagerBinding
private bool PetWalkDetour
(
- IntPtr petManagerPtr,
+ nuint petManagerPtr,
uint position,
short unknown0 = 0,
int unknown1 = 1,
M src/Core/NosSmooth.LocalBinding/Objects/PlayerManagerBinding.cs => src/Core/NosSmooth.LocalBinding/Objects/PlayerManagerBinding.cs +13 -13
@@ 25,7 25,7 @@ public class PlayerManagerBinding
FunctionAttribute.Register.eax,
FunctionAttribute.StackCleanup.Callee
)]
- private delegate bool WalkDelegate(IntPtr playerManagerPtr, int position, short unknown0 = 0, int unknown1 = 1);
+ private delegate bool WalkDelegate(nuint playerManagerPtr, int position, short unknown0 = 0, int unknown1 = 1);
[Function
(
@@ 35,8 35,8 @@ public class PlayerManagerBinding
)]
private delegate bool FollowEntityDelegate
(
- IntPtr playerManagerPtr,
- IntPtr entityPtr,
+ nuint playerManagerPtr,
+ nuint entityPtr,
int unknown1 = 0,
int unknown2 = 1
);
@@ 47,7 47,7 @@ public class PlayerManagerBinding
FunctionAttribute.Register.eax,
FunctionAttribute.StackCleanup.Callee
)]
- private delegate void UnfollowEntityDelegate(IntPtr playerManagerPtr, int unknown = 0);
+ private delegate void UnfollowEntityDelegate(nuint playerManagerPtr, int unknown = 0);
/// <summary>
/// Create the network binding with finding the network object and functions.
@@ 60,19 60,19 @@ public class PlayerManagerBinding
{
var process = Process.GetCurrentProcess();
- var walkFunctionAddress = bindingManager.Scanner.CompiledFindPattern(options.WalkFunctionPattern);
+ var walkFunctionAddress = bindingManager.Scanner.FindPattern(options.WalkFunctionPattern);
if (!walkFunctionAddress.Found)
{
return new BindingNotFoundError(options.WalkFunctionPattern, "CharacterBinding.Walk");
}
- var followEntityAddress = bindingManager.Scanner.CompiledFindPattern(options.FollowEntityPattern);
+ var followEntityAddress = bindingManager.Scanner.FindPattern(options.FollowEntityPattern);
if (!followEntityAddress.Found)
{
return new BindingNotFoundError(options.FollowEntityPattern, "CharacterBinding.FollowEntity");
}
- var unfollowEntityAddress = bindingManager.Scanner.CompiledFindPattern(options.UnfollowEntityPattern);
+ var unfollowEntityAddress = bindingManager.Scanner.FindPattern(options.UnfollowEntityPattern);
if (!unfollowEntityAddress.Found)
{
return new BindingNotFoundError(options.UnfollowEntityPattern, "CharacterBinding.UnfollowEntity");
@@ 200,7 200,7 @@ public class PlayerManagerBinding
}
}
- private bool WalkDetour(IntPtr characterObject, int position, short unknown0, int unknown1)
+ private bool WalkDetour(nuint characterObject, int position, short unknown0, int unknown1)
{
var result = WalkCall?.Invoke((ushort)(position & 0xFFFF), (ushort)((position >> 16) & 0xFFFF));
if (result ?? true)
@@ 217,14 217,14 @@ public class PlayerManagerBinding
/// <param name="entity">The entity.</param>
/// <returns>A result that may or may not have succeeded.</returns>
public Result FollowEntity(MapBaseObj? entity)
- => FollowEntity(entity?.Address ?? IntPtr.Zero);
+ => FollowEntity(entity?.Address ?? nuint.Zero);
/// <summary>
/// Follow the entity.
/// </summary>
/// <param name="entityAddress">The entity address.</param>
/// <returns>A result that may or may not have succeeded.</returns>
- public Result FollowEntity(IntPtr entityAddress)
+ public Result FollowEntity(nuint entityAddress)
{
try
{
@@ 258,8 258,8 @@ public class PlayerManagerBinding
private bool FollowEntityDetour
(
- IntPtr playerManagerPtr,
- IntPtr entityPtr,
+ nuint playerManagerPtr,
+ nuint entityPtr,
int unknown1,
int unknown2
)
@@ 273,7 273,7 @@ public class PlayerManagerBinding
return false;
}
- private void UnfollowEntityDetour(IntPtr playerManagerPtr, int unknown)
+ private void UnfollowEntityDetour(nuint playerManagerPtr, int unknown)
{
var result = FollowEntityCall?.Invoke(null);
if (result ?? true)
M src/Core/NosSmooth.LocalBinding/Objects/UnitManagerBinding.cs => src/Core/NosSmooth.LocalBinding/Objects/UnitManagerBinding.cs +8 -9
@@ 14,7 14,6 @@ using Reloaded.Hooks.Definitions;
using Reloaded.Hooks.Definitions.X86;
using Reloaded.Memory.Buffers.Internal.Kernel32;
using Remora.Results;
-using SharpDisasm.Udis86;
namespace NosSmooth.LocalBinding.Objects;
@@ 32,7 31,7 @@ public class UnitManagerBinding
FunctionAttribute.Register.eax,
FunctionAttribute.StackCleanup.Callee
)]
- private delegate int FocusEntityDelegate(IntPtr unitManagerPtr, IntPtr entityPtr);
+ private delegate int FocusEntityDelegate(nuint unitManagerPtr, nuint entityPtr);
/// <summary>
/// Create the scene manager binding.
@@ 45,13 44,13 @@ public class UnitManagerBinding
{
var process = Process.GetCurrentProcess();
- var unitManagerStaticAddress = bindingManager.Scanner.CompiledFindPattern(bindingOptions.UnitManagerPattern);
+ var unitManagerStaticAddress = bindingManager.Scanner.FindPattern(bindingOptions.UnitManagerPattern);
if (!unitManagerStaticAddress.Found)
{
return new BindingNotFoundError(bindingOptions.UnitManagerPattern, "UnitManagerBinding.UnitManager");
}
- var focusEntityAddress = bindingManager.Scanner.CompiledFindPattern(bindingOptions.FocusEntityPattern);
+ var focusEntityAddress = bindingManager.Scanner.FindPattern(bindingOptions.FocusEntityPattern);
if (!focusEntityAddress.Found)
{
return new BindingNotFoundError(bindingOptions.FocusEntityPattern, "UnitManagerBinding.FocusEntity");
@@ 104,7 103,7 @@ public class UnitManagerBinding
/// <summary>
/// Gets the address of unit manager.
/// </summary>
- public IntPtr Address => _bindingManager.Memory.FollowStaticAddressOffsets
+ public nuint Address => _bindingManager.Memory.FollowStaticAddressOffsets
(_staticUnitManagerAddress, _unitManagerOffsets);
/// <summary>
@@ 121,14 120,14 @@ public class UnitManagerBinding
/// <param name="entity">The entity.</param>
/// <returns>A result that may or may not have succeeded.</returns>
public Result FocusEntity(MapBaseObj? entity)
- => FocusEntity(entity?.Address ?? IntPtr.Zero);
+ => FocusEntity(entity?.Address ?? nuint.Zero);
/// <summary>
/// Focus the entity.
/// </summary>
/// <param name="entityAddress">The entity address.</param>
/// <returns>A result that may or may not have succeeded.</returns>
- public Result FocusEntity(IntPtr entityAddress)
+ public Result FocusEntity(nuint entityAddress)
{
try
{
@@ 142,10 141,10 @@ public class UnitManagerBinding
return Result.FromSuccess();
}
- private int FocusEntityDetour(IntPtr unitManagerPtr, IntPtr entityId)
+ private int FocusEntityDetour(nuint unitManagerPtr, nuint entityId)
{
MapBaseObj? obj = null;
- if (entityId != IntPtr.Zero)
+ if (entityId != nuint.Zero)
{
obj = new MapBaseObj(_bindingManager.Memory, entityId);
}
M src/Core/NosSmooth.LocalBinding/Structs/ControlManager.cs => src/Core/NosSmooth.LocalBinding/Structs/ControlManager.cs +1 -1
@@ 18,7 18,7 @@ public abstract class ControlManager : NostaleObject
/// </summary>
/// <param name="memory">The memory.</param>
/// <param name="address">The address of the manager.</param>
- protected ControlManager(IMemory memory, IntPtr address)
+ protected ControlManager(IMemory memory, nuint address)
: base(memory, address)
{
}
M src/Core/NosSmooth.LocalBinding/Structs/MapBaseObj.cs => src/Core/NosSmooth.LocalBinding/Structs/MapBaseObj.cs +1 -1
@@ 25,7 25,7 @@ public class MapBaseObj : NostaleObject
/// </summary>
/// <param name="memory">The memory.</param>
/// <param name="mapObjPointer">The map object pointer.</param>
- public MapBaseObj(IMemory memory, IntPtr mapObjPointer)
+ public MapBaseObj(IMemory memory, nuint mapObjPointer)
: base(memory, mapObjPointer)
{
}
M src/Core/NosSmooth.LocalBinding/Structs/MapNpcObj.cs => src/Core/NosSmooth.LocalBinding/Structs/MapNpcObj.cs +1 -1
@@ 18,7 18,7 @@ public class MapNpcObj : MapBaseObj
/// </summary>
/// <param name="memory">The memory.</param>
/// <param name="mapObjPointer">The pointer to the object.</param>
- public MapNpcObj(IMemory memory, IntPtr mapObjPointer)
+ public MapNpcObj(IMemory memory, nuint mapObjPointer)
: base(memory, mapObjPointer)
{
}
M src/Core/NosSmooth.LocalBinding/Structs/MapPlayerObj.cs => src/Core/NosSmooth.LocalBinding/Structs/MapPlayerObj.cs +3 -3
@@ 22,7 22,7 @@ public class MapPlayerObj : MapBaseObj
/// </summary>
/// <param name="memory">The memory.</param>
/// <param name="mapObjPointer">The player object pointer.</param>
- public MapPlayerObj(IMemory memory, IntPtr mapObjPointer)
+ public MapPlayerObj(IMemory memory, nuint mapObjPointer)
: base(memory, mapObjPointer)
{
_memory = memory;
@@ 36,9 36,9 @@ public class MapPlayerObj : MapBaseObj
get
{
_memory.SafeRead(Address + 0x1EC, out int nameAddress);
- _memory.SafeRead((IntPtr)nameAddress - 4, out int nameLength);
+ _memory.SafeRead((nuint)nameAddress - 4, out int nameLength);
byte[] data = new byte[nameLength];
- _memory.SafeReadRaw((IntPtr)nameAddress, out data, nameLength);
+ _memory.SafeReadRaw((nuint)nameAddress, out data, nameLength);
return Encoding.ASCII.GetString(data);
}
}
M src/Core/NosSmooth.LocalBinding/Structs/NostaleList.cs => src/Core/NosSmooth.LocalBinding/Structs/NostaleList.cs +4 -4
@@ 24,7 24,7 @@ public class NostaleList<T> : IEnumerable<T>
/// </summary>
/// <param name="memory">The memory.</param>
/// <param name="objListPointer">The object list pointer.</param>
- public NostaleList(IMemory memory, IntPtr objListPointer)
+ public NostaleList(IMemory memory, nuint objListPointer)
{
_memory = memory;
Address = objListPointer;
@@ 33,7 33,7 @@ public class NostaleList<T> : IEnumerable<T>
/// <summary>
/// Gets the address.
/// </summary>
- protected IntPtr Address { get; }
+ protected nuint Address { get; }
/// <summary>
/// Gets the element at the given index.
@@ 50,12 50,12 @@ public class NostaleList<T> : IEnumerable<T>
}
_memory.SafeRead(Address + 0x04, out int arrayAddress);
- _memory.SafeRead((IntPtr)arrayAddress + (0x04 * index), out int objectAddress);
+ _memory.SafeRead((nuint)arrayAddress + (nuint)(0x04 * index), out int objectAddress);
return new T
{
Memory = _memory,
- Address = (IntPtr)objectAddress
+ Address = (nuint)objectAddress
};
}
}
M src/Core/NosSmooth.LocalBinding/Structs/NostaleObject.cs => src/Core/NosSmooth.LocalBinding/Structs/NostaleObject.cs +2 -2
@@ 25,7 25,7 @@ public abstract class NostaleObject
/// </summary>
/// <param name="memory">The memory.</param>
/// <param name="address">The address in the memory.</param>
- protected NostaleObject(IMemory memory, IntPtr address)
+ protected NostaleObject(IMemory memory, nuint address)
{
Memory = memory;
Address = address;
@@ 39,5 39,5 @@ public abstract class NostaleObject
/// <summary>
/// Gets the address of the object.
/// </summary>
- public virtual IntPtr Address { get; internal set; } = IntPtr.Zero;
+ public virtual nuint Address { get; internal set; } = nuint.Zero;
}=
\ No newline at end of file
M src/Core/NosSmooth.LocalBinding/Structs/PetManager.cs => src/Core/NosSmooth.LocalBinding/Structs/PetManager.cs +3 -3
@@ 20,7 20,7 @@ public class PetManager : ControlManager
/// Initializes a new instance of the <see cref="PetManager"/> class.
/// </summary>
public PetManager()
- : base(null!, IntPtr.Zero)
+ : base(null!, nuint.Zero)
{
}
@@ 29,7 29,7 @@ public class PetManager : ControlManager
/// </summary>
/// <param name="memory">The memory.</param>
/// <param name="petManagerAddress">The pet manager address.</param>
- public PetManager(IMemory memory, IntPtr petManagerAddress)
+ public PetManager(IMemory memory, nuint petManagerAddress)
: base(memory, petManagerAddress)
{
}
@@ 42,7 42,7 @@ public class PetManager : ControlManager
get
{
Memory.SafeRead(Address + 0x7C, out int playerAddress);
- return new MapNpcObj(Memory, (IntPtr)playerAddress);
+ return new MapNpcObj(Memory, (nuint)playerAddress);
}
}
M src/Core/NosSmooth.LocalBinding/Structs/PetManagerList.cs => src/Core/NosSmooth.LocalBinding/Structs/PetManagerList.cs +1 -2
@@ 9,7 9,6 @@ using NosSmooth.LocalBinding.Extensions;
using NosSmooth.LocalBinding.Options;
using Reloaded.Memory.Sources;
using Remora.Results;
-using SharpDisasm.Udis86;
namespace NosSmooth.LocalBinding.Structs;
@@ 26,7 25,7 @@ public class PetManagerList : NostaleList<PetManager>
/// <returns>The player manager or an error.</returns>
public static Result<PetManagerList> Create(NosBrowserManager nosBrowserManager, PetManagerOptions options)
{
- var characterObjectAddress = nosBrowserManager.Scanner.CompiledFindPattern(options.PetManagerListPattern);
+ var characterObjectAddress = nosBrowserManager.Scanner.FindPattern(options.PetManagerListPattern);
if (!characterObjectAddress.Found)
{
return new BindingNotFoundError(options.PetManagerListPattern, "PetManagerList");
M src/Core/NosSmooth.LocalBinding/Structs/PlayerManager.cs => src/Core/NosSmooth.LocalBinding/Structs/PlayerManager.cs +4 -4
@@ 26,7 26,7 @@ public class PlayerManager : ControlManager
/// <returns>The player manager or an error.</returns>
public static Result<PlayerManager> Create(NosBrowserManager nosBrowserManager, PlayerManagerOptions options)
{
- var characterObjectAddress = nosBrowserManager.Scanner.CompiledFindPattern(options.PlayerManagerPattern);
+ var characterObjectAddress = nosBrowserManager.Scanner.FindPattern(options.PlayerManagerPattern);
if (!characterObjectAddress.Found)
{
return new BindingNotFoundError(options.PlayerManagerPattern, "PlayerManager");
@@ 52,7 52,7 @@ public class PlayerManager : ControlManager
/// <param name="staticPlayerManagerAddress">The pointer to the beginning of the player manager structure.</param>
/// <param name="playerManagerOffsets">The offsets to get the player manager address from the static one.</param>
public PlayerManager(IMemory memory, int staticPlayerManagerAddress, int[] playerManagerOffsets)
- : base(memory, IntPtr.Zero)
+ : base(memory, nuint.Zero)
{
_memory = memory;
_staticPlayerManagerAddress = staticPlayerManagerAddress;
@@ 62,7 62,7 @@ public class PlayerManager : ControlManager
/// <summary>
/// Gets the address to the player manager.
/// </summary>
- public override IntPtr Address => _memory.FollowStaticAddressOffsets
+ public override nuint Address => _memory.FollowStaticAddressOffsets
(_staticPlayerManagerAddress, _playerManagerOffsets);
/// <summary>
@@ 73,7 73,7 @@ public class PlayerManager : ControlManager
get
{
_memory.SafeRead(Address + 0x20, out int playerAddress);
- return new MapPlayerObj(_memory, (IntPtr)playerAddress);
+ return new MapPlayerObj(_memory, (nuint)playerAddress);
}
}
M src/Core/NosSmooth.LocalBinding/Structs/SceneManager.cs => src/Core/NosSmooth.LocalBinding/Structs/SceneManager.cs +6 -6
@@ 25,7 25,7 @@ public class SceneManager
/// <returns>The player manager or an error.</returns>
public static Result<SceneManager> Create(NosBrowserManager nosBrowserManager, SceneManagerOptions options)
{
- var characterObjectAddress = nosBrowserManager.Scanner.CompiledFindPattern(options.SceneManagerObjectPattern);
+ var characterObjectAddress = nosBrowserManager.Scanner.FindPattern(options.SceneManagerObjectPattern);
if (!characterObjectAddress.Found)
{
return new BindingNotFoundError(options.SceneManagerObjectPattern, "SceneManager");
@@ 60,7 60,7 @@ public class SceneManager
/// <summary>
/// Gets the address of the scene manager.
/// </summary>
- public IntPtr Address => _memory.FollowStaticAddressOffsets(_staticSceneManagerAddress, _sceneManagerOffsets);
+ public nuint Address => _memory.FollowStaticAddressOffsets(_staticSceneManagerAddress, _sceneManagerOffsets);
/// <summary>
/// Gets the player list.
@@ 90,7 90,7 @@ public class SceneManager
get
{
var ptr = ReadPtr(Address + 0x48);
- if (ptr == IntPtr.Zero)
+ if (ptr == nuint.Zero)
{
return null;
}
@@ 102,7 102,7 @@ public class SceneManager
/// <summary>
/// Gets the lock on target marked address.
/// </summary>
- public IntPtr LockOnTargetMarkedAddress
+ public nuint LockOnTargetMarkedAddress
{
get
{
@@ 113,10 113,10 @@ public class SceneManager
}
}
- private IntPtr ReadPtr(IntPtr ptr)
+ private nuint ReadPtr(nuint ptr)
{
_memory.Read(ptr, out int read);
- return (IntPtr)read;
+ return (nuint)read;
}
/// <summary>
M src/Core/NosSmooth.LocalClient/NosSmooth.LocalClient.csproj => src/Core/NosSmooth.LocalClient/NosSmooth.LocalClient.csproj +3 -3
@@ 12,10 12,10 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="NosSmooth.Core" Version="1.2.1" />
+ <PackageReference Include="NosSmooth.Core" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
- <PackageReference Include="Reloaded.Hooks" Version="3.5.1" />
- <PackageReference Include="Reloaded.Memory.Sigscan" Version="1.2.1" />
+ <PackageReference Include="Reloaded.Hooks" Version="4.2.1" />
+ <PackageReference Include="Reloaded.Memory.Sigscan" Version="3.1.6" />
</ItemGroup>
</Project>
M src/Inject/NosSmooth.Injector.CLI/NosSmooth.Injector.CLI.csproj => src/Inject/NosSmooth.Injector.CLI/NosSmooth.Injector.CLI.csproj +1 -1
@@ 10,7 10,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
- <PackageReference Include="Remora.Commands" Version="8.0.0" />
+ <PackageReference Include="Remora.Commands" Version="10.0.3" />
</ItemGroup>
<ItemGroup>
M src/Inject/NosSmooth.Injector/ManagedMemoryAllocation.cs => src/Inject/NosSmooth.Injector/ManagedMemoryAllocation.cs +4 -4
@@ 21,7 21,7 @@ internal class ManagedMemoryAllocation : IDisposable
/// </summary>
/// <param name="memory">The memory with allocation.</param>
/// <param name="pointer">The pointer to allocated memory.</param>
- public ManagedMemoryAllocation(IMemory memory, IntPtr pointer)
+ public ManagedMemoryAllocation(IMemory memory, nuint pointer)
{
Pointer = pointer;
_memory = memory;
@@ 31,17 31,17 @@ internal class ManagedMemoryAllocation : IDisposable
/// <summary>
/// The allocated pointer number.
/// </summary>
- public IntPtr Pointer { get; private set; }
+ public nuint Pointer { get; private set; }
/// <summary>
/// Whether the memory is currently allocated.
/// </summary>
- public bool Allocated => Pointer != IntPtr.Zero;
+ public bool Allocated => Pointer != nuint.Zero;
/// <inheritdoc />
public void Dispose()
{
_memory.Free(Pointer);
- Pointer = IntPtr.Zero;
+ Pointer = nuint.Zero;
}
}=
\ No newline at end of file
M src/Inject/NosSmooth.Injector/NosInjector.cs => src/Inject/NosSmooth.Injector/NosInjector.cs +2 -2
@@ 164,12 164,12 @@ public class NosInjector
{
var bytes = Encoding.Unicode.GetBytes(str);
var allocated = memory.Allocate(bytes.Length + 1);
- if (allocated == IntPtr.Zero)
+ if (allocated == nuint.Zero)
{
return new ManagedMemoryAllocation(memory, allocated);
}
- memory.SafeWriteRaw(allocated + bytes.Length, new byte[] { 0 });
+ memory.SafeWriteRaw(allocated + (nuint)bytes.Length, new byte[] { 0 });
memory.SafeWriteRaw(allocated, bytes);
return new ManagedMemoryAllocation(memory, allocated);
}
M src/Inject/NosSmooth.Injector/NosSmooth.Injector.csproj => src/Inject/NosSmooth.Injector/NosSmooth.Injector.csproj +2 -2
@@ 7,8 7,8 @@
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" />
- <PackageReference Include="Reloaded.Injector" Version="1.2.4" />
+ <PackageReference Include="Microsoft.Extensions.Options" Version="7.0.0" />
+ <PackageReference Include="Reloaded.Injector" Version="1.2.5" />
<PackageReference Include="Remora.Results" Version="7.2.3" />
</ItemGroup>
M src/Samples/External/ExternalBrowser/ExternalBrowser.csproj => src/Samples/External/ExternalBrowser/ExternalBrowser.csproj +1 -1
@@ 12,7 12,7 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="NosSmooth.Core" Version="1.2.1" />
+ <PackageReference Include="NosSmooth.Core" Version="3.0.0" />
</ItemGroup>
</Project>
M src/Samples/LowLevel/InterceptNameChanger/InterceptNameChanger.csproj => src/Samples/LowLevel/InterceptNameChanger/InterceptNameChanger.csproj +2 -2
@@ 10,14 10,14 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
- <PackageReference Include="Fody" Version="6.6.0">
+ <PackageReference Include="Fody" Version="6.6.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
- <PackageReference Include="NosSmooth.Core" Version="1.2.1" />
+ <PackageReference Include="NosSmooth.Core" Version="3.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Core\NosSmooth.LocalClient\NosSmooth.LocalClient.csproj" />
M src/Samples/LowLevel/SimpleChat/SimpleChat.csproj => src/Samples/LowLevel/SimpleChat/SimpleChat.csproj +2 -2
@@ 11,14 11,14 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
- <PackageReference Include="Fody" Version="6.6.0">
+ <PackageReference Include="Fody" Version="6.6.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
- <PackageReference Include="NosSmooth.Core" Version="1.2.1" />
+ <PackageReference Include="NosSmooth.Core" Version="3.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Core\NosSmooth.LocalClient\NosSmooth.LocalClient.csproj" />
M src/Samples/LowLevel/WalkCommands/WalkCommands.csproj => src/Samples/LowLevel/WalkCommands/WalkCommands.csproj +3 -3
@@ 18,7 18,7 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Fody">
- <Version>6.6.0</Version>
+ <Version>6.6.4</Version>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.DependencyInjection">
@@ 34,10 34,10 @@
<Version>2.0.0</Version>
</PackageReference>
<PackageReference Include="NosSmooth.Data.NOSFiles">
- <Version>2.0.1</Version>
+ <Version>2.0.2</Version>
</PackageReference>
<PackageReference Include="NosSmooth.Extensions.Pathfinding">
- <Version>1.0.0</Version>
+ <Version>1.1.0</Version>
</PackageReference>
<PackageReference Include="Remora.Results">
<Version>7.2.3</Version>