about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/games/gog/default.nix1
-rw-r--r--pkgs/games/gog/hollow-knight.nix24
2 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/games/gog/default.nix b/pkgs/games/gog/default.nix
index 723392b7..2c195dbe 100644
--- a/pkgs/games/gog/default.nix
+++ b/pkgs/games/gog/default.nix
@@ -17,6 +17,7 @@ let
     epistory = callPackage ./epistory.nix { };
     freedom-planet = callPackage ./freedom-planet.nix {};
     homm3 = callPackage ./homm3 {};
+    hollow-knight = callPackage ./hollow-knight.nix {};
     kingdoms-and-castles = callPackage ./kingdoms-and-castles.nix {};
     overload = callPackage ./overload.nix {};
     party-hard = callPackage ./party-hard.nix {};
diff --git a/pkgs/games/gog/hollow-knight.nix b/pkgs/games/gog/hollow-knight.nix
new file mode 100644
index 00000000..05c839f6
--- /dev/null
+++ b/pkgs/games/gog/hollow-knight.nix
@@ -0,0 +1,24 @@
+{ buildUnity, fetchGog, monogamePatcher }:
+
+buildUnity {
+  name = "hollow-knight";
+  fullName = "hollow_knight";
+  saveDir = "Team Cherry/Hollow Knight";
+  version = "1.4.3.2";
+
+  src = fetchGog {
+    productId = 1308320804;
+    downloadName = "en3installer0";
+    sha256 = "19g0b6mzjahvj1y3mk25li61wardgk4fnl5cn9v24s9lhq8i8d28";
+  };
+
+  nativeBuildInputs = [ monogamePatcher ];
+
+  buildPhase = ''
+    monogame-patcher replace-call \
+      -i hollow_knight_Data/Managed/Assembly-CSharp.dll \
+      'System.String UnityEngine.Application::get_dataPath()' \
+      'System.String UnityEngine.Application::get_persistentDataPath()' \
+      ConfigManager::Awake
+  '';
+}