public override void vmethod_14(Stream26 stream26_0) { byte[] array = new byte[4]; array[1] = 1; array[2] = this.vmethod_15(); stream26_0.WriteByteArray(array, false); stream26_0.WriteInt(base.Nodes.Count); if (base.Nodes.Count == 0) { return; } if (base.Nodes.Count > 1) { stream26_0.WriteInt((int)stream26_0.Position + 4); } int int_ = (int)stream26_0.Position; List<int> list = new List<int>(base.Nodes.Count); stream26_0.WriteNBytes(0, 4 * base.Nodes.Count); foreach (AbstractTreeNode1 @class in base.Nodes) { list.Add((int)stream26_0.Position); @class.vmethod_14(stream26_0); } int num = (int)stream26_0.Position; stream26_0.WriteEnumerableIntsAt(int_, list); stream26_0.Position = (long)num; }
public override void vmethod_14(Stream26 stream26_0) { byte[] array = new byte[4]; array[1] = (this.vmethod_7() ? (byte)32 : (byte)4); array[2] = 3; stream26_0.WriteByteArray(array, false); stream26_0.WriteInt(this.int_0); stream26_0.WriteInt(this.int_1); if (base.Nodes.Count != 0) { stream26_0.WriteInt((int)stream26_0.Position + 8); stream26_0.WriteInt(0); stream26_0.WriteString(this.method_7()); stream26_0.WriteByte2(0); stream26_0.WriteNBytes(0, AbstractTreeNode1.smethod_0(stream26_0.Position)); return; } stream26_0.WriteNBytes(0, 8); }
public void method_1(string string_0) { using (Stream26 stream = new Stream26(File.Create(string_0 + "\\s000.d"))) { this.vmethod_1(stream); stream.WriteByte2(0); using (Stream26 stream2 = new Stream26(File.Create(string_0 + "\\toc.dat"))) { stream2.WriteInt(0); stream2.WriteByte2(4); stream2.WriteByte2(0); stream2.WriteByte2(0); stream2.WriteByte2(0); stream2.WriteUInt(3724414393u); stream2.WriteString("GH3Progress"); stream2.WriteNBytes(0, 7); stream2.WriteByte2(48); stream2.WriteByte2(0); stream2.WriteInt((int)stream.Length); stream.Position = 0L; stream2.WriteInt(KeyGenerator.GetQbKey(stream, true)); stream2.WriteNBytes(0, 40); stream2.WriteByte2(Convert.ToByte(DateTime.Now.Minute)); stream2.WriteByte2(0); stream2.WriteShort((short)DateTime.Now.Year); stream2.WriteByte2(Convert.ToByte(DateTime.Now.Second)); stream2.WriteByte2(Convert.ToByte(DateTime.Now.Month - 1)); stream2.WriteByte2(Convert.ToByte(DateTime.Now.Day)); stream2.WriteByte2(Convert.ToByte(DateTime.Now.Hour)); stream2.WriteNBytes(0, 15120); stream2.WriteInt(756937245); stream2.WriteNBytes(0, 12); stream2.Position = 4L; int num = KeyGenerator.GetQbKey(stream2, true); stream2.Position = 0L; stream2.WriteInt(num); stream.Position = stream.Length; stream.WriteNBytes(0, 5242880 - (int)stream.Length); } } }
public Stream26 ToStream() { Stream26 stream = new Stream26(true); int textureCount = this.TextureCount(); int textureMetaDataOffset = 0; if (!this._unkFlag0) { stream.WriteUInt(0xFACECAA7); //meow stream.WriteShort(284); stream.WriteShort((short)textureCount); stream.WriteInt(0); stream.WriteInt(0); stream.WriteInt(-1); int num3 = 2; while ((double)textureCount / Math.Pow(2.0, (double)(num3 - 2)) > 1.0) { num3++; } num3--; stream.WriteInt(num3); //logarithm of textureCount?.. stream.WriteInt(28); stream.WriteNBytes(0xEF, (int)(Math.Pow(2.0, (double)num3) * 12.0 + 28.0)); textureMetaDataOffset = (int)stream.Position; stream.WriteIntAt(8, textureMetaDataOffset); stream.WriteInt(textureMetaDataOffset + textureCount * 44); stream.Position = (long)textureMetaDataOffset; } stream.WriteNBytes(0, 40 * textureCount); for (int i = 0; i < textureCount; i++) { TextureMetadata tex = this.textureList[i]; byte[] array = this.method_2(i); stream.WriteShortAt(textureMetaDataOffset + 40 * i, 2600); stream.WriteShort(tex.unkShort0); stream.WriteInt(tex.unkInt); stream.WriteShort(tex.Width); stream.WriteShort(tex.Height); stream.WriteShort(tex.unkShort3); stream.WriteShort(tex.Width); stream.WriteShort(tex.Height); stream.WriteShort(tex.unkShort3); stream.WriteByte2(tex.MipMapCount); stream.WriteShort(tex.unkShort4); stream.WriteNBytes(0, 5); stream.WriteInt((int)stream.Length); stream.WriteInt(array.Length); stream.WriteInt(0); stream.WriteByteArrayAt((int)stream.Length, array, false); } return stream; }
public override void vmethod_14(Stream26 stream26_0) { if (this.vmethod_8()) { byte[] array = new byte[4]; array[1] = 1; array[2] = 3; stream26_0.WriteByteArray(array, false); } else { byte[] array2 = new byte[4]; array2[1] = (byte)(this.vmethod_7() ? 131 : 7); stream26_0.WriteByteArray(array2, false); } stream26_0.WriteInt(this.int_0); int int_ = (int)stream26_0.Position + 4; if (base.Nodes.Count != 0) { stream26_0.WriteInt((int)stream26_0.Position + 8); stream26_0.WriteInt(0); stream26_0.WriteString(this.method_8()); stream26_0.WriteByte2(0); stream26_0.WriteNBytes(0, AbstractTreeNode1.smethod_0(stream26_0.Position)); } else { stream26_0.WriteInt(0); } int num = (int)stream26_0.Position; if (base.method_1().Nodes.IndexOf(this) < base.method_1().Nodes.Count - 1) { stream26_0.WriteIntAt(int_, num); } else { stream26_0.WriteIntAt(int_, 0); } stream26_0.Position = (long)num; }
public override void vmethod_14(Stream26 stream26_0) { stream26_0.WriteInt(this.int_0); stream26_0.WriteInt(this.byte_0.Length); byte[] array = new Class320().method_0(this.byte_0); if (this.byte_0.Length <= array.Length) { array = this.byte_0; } stream26_0.WriteInt(array.Length); stream26_0.WriteByteArray(array, false); stream26_0.WriteNBytes(0, AbstractTreeNode1.smethod_0(stream26_0.Position)); }