public static String Compress(string fileIn, string originalFile, IPluginHost pluginHost) { String fileOut = pluginHost.Get_TempFolder() + Path.DirectorySeparatorChar + "new_" + Path.GetFileName(originalFile); // Read unknown header BinaryReader br = new BinaryReader(File.OpenRead(originalFile)); byte[] header = br.ReadBytes(0x10); br.Close(); BinaryWriter bw = new BinaryWriter(File.OpenWrite(fileOut)); bw.Write(header); // Compress the file with LZ11 String tempFile = Path.GetTempFileName(); pluginHost.Compress(fileIn, tempFile, FormatCompress.LZ11); bw.Write(File.ReadAllBytes(tempFile)); bw.Flush(); bw.Close(); File.Delete(tempFile); return fileOut; }