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

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

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

revision 378 by william, Tue Jun 19 07:56:36 2012 UTC revision 398 by william, Wed Jun 20 12:16:34 2012 UTC
# Line 74  namespace RomCheater.Docking.MemorySearc Line 74  namespace RomCheater.Docking.MemorySearc
74              : this(AVPIconKeys.NOTFROZEN, address, "", false.ToString(), bitsize, IsUnsigned, pconfig)              : this(AVPIconKeys.NOTFROZEN, address, "", false.ToString(), bitsize, IsUnsigned, pconfig)
75          {          {
76              int Address = 0;              int Address = 0;
77              Address = Convert.ToInt32(this.Address, 16);              Address = Convert.ToInt32(this.Address, 16);          
             GenericMemoryProvider provider = new GenericMemoryProvider(pconfig);  
             provider.OpenProvider();  
78              int bytesReadSize;              int bytesReadSize;
79              byte[] data;              uint bytesToRead = 0;
             uint bytesToRead=0;  
80              switch (bitsize)              switch (bitsize)
81              {              {
82                  case SearchDataTypes._8bits:                  case SearchDataTypes._8bits:
# Line 95  namespace RomCheater.Docking.MemorySearc Line 92  namespace RomCheater.Docking.MemorySearc
92                      bytesToRead = 8;                      bytesToRead = 8;
93                      break;                      break;
94              }              }
95                byte[] data = new byte[bytesToRead];
96              provider.ReadProcessMemory(Address, bytesToRead, out bytesReadSize, out data);              using (GenericMemoryProvider provider = new GenericMemoryProvider(pconfig))
             MemoryStream ms = new MemoryStream(data);  
             BinaryReader r_ms = new BinaryReader(ms);  
             
             //r_ms.BaseStream.Seek(Address, SeekOrigin.Begin);  
             //int val = 0;  
             switch (bitsize)  
97              {              {
98                  case SearchDataTypes._8bits:                  provider.OpenProvider();
99                      if (IsUnsigned) { this.Value = string.Format("0x{0:x2}", r_ms.ReadByte()); }                  provider.ReadProcessMemory(Address, bytesToRead, out bytesReadSize, out data);
100                      else { this.Value = string.Format("0x{0:x2}", r_ms.ReadSByte()); }                  provider.CloseProvider();
101                      break;              }
102                  case SearchDataTypes._16bits:              using (MemoryStream ms = new MemoryStream(data))
103                      if (IsUnsigned) { this.Value = string.Format("0x{0:x4}", r_ms.ReadUInt16()); }              {
104                      else { this.Value = string.Format("0x{0:x4}", r_ms.ReadInt16()); }                  using (BinaryReader r_ms = new BinaryReader(ms))
105                      break;                  {
106                  case SearchDataTypes._32bits:  
107                      if (IsUnsigned) { this.Value = string.Format("0x{0:x8}", r_ms.ReadUInt32()); }                      //r_ms.BaseStream.Seek(Address, SeekOrigin.Begin);
108                      else { this.Value = string.Format("0x{0:x8}", r_ms.ReadInt32()); }                      //int val = 0;
109                      break;                      switch (bitsize)
110                  case SearchDataTypes._64bits:                      {
111                      if (IsUnsigned) { this.Value = string.Format("0x{0:x16}", r_ms.ReadUInt64()); }                          case SearchDataTypes._8bits:
112                      else { this.Value = string.Format("0x{0:x16}", r_ms.ReadInt64()); }                              if (IsUnsigned) { this.Value = string.Format("0x{0:x2}", r_ms.ReadByte()); }
113                      break;                              else { this.Value = string.Format("0x{0:x2}", r_ms.ReadSByte()); }
114                                break;
115                            case SearchDataTypes._16bits:
116                                if (IsUnsigned) { this.Value = string.Format("0x{0:x4}", r_ms.ReadUInt16()); }
117                                else { this.Value = string.Format("0x{0:x4}", r_ms.ReadInt16()); }
118                                break;
119                            case SearchDataTypes._32bits:
120                                if (IsUnsigned) { this.Value = string.Format("0x{0:x8}", r_ms.ReadUInt32()); }
121                                else { this.Value = string.Format("0x{0:x8}", r_ms.ReadInt32()); }
122                                break;
123                            case SearchDataTypes._64bits:
124                                if (IsUnsigned) { this.Value = string.Format("0x{0:x16}", r_ms.ReadUInt64()); }
125                                else { this.Value = string.Format("0x{0:x16}", r_ms.ReadInt64()); }
126                                break;
127                        }
128                    }
129              }              }
             provider.CloseProvider();  
130          }          }
131          public ResultItemState(string IconKey, string address, string value, string frozen, SearchDataTypes bitsize, bool IsUnsigned, IAcceptsProcessAndConfig pconfig)          public ResultItemState(string IconKey, string address, string value, string frozen, SearchDataTypes bitsize, bool IsUnsigned, IAcceptsProcessAndConfig pconfig)
132              : this(pconfig)              : this(pconfig)

Legend:
Removed from v.378  
changed lines
  Added in v.398

  ViewVC Help
Powered by ViewVC 1.1.22