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))); }
public BinArchiveFileInfo(Stream fileData, string filePath, BinFileInfo entry, IKompressionConfiguration configuration, long decompressedSize) : base(fileData, filePath, configuration, decompressedSize) { Entry = entry; }
public BinArchiveFileInfo(Stream fileData, string filePath, BinFileInfo entry) : base(fileData, filePath) { Entry = entry; }