Пример #1
0
 public static int FindOffsetForItem(string itemName)
 {
     try
     {
         int indexOfItemName = PddbItemListNames.IndexOf(itemName);
         int index2          = List0.IndexOf(List1[indexOfItemName]);
         return(ItemOffsets[index2]);
     }
     catch
     {
         return(0);
     }
 }
Пример #2
0
 public static void GetPddbItemOffset(ref byte[] byte3,
                                      ref byte[] byte4, ref StringBuilder stringBuilder0, ref bool bool0, ref int int0, int int1)
 {
     try
     {
         if (bool0 || byte4[0] >= 16)
         {
             return;
         }
         Console.Write(stringBuilder0.ToString());
         if (byte4[0] == 7)
         {
             if (byte3[1] >= 128 && byte3[1] <= 129)
             {
                 List0.Add((int)ReverseEndedness(0U, 2U, byte3));
                 ItemOffsets.Add(int1);
             }
             else
             {
                 ItemOffsets.Add(int1);
                 List0.Add((int)ReverseEndedness(0U, 1U, byte3));
             }
         }
         else if (byte3[1] <= sbyte.MaxValue)
         {
             ItemOffsets.Add(int1);
             List0.Add((int)ReverseEndedness(0U, 1U, byte3));
         }
         else if (byte3[1] <= 129)
         {
             ItemOffsets.Add(int1);
             List0.Add((int)ReverseEndedness(0U, 2U, byte3));
         }
         ++int0;
     }
     catch
     {
     }
 }
Пример #3
0
        private static void GetPddbItemListNames(string filePath)
        {
            try
            {
                if (!File.Exists(filePath))
                {
                    return;
                }
                var fs  = new FileStream(filePath, FileMode.Open);
                var ebr = new EndianBinaryReader(new BigEndianBitConverter(), fs);
                fs.Position        = PddbStartOffsetReadStart;
                _pddbTableLength   = ebr.ReadUInt32();
                fs.Position        = PddbFirstItemOffset;
                _pddbSymbolsOffset = _pddbTableLength + SaveFileHeaderLength;

                byte pdddbDataType = 0;
                var  sb            = new StringBuilder(string.Empty);
                bool bool0         = false;
                int  int0          = 0;
                var  byte4         = new byte[5];
                var  byte5         = new byte[2];

                while (fs.Position < _pddbSymbolsOffset)
                {
                    ReadPddbValues(fs, pdddbDataType, byte4, byte5, ref sb, ref bool0, ref int0);
                }
                List1 = List0.Distinct().ToList();
                List1.Sort();
                int num2 = 0;
                foreach (int num3 in List1)
                {
                    PddbItemListNames.Add(ReadPddbSymbols(fs, num2++));
                }
                fs.Close();
            }
            catch
            {
            }
        }