aboutsummaryrefslogtreecommitdiff
path: root/srcds-pkgs/depotdownloader-json/2_7
diff options
context:
space:
mode:
Diffstat (limited to 'srcds-pkgs/depotdownloader-json/2_7')
-rw-r--r--srcds-pkgs/depotdownloader-json/2_7/0001-ProtoManifest-sort-files-in-constructor.patch24
-rw-r--r--srcds-pkgs/depotdownloader-json/2_7/0002-emit-json-in-.DepotDownload.patch50
2 files changed, 74 insertions, 0 deletions
diff --git a/srcds-pkgs/depotdownloader-json/2_7/0001-ProtoManifest-sort-files-in-constructor.patch b/srcds-pkgs/depotdownloader-json/2_7/0001-ProtoManifest-sort-files-in-constructor.patch
new file mode 100644
index 0000000..3cc62b8
--- /dev/null
+++ b/srcds-pkgs/depotdownloader-json/2_7/0001-ProtoManifest-sort-files-in-constructor.patch
@@ -0,0 +1,24 @@
+From 1ecf96ef85c9d2d14619da93bd5a5ce53a74d8ad Mon Sep 17 00:00:00 2001
+From: yuuko <yuuko@kurofuku.me>
+Date: Wed, 1 Nov 2023 06:46:57 -0700
+Subject: [PATCH 1/2] ProtoManifest: sort files in constructor
+
+---
+ DepotDownloader/ProtoManifest.cs | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/DepotDownloader/ProtoManifest.cs b/DepotDownloader/ProtoManifest.cs
+index b6eb010..260fdef 100644
+--- a/DepotDownloader/ProtoManifest.cs
++++ b/DepotDownloader/ProtoManifest.cs
+@@ -23,6 +23,7 @@ namespace DepotDownloader
+ public ProtoManifest(DepotManifest sourceManifest, ulong id) : this()
+ {
+ sourceManifest.Files.ForEach(f => Files.Add(new FileData(f)));
++ Files.Sort((f1,f2) => f1.FileName.CompareTo(f2.FileName));
+ ID = id;
+ CreationTime = sourceManifest.CreationTime;
+ }
+--
+2.47.0
+
diff --git a/srcds-pkgs/depotdownloader-json/2_7/0002-emit-json-in-.DepotDownload.patch b/srcds-pkgs/depotdownloader-json/2_7/0002-emit-json-in-.DepotDownload.patch
new file mode 100644
index 0000000..cd50e0b
--- /dev/null
+++ b/srcds-pkgs/depotdownloader-json/2_7/0002-emit-json-in-.DepotDownload.patch
@@ -0,0 +1,50 @@
+From 740cc23a0993d5a0d757aeb07762714b5e0a4fbe Mon Sep 17 00:00:00 2001
+From: yuuko <yuuko@partyvan.io>
+Date: Sun, 24 Nov 2024 00:43:33 -0800
+Subject: [PATCH 2/2] emit json in .DepotDownload
+
+---
+ DepotDownloader/ContentDownloader.cs | 1 +
+ DepotDownloader/ProtoManifest.cs | 8 ++++++++
+ 2 files changed, 9 insertions(+)
+
+diff --git a/DepotDownloader/ContentDownloader.cs b/DepotDownloader/ContentDownloader.cs
+index 9042c39..bd1ec4a 100644
+--- a/DepotDownloader/ContentDownloader.cs
++++ b/DepotDownloader/ContentDownloader.cs
+@@ -876,6 +876,7 @@ namespace DepotDownloader
+
+ newProtoManifest = new ProtoManifest(depotManifest, depot.ManifestId);
+ newProtoManifest.SaveToFile(newManifestFileName, out var checksum);
++ newProtoManifest.SaveToJSON(newManifestFileName.Replace(".bin", ".json"));
+ File.WriteAllBytes(newManifestFileName + ".sha", checksum);
+
+ Console.WriteLine(" Done!");
+diff --git a/DepotDownloader/ProtoManifest.cs b/DepotDownloader/ProtoManifest.cs
+index 260fdef..ffb0420 100644
+--- a/DepotDownloader/ProtoManifest.cs
++++ b/DepotDownloader/ProtoManifest.cs
+@@ -5,6 +5,8 @@ using System;
+ using System.Collections.Generic;
+ using System.IO;
+ using System.IO.Compression;
++using System.Text;
++using System.Text.Json;
+ using System.Security.Cryptography;
+ using ProtoBuf;
+ using SteamKit2;
+@@ -158,5 +160,11 @@ namespace DepotDownloader
+ using var ds = new DeflateStream(fs, CompressionMode.Compress);
+ ms.CopyTo(ds);
+ }
++
++ public void SaveToJSON(string filename)
++ {
++ var jsonBytes = new UTF8Encoding(true).GetBytes(JsonSerializer.Serialize(this));
++ File.Open(filename, FileMode.Create).Write(jsonBytes, 0, jsonBytes.Length);
++ }
+ }
+ }
+--
+2.47.0
+