public override Stream OpenEntry(ArcFile arc, Entry entry) { // emulate TGA image var offset = entry.Offset; var info = new S25MetaData { Width = arc.File.View.ReadUInt32(offset), Height = arc.File.View.ReadUInt32(offset + 4), OffsetX = arc.File.View.ReadInt32(offset + 8), OffsetY = arc.File.View.ReadInt32(offset + 12), BPP = 32, FirstOffset = (uint)(offset + 0x14), Incremental = 0 != (arc.File.View.ReadUInt32(offset + 0x10) & 0x80000000u), }; using (var input = arc.File.CreateStream(0, (uint)arc.File.MaxOffset)) using (var reader = new S25Format.Reader(input, info)) { return(TgaStream.Create(info, reader.Unpack())); } }
public override Stream OpenEntry(ArcFile arc, Entry entry) { // emulate TGA image var offset = entry.Offset; var info = new S25MetaData { Width = arc.File.View.ReadUInt32 (offset), Height = arc.File.View.ReadUInt32 (offset+4), OffsetX = arc.File.View.ReadInt32 (offset+8), OffsetY = arc.File.View.ReadInt32 (offset+12), BPP = 32, FirstOffset = (uint)(offset + 0x14), Incremental = 0 != (arc.File.View.ReadUInt32 (offset+0x10) & 0x80000000u), }; using (var input = arc.File.CreateStream (0, (uint)arc.File.MaxOffset)) using (var reader = new S25Format.Reader (input, info)) { return TgaStream.Create (info, reader.Unpack()); } }