Exemple #1
0
 public virtual void vmethod_1(Stream26 stream260)
 {
     stream260.WriteByte2(10);
     stream260.WriteInt(Int0[0]);
     foreach (var current in List0)
     {
         current.vmethod_1(stream260);
     }
     stream260.WriteByte2(0);
 }
Exemple #2
0
 public virtual void vmethod_1(Stream26 stream26_0)
 {
     stream26_0.WriteByte2(10);
     stream26_0.WriteInt(this.int_0[0]);
     foreach (Class324 current in this.list_0)
     {
         current.vmethod_1(stream26_0);
     }
     stream26_0.WriteByte2(0);
 }
        public override void vmethod_1(Stream26 stream26_0)
        {
            stream26_0.WriteByte2(this.byte_0);
            stream26_0.WriteInt(this.int_0[0]);
            byte byte_ = this.byte_0;

            switch (byte_)
            {
            case 1:
                stream26_0.WriteInt((int)this.object_0);
                return;

            case 2:
                stream26_0.WriteFloat((float)this.object_0);
                return;

            case 3:
                break;

            case 4:
                stream26_0.WriteString((string)this.object_0, false);
                stream26_0.WriteByte2(0);
                stream26_0.WriteByte2(0);
                return;

            default:
                switch (byte_)
                {
                case 13:
                    stream26_0.WriteInt(this.int_0[1]);
                    return;

                case 14:
                case 16:
                    stream26_0.WriteByte2((byte)this.object_0);
                    return;

                case 15:
                    break;

                case 17:
                    stream26_0.WriteShort((short)this.object_0);
                    break;

                default:
                    return;
                }
                break;
            }
        }
Exemple #4
0
        public override void vmethod_1(Stream26 stream260)
        {
            stream260.WriteByte2(Byte0);
            stream260.WriteInt(Int0[0]);
            var byte_ = Byte0;

            switch (byte_)
            {
            case 1:
                stream260.WriteInt((int)Object0);
                return;

            case 2:
                stream260.WriteFloat((float)Object0);
                return;

            case 3:
                break;

            case 4:
                stream260.WriteString((string)Object0, false);
                stream260.WriteByte2(0);
                stream260.WriteByte2(0);
                return;

            default:
                switch (byte_)
                {
                case 13:
                    stream260.WriteInt(Int0[1]);
                    return;

                case 14:
                case 16:
                    stream260.WriteByte2((byte)Object0);
                    return;

                case 15:
                    break;

                case 17:
                    stream260.WriteShort((short)Object0);
                    break;

                default:
                    return;
                }
                break;
            }
        }
Exemple #5
0
        public override void vmethod_14(Stream26 stream26_0)
        {
            byte[] array = new byte[4];
            array[1] = 1;
            array[2] = 3;
            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      num    = (int)stream26_0.Position + 4 * base.Nodes.Count;
            Stream26 stream = new Stream26();

            foreach (AsciiValueNode @class in base.Nodes)
            {
                stream26_0.WriteInt(num);
                stream.WriteString(@class.string_0);
                stream.WriteByte2(0);
                num += @class.string_0.Length + 1;
            }
            stream26_0.WriteByteArray(stream.ReadEverything(), false);
            stream26_0.WriteNBytes(0, AbstractTreeNode1.smethod_0(stream26_0.Position));
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        public Stream26 ToStream()
        {
            var stream                = new Stream26(true);
            var textureCount          = TextureCount();
            var textureMetaDataOffset = 0;

            if (!_unkFlag0)
            {
                stream.WriteUInt(0xFACECAA7); //meow
                stream.WriteShort(284);
                stream.WriteShort((short)textureCount);
                stream.WriteInt(0);
                stream.WriteInt(0);
                stream.WriteInt(-1);

                var num3 = 2;
                while (textureCount / Math.Pow(2.0, num3 - 2) > 1.0)
                {
                    num3++;
                }
                num3--;
                stream.WriteInt(num3); //logarithm of textureCount?..
                stream.WriteInt(28);
                stream.WriteNBytes(0xEF, (int)(Math.Pow(2.0, num3) * 12.0 + 28.0));

                textureMetaDataOffset = (int)stream.Position;
                stream.WriteIntAt(8, textureMetaDataOffset);
                stream.WriteInt(textureMetaDataOffset + textureCount * 44);
                stream.Position = textureMetaDataOffset;
            }
            stream.WriteNBytes(0, 40 * textureCount);
            for (var i = 0; i < textureCount; i++)
            {
                var tex   = TextureList[i];
                var array = GetRawTextureData(i);
                stream.WriteShortAt(textureMetaDataOffset + 40 * i, 2600);
                stream.WriteShort(tex.UnkFlags);
                stream.WriteInt(tex.Key);
                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);
        }
Exemple #8
0
 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);
 }
Exemple #9
0
        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;
        }
Exemple #10
0
        public override void vmethod_14(Stream26 stream260)
        {
            if (vmethod_8())
            {
                var array = new byte[4];
                array[1] = 1;
                array[2] = 3;
                stream260.WriteByteArray(array, false);
            }
            else
            {
                var array2 = new byte[4];
                array2[1] = (byte)(vmethod_7() ? 131 : 7);
                stream260.WriteByteArray(array2, false);
            }
            stream260.WriteInt(Int0);
            var int_ = (int)stream260.Position + 4;

            if (Nodes.Count != 0)
            {
                stream260.WriteInt((int)stream260.Position + 8);
                stream260.WriteInt(0);
                stream260.WriteString(method_8());
                stream260.WriteByte2(0);
                stream260.WriteNBytes(0, smethod_0(stream260.Position));
            }
            else
            {
                stream260.WriteInt(0);
            }
            var num = (int)stream260.Position;

            if (method_1().Nodes.IndexOf(this) < method_1().Nodes.Count - 1)
            {
                stream260.WriteIntAt(int_, num);
            }
            else
            {
                stream260.WriteIntAt(int_, 0);
            }
            stream260.Position = num;
        }
Exemple #11
0
        public override void vmethod_14(Stream26 stream260)
        {
            var array = new byte[4];

            array[1] = (vmethod_7() ? (byte)32 : (byte)4);
            array[2] = 3;
            stream260.WriteByteArray(array, false);
            stream260.WriteInt(Int0);
            stream260.WriteInt(Int1);
            if (Nodes.Count != 0)
            {
                stream260.WriteInt((int)stream260.Position + 8);
                stream260.WriteInt(0);
                stream260.WriteString(method_7());
                stream260.WriteByte2(0);
                stream260.WriteNBytes(0, smethod_0(stream260.Position));
                return;
            }
            stream260.WriteNBytes(0, 8);
        }
Exemple #12
0
 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);
         }
     }
 }