/[RomCheater]/trunk/RomCheater/Docking/FloatingMemorySearcher.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/FloatingMemorySearcher.cs

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

revision 412 by william, Thu Jun 21 21:08:15 2012 UTC revision 413 by william, Thu Jun 21 21:35:08 2012 UTC
# Line 1045  namespace RomCheater.Docking Line 1045  namespace RomCheater.Docking
1045                                  switch (sdt)                                  switch (sdt)
1046                                  {                                  {
1047                                      case SearchDataTypes._8bits:                                      case SearchDataTypes._8bits:
1048                                          if (unsigned) { writer.WriteResult<Byte>((uint)br.BaseStream.Position, br.ReadByte()); }                                          if (unsigned) { writer.WriteResult<Byte>((uint)CurrentIndex, br.ReadByte()); }
1049                                          else { writer.WriteResult<SByte>((uint)br.BaseStream.Position, br.ReadSByte()); } break;                                          else { writer.WriteResult<SByte>((uint)CurrentIndex, br.ReadSByte()); } break;
1050                                      case SearchDataTypes._16bits:                                      case SearchDataTypes._16bits:
1051                                          if (unsigned) { writer.WriteResult<UInt16>((uint)br.BaseStream.Position, br.ReadUInt16()); }                                          if (unsigned) { writer.WriteResult<UInt16>((uint)CurrentIndex, br.ReadUInt16()); }
1052                                          else { writer.WriteResult<Int16>((uint)br.BaseStream.Position, br.ReadInt16()); } break;                                          else { writer.WriteResult<Int16>((uint)CurrentIndex, br.ReadInt16()); } break;
1053                                      case SearchDataTypes._32bits:                                      case SearchDataTypes._32bits:
1054                                          if (unsigned) { writer.WriteResult<UInt32>((uint)br.BaseStream.Position, br.ReadUInt32()); }                                          if (unsigned) { writer.WriteResult<UInt32>((uint)CurrentIndex, br.ReadUInt32()); }
1055                                          else { writer.WriteResult<Int32>((uint)br.BaseStream.Position, br.ReadInt32()); } break;                                          else { writer.WriteResult<Int32>((uint)CurrentIndex, br.ReadInt32()); } break;
1056                                      case SearchDataTypes._64bits:                                      case SearchDataTypes._64bits:
1057                                          if (unsigned) { writer.WriteResult<UInt64>((uint)br.BaseStream.Position, br.ReadUInt64()); }                                          if (unsigned) { writer.WriteResult<UInt64>((uint)CurrentIndex, br.ReadUInt64()); }
1058                                          else { writer.WriteResult<Int64>((uint)br.BaseStream.Position, br.ReadInt64()); } break;                                          else { writer.WriteResult<Int64>((uint)CurrentIndex, br.ReadInt64()); } break;
1059                                  }                                  }
1060                              }                              }
1061                              catch (EndOfStreamException) { }                              catch (EndOfStreamException) { }
# Line 1070  namespace RomCheater.Docking Line 1070  namespace RomCheater.Docking
1070                                      Last_Whole_Percent_Done = int_percent_done;                                      Last_Whole_Percent_Done = int_percent_done;
1071                                  }                                  }
1072                              }                              }
1073                              CurrentIndex++;                              switch (sdt)
1074                                {
1075                                    case SearchDataTypes._8bits:
1076                                        CurrentIndex += sizeof(byte);
1077                                        break;
1078                                    case SearchDataTypes._16bits:
1079                                        CurrentIndex += sizeof(ushort);
1080                                        break;
1081                                    case SearchDataTypes._32bits:
1082                                        CurrentIndex += sizeof(uint);
1083                                        break;
1084                                    case SearchDataTypes._64bits:
1085                                        CurrentIndex += sizeof(ulong);
1086                                        break;
1087                                }                            
1088                          }                          }
1089                                            
1090                      }                      }
# Line 1703  namespace RomCheater.Docking Line 1717  namespace RomCheater.Docking
1717              bool unsigned = SearchArgs.IsUnsignedDataType;              bool unsigned = SearchArgs.IsUnsignedDataType;
1718              using (SearchResultReader reader = new SearchResultReader())              using (SearchResultReader reader = new SearchResultReader())
1719              {              {
   
                 object result_value = 0;  
                 uint address = 0;  
                 switch (SearchArgs.DataType)  
                 {  
                     case SearchDataTypes._8bits: if (unsigned)  
                         {  
                             using (ResultType<byte> result = reader.GetNextResult<byte>())  
                             {  
                                 address = result.Address;  
                                 result_value = result.Value;  
                             }  
                         }  
                         else  
                         {  
                             using (ResultType<sbyte> result = reader.GetNextResult<sbyte>())  
                             {  
                                 address = result.Address;  
                                 result_value = result.Value;  
                             }  
                         } break;  
                     case SearchDataTypes._16bits: if (unsigned)  
                         {  
                             using (ResultType<ushort> result = reader.GetNextResult<ushort>())  
                             {  
                                 address = result.Address;  
                                 result_value = result.Value;  
                             }  
                         }  
                         else  
                         {  
                             using (ResultType<short> result = reader.GetNextResult<short>())  
                             {  
                                 address = result.Address;  
                                 result_value = result.Value;  
                             }  
                         } break;  
                     case SearchDataTypes._32bits: if (unsigned)  
                         {  
                             using (ResultType<uint> result = reader.GetNextResult<uint>())  
                             {  
                                 address = result.Address;  
                                 result_value = result.Value;  
                             }  
                         }  
                         else  
                         {  
                             using (ResultType<int> result = reader.GetNextResult<int>())  
                             {  
                                 address = result.Address;  
                                 result_value = result.Value;  
                             }  
                         } break;  
                     case SearchDataTypes._64bits: if (unsigned)  
                         {  
                             using (ResultType<ulong> result = reader.GetNextResult<ulong>())  
                             {  
                                 address = result.Address;  
                                 result_value = result.Value;  
                             }  
                         }  
                         else  
                         {  
                             using (ResultType<long> result = reader.GetNextResult<long>())  
                             {  
                                 address = result.Address;  
                                 result_value = result.Value;  
                             }  
                         } break;  
                 }  
   
   
   
                 logger.Debug.WriteLine(string.Format("Results Count -> 0x{0:x8}", reader.ResultCount));  
   
   
                 if (reader.ResultCount == 1) // debug message for 1 result using 32bit unsigned  
                     logger.Debug.WriteLine(string.Format("Debug: Found 1 result -> Address: 0x{0:x8} Value: 0x{1:x16}", address, result_value));  
   
1720                  logger.Info.WriteLine(string.Format("Found 0x{0:x8} results", reader.ResultCount));                  logger.Info.WriteLine(string.Format("Found 0x{0:x8} results", reader.ResultCount));
1721    
1722                  if (reader.ResultCount <= MIN_NUMBER_OF_RESULTS_BEFORE_DISPLAY)                  if (reader.ResultCount <= MIN_NUMBER_OF_RESULTS_BEFORE_DISPLAY)
# Line 1797  namespace RomCheater.Docking Line 1732  namespace RomCheater.Docking
1732                          {                          {
1733    
1734                              case SearchDataTypes._8bits:                              case SearchDataTypes._8bits:
1735                                  if (SearchArgs.IsUnsignedDataType) { ResultType<byte> result = reader.GetNextResult<byte>(); item = new ResultItem(result.Address, false, result.Value); }                                  if (SearchArgs.IsUnsignedDataType) { ResultType<byte> result = new ResultType<byte>(); item = new ResultItem(result.Address, false, result.Value); }
1736                                  else { ResultType<sbyte> result = reader.GetNextResult<sbyte>(); item = new ResultItem(result.Address, false, result.Value); }                                  else { ResultType<sbyte> result = reader.GetNextResult<sbyte>(); item = new ResultItem(result.Address, false, result.Value); }
1737                                  break;                                  break;
1738                              case SearchDataTypes._16bits:                              case SearchDataTypes._16bits:

Legend:
Removed from v.412  
changed lines
  Added in v.413

  ViewVC Help
Powered by ViewVC 1.1.22