示例#1
0
        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()));
                }
        }
示例#2
0
文件: ArcS25.cs 项目: Casidi/GARbro
 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());
     }
 }