Esempio n. 1
0
 public bool Identify(System.IO.Stream stream)
 {
     using (var reader = new Switch_Toolbox.Library.IO.FileReader(stream, true))
     {
         return(reader.ReadInt32() == MagicFileConstant);
     }
 }
Esempio n. 2
0
        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!");
            }
        }