Exemple #1
0
 Stream OpenImage(ArcFile arc, PackedEntry entry)
 {
     using (var packed = arc.File.CreateStream(entry.Offset + 8, entry.Size - 8))
         using (var reader = new GrpUnpacker(packed))
         {
             var unpacked = new byte[entry.UnpackedSize];
             reader.UnpackHDJ(unpacked, 0);
             return(new BinMemoryStream(unpacked, entry.Name));
         }
 }
Exemple #2
0
        Stream OpenImage(ArcFile arc, Entry entry)
        {
            int unpacked_size = arc.File.View.ReadInt32(entry.Offset);

            if (unpacked_size <= 0)
            {
                return(base.OpenEntry(arc, entry));
            }
            using (var packed = arc.File.CreateStream(entry.Offset + 8, entry.Size - 8))
                using (var reader = new GrpUnpacker(packed))
                {
                    var unpacked = new byte[unpacked_size];
                    reader.UnpackHDJ(unpacked, 0);
                    return(new MemoryStream(unpacked));
                }
        }
Exemple #3
0
 Stream OpenImage(ArcFile arc, Entry entry)
 {
     int unpacked_size = arc.File.View.ReadInt32 (entry.Offset);
     if (unpacked_size <= 0)
         return base.OpenEntry (arc, entry);
     using (var packed = arc.File.CreateStream (entry.Offset+8, entry.Size-8))
     using (var reader = new GrpUnpacker (packed))
     {
         var unpacked = new byte[unpacked_size];
         reader.UnpackHDJ (unpacked, 0);
         return new MemoryStream (unpacked);
     }
 }