public override void vmethod_13(Stream26 stream26_0)
 {
     this.int_0 = stream26_0.ReadInt();
     base.Nodes.Add(new TextValueNode(stream26_0.ReadInt(), this.vmethod_10()));
     int num = stream26_0.ReadInt();
     if (num != 0)
     {
         AbstractTreeNode1 @class = (base.Parent is StructureHeaderNode) ? (base.Parent as StructureHeaderNode).method_11(stream26_0.ReadIntAt(num)) : this.vmethod_12(stream26_0.ReadIntAt(num, true));
         base.method_1().Nodes.Add(@class);
         @class.method_4(stream26_0);
     }
 }
Example #2
0
 public override void vmethod_13(Stream26 stream26_0)
 {
     int num = stream26_0.ReadInt();
     if (num == 0)
     {
         return;
     }
     int[] array = new int[num];
     if (num > 1)
     {
         stream26_0.Position = (long)stream26_0.ReadInt();
         for (int i = 0; i < num; i++)
         {
             array[i] = stream26_0.ReadInt();
         }
     }
     else
     {
         array[0] = stream26_0.ReadInt();
     }
     int[] array2 = array;
     for (int j = 0; j < array2.Length; j++)
     {
         int int_ = array2[j];
         AbstractTreeNode1 @class = this.vmethod_12(stream26_0.ReadIntAt(int_, true));
         base.Nodes.Add(@class);
         @class.method_4(stream26_0);
     }
 }
 public override void vmethod_13(Stream26 stream26_0)
 {
     this.int_0 = stream26_0.ReadInt();
     int num = stream26_0.ReadInt();
     int num2 = stream26_0.ReadInt();
     if (num != 0)
     {
         base.Nodes.Add(new AsciiValueNode(stream26_0.ReadAsciiStringAt(num)));
         stream26_0.Position += (long)AbstractTreeNode1.smethod_0(stream26_0.Position);
     }
     if (num2 != 0)
     {
         AbstractTreeNode1 @class = (base.Parent is StructureHeaderNode) ? (base.Parent as StructureHeaderNode).method_11(stream26_0.ReadIntAt(num2)) : this.vmethod_12(stream26_0.ReadIntAt(num2, true));
         base.method_1().Nodes.Add(@class);
         @class.method_4(stream26_0);
     }
 }
Example #4
0
 public override void vmethod_13(Stream26 stream26_0)
 {
     this.int_0 = stream26_0.ReadInt();
     int num = stream26_0.ReadInt();
     int num2 = stream26_0.ReadInt();
     if (num != 0)
     {
         AbstractTreeNode1 @class = this.vmethod_12(stream26_0.ReadIntAt(num, true));
         base.Nodes.Add(@class);
         @class.method_4(stream26_0);
     }
     if (num2 != 0)
     {
         AbstractTreeNode1 class2 = (base.Parent is StructureHeaderNode) ? (base.Parent as StructureHeaderNode).method_11(stream26_0.ReadIntAt(num2)) : this.vmethod_12(stream26_0.ReadIntAt(num2, true));
         base.method_1().Nodes.Add(class2);
         class2.method_4(stream26_0);
     }
 }
Example #5
0
 public override void vmethod_13(Stream26 stream26_0)
 {
     this.int_0 = stream26_0.ReadInt();
     this.int_1 = stream26_0.ReadInt();
     int num = stream26_0.ReadInt();
     stream26_0.ReadInt();
     if (num != 0)
     {
         AbstractTreeNode1 @class = this.vmethod_12(stream26_0.ReadIntAt(num, true));
         base.Nodes.Add(@class);
         @class.method_4(stream26_0);
     }
 }
Example #6
0
 public override void vmethod_13(Stream26 stream26_0)
 {
     this.int_0 = stream26_0.ReadInt();
     if (this is FloatStructureNode)
     {
         base.Nodes.Add(new FloatValueNode(stream26_0.ReadFloat()));
     }
     else if (this is IntegerStructureNode)
     {
         base.Nodes.Add(new IntegerValueNode(stream26_0.ReadInt()));
     }
     else if (this is TagStructureNode || this is FileTagStructureNode)
     {
         base.Nodes.Add(new TagValueNode(stream26_0.ReadInt()));
     }
     int num = stream26_0.ReadInt();
     if (num != 0)
     {
         AbstractTreeNode1 @class = (base.Parent is StructureHeaderNode) ? (base.Parent as StructureHeaderNode).method_11(stream26_0.ReadIntAt(num)) : this.vmethod_12(stream26_0.ReadIntAt(num, true));
         base.method_1().Nodes.Add(@class);
         @class.method_4(stream26_0);
     }
 }
Example #7
0
 private void method_19()
 {
     if (this.string_1 != null)
     {
         this.class318_0 = new zzPakNode2(this.string_1, false);
     }
     using (Stream26 stream = new Stream26(File.Open(this.string_0, FileMode.Open, FileAccess.Read, FileShare.Read)))
     {
         int num = 0;
         int num2 = (int)stream.Length;
         if (num2 == 0)
         {
             throw new Exception("Pak File is empty!");
         }
         int int_ = stream.ReadInt();
         stream._reverseEndianness = (this.bool_2 = (!QbSongClass1.smethod_3(int_) || !QbSongClass1.smethod_5(int_).StartsWith(".")));
         this.bool_3 = ((long)stream.ReadInt() < stream.Length);
         Enum35 @enum = (Enum35)stream.ReadIntAt(28);
         this.bool_1 = ((@enum & Enum35.flag_3) == Enum35.flag_0);
         this.int_0 = stream.ReadIntAt(this.bool_1 ? 12 : 16, this.bool_2 && (@enum & Enum35.flag_4) == Enum35.flag_0 && (@enum & Enum35.flag_5) == Enum35.flag_0);
         while (true)
         {
             Enum35 enum2 = (Enum35)stream.ReadIntAt(num + 28, false);
             bool bool_ = this.bool_2 && (enum2 & Enum35.flag_4) == Enum35.flag_0 && (enum2 & Enum35.flag_5) == Enum35.flag_0;
             int num3 = stream.ReadIntAt(num, bool_);
             if (QbSongClass1.smethod_3(num3) && (QbSongClass1.smethod_5(num3).Equals(".last") || QbSongClass1.smethod_5(num3).Equals("last")))
             {
                 break;
             }
             int num4 = stream.ReadInt(bool_);
             if (!this.bool_3)
             {
                 num4 = num4 - num2 + num;
             }
             if (num4 < 0)
             {
                 num4 = 0;
             }
             int int_2 = stream.ReadInt(bool_);
             int num5 = stream.ReadIntAt(num + (this.bool_1 ? 16 : 12), bool_);
             int num6 = stream.ReadIntAt(num + 20, bool_);
             int int_3 = stream.ReadInt(bool_);
             stream.Position += 4L;
             if ((enum2 & Enum35.flag_3) != Enum35.flag_0)
             {
                 this.bool_1 = false;
                 string text = this.stream26_0.ReadString(160);
                 int num7 = text.IndexOf('\0');
                 if (num7 >= 0)
                 {
                     text = text.Substring(0, num7);
                 }
                 if (QbSongClass1.smethod_3(num3) && !QbSongClass1.smethod_5(num3).EndsWith(".qb.ngc") && !QbSongClass1.smethod_5(num3).EndsWith(".qb.ps2"))
                 {
                     if (!this.bool_2)
                     {
                         if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".ps2", ""), true))
                         {
                             QbSongClass1.smethod_9(text);
                         }
                         else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".qb", ""), true))
                         {
                             QbSongClass1.smethod_9(text);
                         }
                     }
                     else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".ngc", ""), true))
                     {
                         QbSongClass1.smethod_9(text);
                     }
                     else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".qb", ""), true))
                     {
                         QbSongClass1.smethod_9(text);
                     }
                 }
                 else
                 {
                     string text2 = "abcdefghijklmnopqrstuvwxyz";
                     for (int i = 0; i < text2.Length; i++)
                     {
                         char c = text2[i];
                         if (num5 == KeyGenerator.GetQbKey(c + text, true))
                         {
                             QbSongClass1.smethod_9(c + text);
                         }
                     }
                 }
                 if (num6 == KeyGenerator.GetQbKey(text = KeyGenerator.GetFileNameNoExt(text), true))
                 {
                     QbSongClass1.smethod_9(text);
                 }
             }
             TreeNode treeNode;
             if (QbSongClass1.smethod_3(num3) && QbSongClass1.smethod_5(num3).EndsWith("qb"))
             {
                 treeNode = new Class309(num3, num4, int_2, num5, num6, int_3, enum2);
             }
             else if (QbSongClass1.smethod_3(num3) && QbSongClass1.smethod_5(num3).Contains("qs"))
             {
                 treeNode = new Class328(num3, num4, int_2, num5, num6, int_3, enum2);
             }
             else
             {
                 treeNode = new zzCocoaNode12(num3, num4, int_2, num5, num6, int_3, enum2);
             }
             if (QbSongClass1.smethod_3(num5))
             {
                 base.method_1<TreeNode>(QbSongClass1.smethod_5(num5), treeNode);
             }
             else
             {
                 base.method_5(num5, (Interface12)treeNode);
             }
             num += (((enum2 & Enum35.flag_3) != Enum35.flag_0) ? 192 : 32);
         }
     }
     this.stream26_0 = new Stream26(File.Open(this.string_2, FileMode.Open, FileAccess.Read, FileShare.Read));
     if (this.stream26_0.Length == 0L)
     {
         throw new Exception("Pab File is empty!");
     }
 }