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

Comparing trunk/RomCheater/Docking/FloatingMemorySearcher.cs (file contents):
Revision 412 by william, Thu Jun 21 21:08:15 2012 UTC vs.
Revision 413 by william, Thu Jun 21 21:35:08 2012 UTC

# Line 1045 | Line 1045 | namespace RomCheater.Docking
1045                                  switch (sdt)
1046                                  {
1047                                      case SearchDataTypes._8bits:
1048 <                                        if (unsigned) { writer.WriteResult<Byte>((uint)br.BaseStream.Position, br.ReadByte()); }
1049 <                                        else { writer.WriteResult<SByte>((uint)br.BaseStream.Position, br.ReadSByte()); } break;
1048 >                                        if (unsigned) { writer.WriteResult<Byte>((uint)CurrentIndex, br.ReadByte()); }
1049 >                                        else { writer.WriteResult<SByte>((uint)CurrentIndex, br.ReadSByte()); } break;
1050                                      case SearchDataTypes._16bits:
1051 <                                        if (unsigned) { writer.WriteResult<UInt16>((uint)br.BaseStream.Position, br.ReadUInt16()); }
1052 <                                        else { writer.WriteResult<Int16>((uint)br.BaseStream.Position, br.ReadInt16()); } break;
1051 >                                        if (unsigned) { writer.WriteResult<UInt16>((uint)CurrentIndex, br.ReadUInt16()); }
1052 >                                        else { writer.WriteResult<Int16>((uint)CurrentIndex, br.ReadInt16()); } break;
1053                                      case SearchDataTypes._32bits:
1054 <                                        if (unsigned) { writer.WriteResult<UInt32>((uint)br.BaseStream.Position, br.ReadUInt32()); }
1055 <                                        else { writer.WriteResult<Int32>((uint)br.BaseStream.Position, br.ReadInt32()); } break;
1054 >                                        if (unsigned) { writer.WriteResult<UInt32>((uint)CurrentIndex, br.ReadUInt32()); }
1055 >                                        else { writer.WriteResult<Int32>((uint)CurrentIndex, br.ReadInt32()); } break;
1056                                      case SearchDataTypes._64bits:
1057 <                                        if (unsigned) { writer.WriteResult<UInt64>((uint)br.BaseStream.Position, br.ReadUInt64()); }
1058 <                                        else { writer.WriteResult<Int64>((uint)br.BaseStream.Position, br.ReadInt64()); } break;
1057 >                                        if (unsigned) { writer.WriteResult<UInt64>((uint)CurrentIndex, br.ReadUInt64()); }
1058 >                                        else { writer.WriteResult<Int64>((uint)CurrentIndex, br.ReadInt64()); } break;
1059                                  }
1060                              }
1061                              catch (EndOfStreamException) { }
# Line 1070 | Line 1070 | namespace RomCheater.Docking
1070                                      Last_Whole_Percent_Done = int_percent_done;
1071                                  }
1072                              }
1073 <                            CurrentIndex++;
1073 >                            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 | Line 1717 | namespace RomCheater.Docking
1717              bool unsigned = SearchArgs.IsUnsignedDataType;
1718              using (SearchResultReader reader = new SearchResultReader())
1719              {
1706
1707                object result_value = 0;
1708                uint address = 0;
1709                switch (SearchArgs.DataType)
1710                {
1711                    case SearchDataTypes._8bits: if (unsigned)
1712                        {
1713                            using (ResultType<byte> result = reader.GetNextResult<byte>())
1714                            {
1715                                address = result.Address;
1716                                result_value = result.Value;
1717                            }
1718                        }
1719                        else
1720                        {
1721                            using (ResultType<sbyte> result = reader.GetNextResult<sbyte>())
1722                            {
1723                                address = result.Address;
1724                                result_value = result.Value;
1725                            }
1726                        } break;
1727                    case SearchDataTypes._16bits: if (unsigned)
1728                        {
1729                            using (ResultType<ushort> result = reader.GetNextResult<ushort>())
1730                            {
1731                                address = result.Address;
1732                                result_value = result.Value;
1733                            }
1734                        }
1735                        else
1736                        {
1737                            using (ResultType<short> result = reader.GetNextResult<short>())
1738                            {
1739                                address = result.Address;
1740                                result_value = result.Value;
1741                            }
1742                        } break;
1743                    case SearchDataTypes._32bits: if (unsigned)
1744                        {
1745                            using (ResultType<uint> result = reader.GetNextResult<uint>())
1746                            {
1747                                address = result.Address;
1748                                result_value = result.Value;
1749                            }
1750                        }
1751                        else
1752                        {
1753                            using (ResultType<int> result = reader.GetNextResult<int>())
1754                            {
1755                                address = result.Address;
1756                                result_value = result.Value;
1757                            }
1758                        } break;
1759                    case SearchDataTypes._64bits: if (unsigned)
1760                        {
1761                            using (ResultType<ulong> result = reader.GetNextResult<ulong>())
1762                            {
1763                                address = result.Address;
1764                                result_value = result.Value;
1765                            }
1766                        }
1767                        else
1768                        {
1769                            using (ResultType<long> result = reader.GetNextResult<long>())
1770                            {
1771                                address = result.Address;
1772                                result_value = result.Value;
1773                            }
1774                        } break;
1775                }
1776
1777
1778
1779                logger.Debug.WriteLine(string.Format("Results Count -> 0x{0:x8}", reader.ResultCount));
1780
1781
1782                if (reader.ResultCount == 1) // debug message for 1 result using 32bit unsigned
1783                    logger.Debug.WriteLine(string.Format("Debug: Found 1 result -> Address: 0x{0:x8} Value: 0x{1:x16}", address, result_value));
1784
1720                  logger.Info.WriteLine(string.Format("Found 0x{0:x8} results", reader.ResultCount));
1721  
1722                  if (reader.ResultCount <= MIN_NUMBER_OF_RESULTS_BEFORE_DISPLAY)
# Line 1797 | Line 1732 | namespace RomCheater.Docking
1732                          {
1733  
1734                              case SearchDataTypes._8bits:
1735 <                                if (SearchArgs.IsUnsignedDataType) { ResultType<byte> result = reader.GetNextResult<byte>(); item = new ResultItem(result.Address, false, result.Value); }
1735 >                                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); }
1737                                  break;
1738                              case SearchDataTypes._16bits:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines