Example #1
0
        private ArchiveFileInfo CreateAfi(Stream stream, int index, BinFileInfo entry)
        {
            // Every file not compressed with the headered Spike Chunsoft compression, is compressed headerless
            var compressionMagic = ShadeSupport.PeekInt32LittleEndian(stream);

            if (compressionMagic != 0xa755aafc)
            {
                return(new BinArchiveFileInfo(stream, ShadeSupport.CreateFileName(index, stream, false), entry, Kompression.Implementations.Compressions.ShadeLzHeaderless, ShadeLzHeaderlessDecoder.CalculateDecompressedSize(stream)));
            }

            stream.Position = 0;
            return(new BinArchiveFileInfo(stream, ShadeSupport.CreateFileName(index, stream, true), entry, Kompression.Implementations.Compressions.ShadeLz, ShadeSupport.PeekDecompressedSize(stream)));
        }
Example #2
0
 public BinArchiveFileInfo(Stream fileData, string filePath, BinFileInfo entry, IKompressionConfiguration configuration, long decompressedSize) :
     base(fileData, filePath, configuration, decompressedSize)
 {
     Entry = entry;
 }
Example #3
0
 public BinArchiveFileInfo(Stream fileData, string filePath, BinFileInfo entry) :
     base(fileData, filePath)
 {
     Entry = entry;
 }