예제 #1
0
 private static void m0002c2(struct01c6 p0, ref byte[] p1, ref int p2)
 {
     while (p0.f00001b > (p1.Length - p2))
     {
         byte[] destinationArray = new byte[p0.f00001b + p1.Length];
         try
         {
             Array.Copy(p1, destinationArray, p1.Length);
         }
         catch (Exception)
         {
         }
         p1 = destinationArray;
     }
     for (int i = 0; i < p0.f00001b; i++)
     {
         p1[p2] = (byte) p0.f0001f4.ReadByte();
         p2++;
     }
     if (p0.f0001f4.Position != p0.f0001f4.Length)
     {
         throw new Exception(string.Format("Length of data in IDAT doesn't match the length provided by the chunk. Bytes read: {0} Bytes expected: {1}.", (uint) p0.f0001f4.Position, p0.f00001b));
     }
 }
예제 #2
0
 private static void m0002bf(struct01c6 p0, ref struct01de p1)
 {
     uint num = ((uint) p0.f0001f4.Length) / 3;
     if ((num * 3) == p0.f0001f4.Length)
     {
         for (int i = 0; i < num; i++)
         {
             struct01df structdf = new struct01df();
             structdf.f000008 = (byte) p0.f0001f4.ReadByte();
             structdf.f00001d = (byte) p0.f0001f4.ReadByte();
             structdf.f000025 = (byte) p0.f0001f4.ReadByte();
             p1.f000018[i] = structdf;
         }
     }
 }