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

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

            stream.Position = 0;
            return(new BlnSubArchiveFileInfo(stream, ShadeSupport.CreateFileName(index, stream, true), entry, Kompression.Implementations.Compressions.ShadeLz, ShadeSupport.PeekDecompressedSize(stream)));
        }
Пример #2
0
 public ShadeLzDecoder()
 {
     _decoder = new ShadeLzHeaderlessDecoder();
 }