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); } }
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); } }
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); } }
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); } }
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); } }
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!"); } }