public void Read(FileReader reader, Header ptclHeader) { uint Position = (uint)reader.Position; Color0Array = new ColorData[8]; Color1Array = new ColorData[8]; reader.Seek(Position + 880, SeekOrigin.Begin); for (int i = 0; i < 8; i++) { Color0Array[i] = new ColorData(); Color0Array[i].R = reader.ReadSingle(); Color0Array[i].G = reader.ReadSingle(); Color0Array[i].B = reader.ReadSingle(); float time = reader.ReadSingle(); int red = Utils.FloatToIntClamp(Color0Array[i].R); int green = Utils.FloatToIntClamp(Color0Array[i].G); int blue = Utils.FloatToIntClamp(Color0Array[i].B); Color0s[i] = Color.FromArgb(255, red, green, blue); } for (int i = 0; i < 8; i++) { Color0Array[i].A = reader.ReadSingle(); float padding = reader.ReadSingle(); float padding2 = reader.ReadSingle(); float time = reader.ReadSingle(); int alpha = Utils.FloatToIntClamp(Color0Array[i].A); } for (int i = 0; i < 8; i++) { Color1Array[i] = new ColorData(); Color1Array[i].R = reader.ReadSingle(); Color1Array[i].G = reader.ReadSingle(); Color1Array[i].B = reader.ReadSingle(); float time = reader.ReadSingle(); int red = Utils.FloatToIntClamp(Color1Array[i].R); int green = Utils.FloatToIntClamp(Color1Array[i].G); int blue = Utils.FloatToIntClamp(Color1Array[i].B); Color1s[i] = Color.FromArgb(255, red, green, blue); } for (int i = 0; i < 8; i++) { Color1Array[i].A = reader.ReadSingle(); float padding = reader.ReadSingle(); float padding2 = reader.ReadSingle(); float time = reader.ReadSingle(); int alpha = Utils.FloatToIntClamp(Color1Array[i].A); } if (ptclHeader.VFXVersion >= 22) { reader.Seek(Position + 2464, SeekOrigin.Begin); } else { reader.Seek(Position + 2472, SeekOrigin.Begin); } for (int i = 0; i < 3; i++) { SamplerInfo samplerInfo = new SamplerInfo(); samplerInfo.Read(reader); Samplers.Add(samplerInfo); } }