foxygit / doom Log in
commit 9aa0bde15a1582150c60ce322f36334a00da851b
Author:     Julia Nechaevskaya <julia.nechaevskaya@live.com>
AuthorDate: Wed Sep 10 23:23:15 2025 +0300
Commit:     GitHub <noreply@github.com>
CommitDate: Wed Sep 10 22:23:15 2025 +0200

    Add support for DOS IWAD locations of H+H (#1761)

    * Add support for DOS locations of H+H

    For Steam only.

    * Support for DOS versions of GOG

    Co-Authored-By: Fabian Greffrath <fabian@greffrath.com>

    ---------

    Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
---
 src/d_iwad.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/d_iwad.c b/src/d_iwad.c
index 5b6db201..e05b75f0 100644
--- a/src/d_iwad.c
+++ b/src/d_iwad.c
@@ -233,19 +233,29 @@ static registry_value_t root_path_keys[] =
         SOFTWARE_KEY "\\GOG.com\\Games\\1983497091",
         "PATH",
     },
+
+    // Heretic + Hexen Rerelease
+
+    {
+        HKEY_LOCAL_MACHINE,
+        SOFTWARE_KEY "\\GOG.com\\Games\\1776058590",
+        "PATH"
+    },
 };

 // Subdirectories of the above install path, where IWADs are installed.

 static char *root_path_subdirs[] =
 {
-    ".",
     "Doom2",
     "Final Doom",
     "Ultimate Doom",
     "Plutonia",
     "TNT",
     "base\\wads",
+    "dos\\base\\heretic",
+    "dos\\base\\hexen",
+    ".",
 };

 // Location where Steam is installed
@@ -273,6 +283,11 @@ static char *steam_install_subdirs[] =

     "steamapps\\common\\DOOM 3 BFG Edition\\base\\wads",

+    // From Heretic + Hexen Rerelease:
+
+    "steamapps\\common\\Heretic + Hexen\\dos\\base\\heretic",
+    "steamapps\\common\\Heretic + Hexen\\dos\\base\\hexen",
+
     // From Strife: Veteran Edition:

     "steamapps\\common\\Strife",
@@ -719,6 +734,8 @@ static void AddSteamDirs(void)
     AddIWADPath(steampath, "/Heretic Shadow of the Serpent Riders/base");
     AddIWADPath(steampath, "/Hexen/base");
     AddIWADPath(steampath, "/Hexen Deathkings of the Dark Citadel/base");
+    AddIWADPath(steampath, "/Heretic + Hexen/dos/base/heretic");
+    AddIWADPath(steampath, "/Heretic + Hexen/dos/base/hexen");
     AddIWADPath(steampath, "/Strife");
     free(steampath);
 }