ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/RomCheater/trunk/RomCheater/Docking/MemorySearch/NotInRangeComparer.cs
(Generate patch)

Comparing trunk/RomCheater/Docking/MemorySearch/NotInRangeComparer.cs (file contents):
Revision 407 by william, Wed Jun 20 10:51:25 2012 UTC vs.
Revision 408 by william, Thu Jun 21 18:10:21 2012 UTC

# Line 3 | Line 3 | using System.Collections.Generic;
3   using System.Linq;
4   using System.Text;
5   using System.IO;
6 + using Sojaner.MemoryScanner.MemoryProviers;
7 + using RomCheater.PluginFramework.Interfaces;
8  
9   namespace RomCheater.Docking.MemorySearch
10   {
# Line 14 | Line 16 | namespace RomCheater.Docking.MemorySearc
16          }
17  
18          #region IRangeComparer<object> Members
19 <        public bool Compare(object Start, object End, SearchDataTypes bitsize, bool unsigned, BinaryReader r)
19 >        public bool Compare(object Start, object End, SearchDataTypes bitsize, bool unsigned, IAcceptsProcessAndConfig pconfig)
20          {
21              //reader.BaseStream.Seek(this.Address, SeekOrigin.Begin);
22  
# Line 26 | Line 28 | namespace RomCheater.Docking.MemorySearc
28              {
29                  if (unsigned)
30                  {
31 <                    lookup_value = new DataTypeConverter(r.ReadByte());
31 >                    byte val = 0;
32 >                    using (GenericMemoryProvider gmp = new GenericMemoryProvider(pconfig)) { gmp.OpenProvider(); gmp.ReadMemory(Address, out val); gmp.CloseProvider(); }
33 >                    lookup_value = new DataTypeConverter(val);                    
34                      if (lookup_value.ToByte() < (byte)start_value || lookup_value.ToByte() > (byte)end_value) { this.Value = lookup_value.Value; return true; }
35                  }
36                  else
37                  {
38 <                    lookup_value = new DataTypeConverter(r.ReadSByte());
38 >                    sbyte val = 0;
39 >                    using (GenericMemoryProvider gmp = new GenericMemoryProvider(pconfig)) { gmp.OpenProvider(); gmp.ReadMemory(Address, out val); gmp.CloseProvider(); }
40 >                    lookup_value = new DataTypeConverter(val);  
41                      if (lookup_value.ToSByte() < (sbyte)start_value || lookup_value.ToSByte() > (sbyte)end_value) { this.Value = lookup_value.Value; return true; }
42                  }
43              }
# Line 39 | Line 45 | namespace RomCheater.Docking.MemorySearc
45              {
46                  if (unsigned)
47                  {
48 <                    lookup_value = new DataTypeConverter(r.ReadUInt16());
48 >                    ushort val = 0;
49 >                    using (GenericMemoryProvider gmp = new GenericMemoryProvider(pconfig)) { gmp.OpenProvider(); gmp.ReadMemory(Address, out val); gmp.CloseProvider(); }
50 >                    lookup_value = new DataTypeConverter(val);  
51                      if (lookup_value.ToUInt16() < (ushort)start_value || lookup_value.ToUInt16() > (ushort)end_value) { this.Value = lookup_value.Value; return true; }
52                  }
53                  else
54                  {
55 <                    lookup_value = new DataTypeConverter(r.ReadInt16());
55 >                    short val = 0;
56 >                    using (GenericMemoryProvider gmp = new GenericMemoryProvider(pconfig)) { gmp.OpenProvider(); gmp.ReadMemory(Address, out val); gmp.CloseProvider(); }
57 >                    lookup_value = new DataTypeConverter(val);  
58                      if (lookup_value.ToInt16() < (short)start_value || lookup_value.ToInt16() > (short)end_value) { this.Value = lookup_value.Value; return true; }
59                  }
60              }
# Line 52 | Line 62 | namespace RomCheater.Docking.MemorySearc
62              {
63                  if (unsigned)
64                  {
65 <                    lookup_value = new DataTypeConverter(r.ReadUInt32());
65 >                    uint val = 0;
66 >                    using (GenericMemoryProvider gmp = new GenericMemoryProvider(pconfig)) { gmp.OpenProvider(); gmp.ReadMemory(Address, out val); gmp.CloseProvider(); }
67 >                    lookup_value = new DataTypeConverter(val);  
68                      if (lookup_value.ToUInt32() < (uint)start_value || lookup_value.ToUInt32() > (uint)end_value) { this.Value = lookup_value.Value; return true; }
69                  }
70                  else
71                  {
72 <                    lookup_value = new DataTypeConverter(r.ReadInt32());
72 >                    int val = 0;
73 >                    using (GenericMemoryProvider gmp = new GenericMemoryProvider(pconfig)) { gmp.OpenProvider(); gmp.ReadMemory(Address, out val); gmp.CloseProvider(); }
74 >                    lookup_value = new DataTypeConverter(val);  
75                      if (lookup_value.ToInt32() < (int)start_value || lookup_value.ToInt32() > (int)end_value) { this.Value = lookup_value.Value; return true; }
76                  }
77              }
# Line 65 | Line 79 | namespace RomCheater.Docking.MemorySearc
79              {
80                  if (unsigned)
81                  {
82 <                    lookup_value = new DataTypeConverter(r.ReadUInt64());
82 >                    ulong val = 0;
83 >                    using (GenericMemoryProvider gmp = new GenericMemoryProvider(pconfig)) { gmp.OpenProvider(); gmp.ReadMemory(Address, out val); gmp.CloseProvider(); }
84 >                    lookup_value = new DataTypeConverter(val);  
85                      if (lookup_value.ToUInt64() < (ulong)start_value || lookup_value.ToUInt64() > (ulong)end_value) { this.Value = lookup_value.Value; return true; }
86                  }
87                  else
88                  {
89 <                    lookup_value = new DataTypeConverter(r.ReadInt64());
89 >                    long val = 0;
90 >                    using (GenericMemoryProvider gmp = new GenericMemoryProvider(pconfig)) { gmp.OpenProvider(); gmp.ReadMemory(Address, out val); gmp.CloseProvider(); }
91 >                    lookup_value = new DataTypeConverter(val);  
92                      if (lookup_value.ToInt64() < (long)start_value || lookup_value.ToInt64() > (long)end_value) { this.Value = lookup_value.Value; return true; }
93                  }
94              }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines