From 6fd9d49c9e6763624eebab62ccf45c04550ca8ab Mon Sep 17 00:00:00 2001
From: erri120 <erri120@protonmail.com>
Date: Sun, 27 Oct 2019 12:02:30 +0100
Subject: [PATCH] Added BZip2 Compression to modlist info file

---
 Wabbajack.Common/Utils.cs | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/Wabbajack.Common/Utils.cs b/Wabbajack.Common/Utils.cs
index 399aabf4..47264da7 100644
--- a/Wabbajack.Common/Utils.cs
+++ b/Wabbajack.Common/Utils.cs
@@ -198,7 +198,13 @@ namespace Wabbajack.Common
             var ceras = new CerasSerializer();
             byte[] buffer = null;
             ceras.Serialize(obj, ref buffer);
-            File.WriteAllBytes(filename, buffer);
+            using(var m1 = new MemoryStream(buffer))
+            using (var m2 = new MemoryStream())
+            {
+                BZip2.Compress(m1, m2, false, 9);
+                m2.Seek(0, SeekOrigin.Begin);
+                File.WriteAllBytes(filename, m2.ToArray());
+            }
         }
 
         public static void ToJSON<T>(this T obj, string filename)
@@ -265,7 +271,13 @@ namespace Wabbajack.Common
         {
             var ceras = new CerasSerializer();
             byte[] bytes = data.ReadAll();
-            return ceras.Deserialize<T>(bytes);
+            using (var m1 = new MemoryStream(bytes))
+            using (var m2 = new MemoryStream())
+            {
+                BZip2.Decompress(m1, m2, false);
+                m2.Seek(0, SeekOrigin.Begin);
+                return ceras.Deserialize<T>(m2.ToArray());
+            }
         }
 
         public static bool FileExists(this string filename)