/[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 384 by william, Tue Jun 19 10:15:53 2012 UTC revision 385 by william, Tue Jun 19 11:06:47 2012 UTC
# Line 1090  namespace RomCheater.Docking Line 1090  namespace RomCheater.Docking
1090                      {                      {
1091                          //r_ms.BaseStream.Seek(SearchArgs.Results[i].Address, SeekOrigin.Begin);                          //r_ms.BaseStream.Seek(SearchArgs.Results[i].Address, SeekOrigin.Begin);
1092                          uint address = SearchArgs.Results[i].Address;                          uint address = SearchArgs.Results[i].Address;
1093                            if (MemoryRangeStart > 0 && !SearchArgs.IsFirstSearch) { address = address - MemoryRangeStart; }
1094                          switch (SearchArgs.DataType)                          switch (SearchArgs.DataType)
1095                          {                          {
1096                              #region Comparer Support                              #region Comparer Support
1097                                #region case SearchDataTypes._8bits:
1098                              case SearchDataTypes._8bits:                              case SearchDataTypes._8bits:
1099                                  if (SearchArgs.IsUnsignedDataType)                                  if (SearchArgs.IsUnsignedDataType)
1100                                  {                                  {
# Line 1145  namespace RomCheater.Docking Line 1147  namespace RomCheater.Docking
1147                                      comparer = null; // free memory                                      comparer = null; // free memory
1148                                  }                                  }
1149                                  break;                                  break;
1150                                #endregion
1151                                #region case SearchDataTypes._16bits:
1152                              case SearchDataTypes._16bits:                              case SearchDataTypes._16bits:
1153                                  if (SearchArgs.IsUnsignedDataType)                                  if (SearchArgs.IsUnsignedDataType)
1154                                  {                                  {
# Line 1197  namespace RomCheater.Docking Line 1201  namespace RomCheater.Docking
1201                                      comparer = null; // free memory                                      comparer = null; // free memory
1202                                  }                                  }
1203                                  break;                                  break;
1204                                #endregion
1205                                #region case SearchDataTypes._32bits:
1206                              case SearchDataTypes._32bits:                              case SearchDataTypes._32bits:
1207                                  if (SearchArgs.IsUnsignedDataType)                                  if (SearchArgs.IsUnsignedDataType)
1208                                  {                                  {
# Line 1249  namespace RomCheater.Docking Line 1255  namespace RomCheater.Docking
1255                                      comparer = null; // free memory                                      comparer = null; // free memory
1256                                  }                                  }
1257                                  break;                                  break;
1258                                #endregion
1259                                #region case SearchDataTypes._64bits:
1260                              case SearchDataTypes._64bits:                              case SearchDataTypes._64bits:
1261                                  if (SearchArgs.IsUnsignedDataType)                                  if (SearchArgs.IsUnsignedDataType)
1262                                  {                                  {
# Line 1302  namespace RomCheater.Docking Line 1310  namespace RomCheater.Docking
1310                                  }                                  }
1311                                  break;                                  break;
1312                              #endregion                              #endregion
1313                                #endregion
1314                          }                          }
1315    
1316                          double double_percent_done = 100.0 * (double)((double)i / (double)SearchArgs.Results.Count);                          double double_percent_done = 100.0 * (double)((double)i / (double)SearchArgs.Results.Count);
# Line 1328  namespace RomCheater.Docking Line 1337  namespace RomCheater.Docking
1337                      for (int i = 0; i < SearchArgs.Results.Count; i += 1)                      for (int i = 0; i < SearchArgs.Results.Count; i += 1)
1338                      {                      {
1339                          uint address = SearchArgs.Results[i].Address;                          uint address = SearchArgs.Results[i].Address;
1340                            if (MemoryRangeStart > 0 && !SearchArgs.IsFirstSearch) { address = address - MemoryRangeStart; }
1341                          //r_ms.BaseStream.Seek(SearchArgs.Results[i].Address, SeekOrigin.Begin);                          //r_ms.BaseStream.Seek(SearchArgs.Results[i].Address, SeekOrigin.Begin);
1342                          if (SearchArgs.CompareType == SearchCompareTypes.Between)                          if (SearchArgs.CompareType == SearchCompareTypes.Between)
1343                          {                          {
1344                              InRangeComparer comparer = new InRangeComparer(SearchArgs.Results[i].Address, 0);                              InRangeComparer comparer = new InRangeComparer(address, 0);
1345                              if (comparer.Compare(start, end, SearchArgs.DataType, SearchArgs.IsUnsignedDataType, buffered_mem))                              if (comparer.Compare(start, end, SearchArgs.DataType, SearchArgs.IsUnsignedDataType, buffered_mem))
1346                              {                              {
1347                                  SearchArgs.Results[i].Value = comparer.Value;                                  SearchArgs.Results[i].Value = comparer.Value;
# Line 1341  namespace RomCheater.Docking Line 1351  namespace RomCheater.Docking
1351                          }                          }
1352                          else if (SearchArgs.CompareType == SearchCompareTypes.NotBetween)                          else if (SearchArgs.CompareType == SearchCompareTypes.NotBetween)
1353                          {                          {
1354                              NotInRangeComparer comparer = new NotInRangeComparer(SearchArgs.Results[i].Address, 0);                              NotInRangeComparer comparer = new NotInRangeComparer(address, 0);
1355                              if (comparer.Compare(start, end, SearchArgs.DataType, SearchArgs.IsUnsignedDataType, buffered_mem))                              if (comparer.Compare(start, end, SearchArgs.DataType, SearchArgs.IsUnsignedDataType, buffered_mem))
1356                              {                              {
1357                                  SearchArgs.Results[i].Value = comparer.Value;                                  SearchArgs.Results[i].Value = comparer.Value;
# Line 1373  namespace RomCheater.Docking Line 1383  namespace RomCheater.Docking
1383              if (NeedToCompare)              if (NeedToCompare)
1384              {              {
1385                  SearchArgs.Results = second_tmp_Results.GetRange(0, second_tmp_Results.Count);                  SearchArgs.Results = second_tmp_Results.GetRange(0, second_tmp_Results.Count);
1386                    // fix addresses when memory start is not zero
1387                    if (MemoryRangeStart > 0 && SearchArgs.IsFirstSearch) { for (int i = 0; i < SearchArgs.Results.Count; i++) { SearchArgs.Results[i].Address = SearchArgs.Results[i].Address + MemoryRangeStart; } }
1388                  second_tmp_Results = null; // free memory                  second_tmp_Results = null; // free memory
1389              }              }
1390    

Legend:
Removed from v.384  
changed lines
  Added in v.385

  ViewVC Help
Powered by ViewVC 1.1.22