Beispiel #1
0
            protected override void ReadBinaryData(FileReader reader, Header header)
            {
                ReadName(reader);
                reader.Seek(0x10); // 0-padding

                // color arrays with key counts
                Color0Array      = new STColorArray(reader.ReadUInt32());
                Color0AlphaArray = new STColorArray(reader.ReadUInt32(), true);
                Color1Array      = new STColorArray(reader.ReadUInt32());
                Color1AlphaArray = new STColorArray(reader.ReadUInt32(), true);
                ScaleArray       = new STColorArray(reader.ReadUInt32());
                UnknownCount     = reader.ReadUInt32();
                reader.Seek(0x38); // 0-padding

                Unknown0 = reader.ReadBytes(0x30);


                BlinkIntensity0 = reader.ReadSingle();
                BlinkIntensity1 = reader.ReadSingle();
                BlinkDuration0  = reader.ReadSingle();
                BlinkDuration1  = reader.ReadSingle();

                Unknown1 = reader.ReadBytes(0x2c0);

                Radius = reader.ReadSingle();
                reader.Seek(0x0c); // 0-padding

                // random and animated color table
                Color0Array.ReadColorData(reader);
                Color0AlphaArray.ReadColorData(reader);
                Color1Array.ReadColorData(reader);
                Color1AlphaArray.ReadColorData(reader);
                Unknown2 = reader.ReadBytes(0x40);
                ScaleArray.ReadColorData(reader);

                Unknown3 = reader.ReadBytes(0x328);

                // constant colors
                ConstantColor0 = new STColor(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle());
                ConstantColor1 = new STColor(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle());

                Unknown4 = reader.ReadBytes(0x30);

                // samplers
                for (int i = 0; i < 3; ++i)
                {
                    SamplerInfo samplerInfo = new SamplerInfo();
                    samplerInfo.ReadSamplerData(reader);
                    Samplers.Add(samplerInfo);
                }

                Unknown5 = reader.ReadBytes(0x30);
            }