Beispiel #1
0
        public void Deserialize(IBlock parent, Stream input, Endian endian)
        {
            var count = input.ReadValueU32(endian);

            this.Unknown0.Clear();
            this.Unknown1.Clear();
            for (uint i = 0; i < count; i++)
            {
                var unknown = new UnknownData0();

                unknown.Unknown00 = input.ReadValueF32(endian);
                unknown.Unknown04 = input.ReadValueF32(endian);
                unknown.Unknown08 = input.ReadValueF32(endian);
                unknown.Unknown0C = input.ReadValueF32(endian);
                unknown.Unknown10 = input.ReadValueF32(endian);
                unknown.Unknown14 = input.ReadValueF32(endian);
                unknown.Unknown18 = input.ReadValueF32(endian);
                unknown.Unknown1C = input.ReadValueF32(endian);
                unknown.Unknown20 = input.ReadValueF32(endian);
                unknown.Unknown24 = input.ReadValueF32(endian);
                unknown.Unknown28 = input.ReadValueF32(endian);
                unknown.Unknown2C = input.ReadValueU32(endian);
                unknown.Unknown30 = input.ReadValueU32(endian);

                var length = input.ReadValueU32(endian);
                unknown.Name = input.ReadString(length);

                input.Seek(1, SeekOrigin.Current); // skip null

                this.Unknown0.Add(unknown);
            }
        }
        void IChunk.Deserialize(IChunk parent, Stream input, Endian endian)
        {
            var sknd = (SKNDChunk)parent;

            this.Unknown0.Clear();
            for (int i = 0; i < sknd.Unknown0.Count; i++)
            {
                uint count    = input.ReadValueU32(endian);
                var  unknowns = new List <UnknownData0>();
                for (int j = 0; j < count; j++)
                {
                    var unknown = new UnknownData0();
                    unknown.Unknown0 = input.ReadBytes(172);
                    unknown.Unknown1 = input.ReadValueU16(endian);
                    unknowns.Add(unknown);
                }
                this.Unknown0.Add(unknowns);
            }
        }
Beispiel #3
0
        public void Deserialize(IBlock parent, Stream input, Endian endian)
        {
            var sknd = (SKND)parent;

            this.Unknown0.Clear();
            for (int i = 0; i < sknd.Unknown0.Count; i++)
            {
                uint count = input.ReadValueU32(endian);
                List <UnknownData0> unknowns = new List <UnknownData0>();
                for (int j = 0; j < count; j++)
                {
                    var unknown = new UnknownData0();
                    unknown.Unknown0 = new byte[108];
                    input.Read(unknown.Unknown0, 0, unknown.Unknown0.Length);
                    unknown.Unknown1 = input.ReadValueU16(endian);
                    unknowns.Add(unknown);
                }
                this.Unknown0.Add(unknowns);
            }
        }