/[RomCheater]/trunk/RomCheater/Docking/MemorySearch/InRangeComparer.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/MemorySearch/InRangeComparer.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.407  
changed lines
  Added in v.408

  ViewVC Help
Powered by ViewVC 1.1.22