Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 774ec6f

Browse filesBrowse files
committed
Replaced generic method with normal methods.
1 parent 9041ff4 commit 774ec6f
Copy full SHA for 774ec6f

9 files changed

+47
-18
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
using System;
2+
using System.Text;
3+
using ReClassNET.Memory;
4+
5+
namespace ReClassNET.Extensions
6+
{
7+
public static class IRemoteMemoryWriterExtension
8+
{
9+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, sbyte value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
10+
11+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, byte value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
12+
13+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, short value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
14+
15+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, ushort value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
16+
17+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, int value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
18+
19+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, uint value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
20+
21+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, long value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
22+
23+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, ulong value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
24+
25+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, float value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
26+
27+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, double value) => writer.WriteRemoteMemory(address, writer.BitConverter.GetBytes(value));
28+
29+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, IntPtr value)
30+
{
31+
#if RECLASSNET64
32+
writer.WriteRemoteMemory(address, value.ToInt64());
33+
#else
34+
writer.WriteRemoteMemory(address, value.ToInt32());
35+
#endif
36+
}
37+
38+
public static void WriteRemoteMemory(this IRemoteMemoryWriter writer, IntPtr address, string value, Encoding encoding) => writer.WriteRemoteMemory(address, encoding.GetBytes(value));
39+
}
40+
}
+1-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Text;
23
using ReClassNET.Util.Conversion;
34

45
namespace ReClassNET.Memory
@@ -12,12 +13,5 @@ public interface IRemoteMemoryWriter
1213
/// <param name="data">The data to write.</param>
1314
/// <returns>True if it succeeds, false if it fails.</returns>
1415
bool WriteRemoteMemory(IntPtr address, byte[] data);
15-
16-
/// <summary>Writes the given <paramref name="value"/> to the <paramref name="address"/> in the remote process.</summary>
17-
/// <typeparam name="T">Type of the value to write.</typeparam>
18-
/// <param name="address">The address to write to.</param>
19-
/// <param name="value">The value to write.</param>
20-
/// <returns>True if it succeeds, false if it fails.</returns>
21-
bool WriteRemoteMemory<T>(IntPtr address, T value) where T : struct;
2216
}
2317
}

‎ReClass.NET/Memory/RemoteProcess.cs

Copy file name to clipboardExpand all lines: ReClass.NET/Memory/RemoteProcess.cs
-11
Original file line numberDiff line numberDiff line change
@@ -345,17 +345,6 @@ public bool WriteRemoteMemory(IntPtr address, byte[] data)
345345
return coreFunctions.WriteRemoteMemory(handle, address, ref data, 0, data.Length);
346346
}
347347

348-
public bool WriteRemoteMemory<T>(IntPtr address, T value) where T : struct
349-
{
350-
var data = new byte[Marshal.SizeOf<T>()];
351-
352-
var gcHandle = GCHandle.Alloc(data, GCHandleType.Pinned);
353-
Marshal.StructureToPtr(value, gcHandle.AddrOfPinnedObject(), false);
354-
gcHandle.Free();
355-
356-
return WriteRemoteMemory(address, data);
357-
}
358-
359348
#endregion
360349

361350
public Section GetSectionToPointer(IntPtr address)

‎ReClass.NET/Nodes/BaseMatrixNode.cs

Copy file name to clipboardExpand all lines: ReClass.NET/Nodes/BaseMatrixNode.cs
+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Diagnostics.Contracts;
33
using System.Drawing;
44
using ReClassNET.Controls;
5+
using ReClassNET.Extensions;
56
using ReClassNET.UI;
67

78
namespace ReClassNET.Nodes

‎ReClass.NET/Nodes/BitFieldNode.cs

Copy file name to clipboardExpand all lines: ReClass.NET/Nodes/BitFieldNode.cs
+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Diagnostics.Contracts;
33
using System.Drawing;
44
using ReClassNET.Controls;
5+
using ReClassNET.Extensions;
56
using ReClassNET.Memory;
67
using ReClassNET.UI;
78
using ReClassNET.Util;

‎ReClass.NET/Nodes/BoolNode.cs

Copy file name to clipboardExpand all lines: ReClass.NET/Nodes/BoolNode.cs
+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Drawing;
22
using ReClassNET.Controls;
3+
using ReClassNET.Extensions;
34
using ReClassNET.UI;
45

56
namespace ReClassNET.Nodes

‎ReClass.NET/Nodes/DoubleNode.cs

Copy file name to clipboardExpand all lines: ReClass.NET/Nodes/DoubleNode.cs
+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Drawing;
22
using ReClassNET.Controls;
3+
using ReClassNET.Extensions;
34
using ReClassNET.Memory;
45
using ReClassNET.UI;
56

‎ReClass.NET/Nodes/FloatNode.cs

Copy file name to clipboardExpand all lines: ReClass.NET/Nodes/FloatNode.cs
+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Drawing;
22
using ReClassNET.Controls;
3+
using ReClassNET.Extensions;
34
using ReClassNET.Memory;
45
using ReClassNET.UI;
56

‎ReClass.NET/ReClass.NET.csproj

Copy file name to clipboardExpand all lines: ReClass.NET/ReClass.NET.csproj
+1
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@
174174
<Compile Include="Debugger\SoftwareBreakpoint.cs" />
175175
<Compile Include="Extensions\ByteExtension.cs" />
176176
<Compile Include="Extensions\IRemoteMemoryReaderExtension.cs" />
177+
<Compile Include="Extensions\IRemoteMemoryWriterExtension.cs" />
177178
<Compile Include="Extensions\ListExtension.cs" />
178179
<Compile Include="Extensions\PointExtension.cs" />
179180
<Compile Include="Extensions\StringBuilderExtensions.cs" />

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.