public bool Identify(System.IO.Stream stream) { using (var reader = new Switch_Toolbox.Library.IO.FileReader(stream, true)) { return(reader.ReadInt32() == MagicFileConstant); } }
public void DecompressData(CompressionType CompressionType, byte[] data) { try { switch (CompressionType) { case CompressionType.Yaz0: SaveFileForCompression(EveryFileExplorer.YAZ0.Decompress(data)); break; case CompressionType.Zlib: break; case CompressionType.Gzip: SaveFileForCompression(STLibraryCompression.GZIP.Decompress(data)); break; case CompressionType.Zstb: SaveFileForCompression(STLibraryCompression.ZSTD.Decompress(data)); break; case CompressionType.Lz4f: using (var reader = new FileReader(data)) { reader.Position = 0; int OuSize = reader.ReadInt32(); int InSize = data.Length - 4; SaveFileForCompression(STLibraryCompression.Type_LZ4F.Decompress(reader.getSection(4, InSize))); } break; case CompressionType.Lz4: SaveFileForCompression(STLibraryCompression.Type_LZ4.Decompress(data)); break; } } catch { MessageBox.Show($"File not compressed with {CompressionType} compression!"); } }