public IEnumerable <Color> Load(byte[] tex) { using (var br = new BinaryReaderX(new MemoryStream(tex), byteOrder)) { Enum.TryParse <Support.DXT.Formats>(version.ToString(), false, out var dxtFormat); var dxtdecoder = new Support.DXT.Decoder(dxtFormat); while (br.BaseStream.Position < br.BaseStream.Length || !dxtdecoder.QueueFinished) { yield return(dxtdecoder.Get(() => { var dxt5Alpha = version == Version.DXT3 || version == Version.DXT5 ? br.ReadUInt64() : 0; return (dxt5Alpha, br.ReadUInt64()); })); } } }
public IEnumerable <Color> Load(byte[] tex) { using (var br = new BinaryReaderX(new MemoryStream(tex), byteOrder)) { Enum.TryParse <Support.DXT.Formats>(version.ToString(), false, out var dxtFormat); var dxtdecoder = new Support.DXT.Decoder(dxtFormat, dxt5_exotic); while (true) { yield return(dxtdecoder.Get(() => { //if (br.BaseStream.Position == br.BaseStream.Length) return (0, 0); if (br.BaseStream.Position == 0x1a000 + 0x60) { ; } var dxt5Alpha = version == Version.DXT3 || version == Version.DXT5 ? br.ReadUInt64() : 0; return (dxt5Alpha, br.ReadUInt64()); })); } } }