shithub: choc

Download patch

ref: c380b055804a0616e7ad23054d5c151cffe3399a
parent: 04e809fb794f8371ea3dd9015145ca2a35ad77a0
author: Simon Howard <fraggle@gmail.com>
date: Sun Jan 14 00:04:37 EST 2007

Change interpretation of DOOMWADDIR to the classic behavior: a single
directory path where an IWAD can be found. Add DOOMWADPATH as a
PATH-style list of directories to search for IWADs.
This is to maintain consistency/compatibility with other ports, and so
that the DOOMWADDIR name makes sense.

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 828

--- a/src/d_iwad.c
+++ b/src/d_iwad.c
@@ -324,32 +324,32 @@
 }
 
 //
-// Add directories from the list in the DOOMWADDIR environment variable.
+// Add directories from the list in the DOOMWADPATH environment variable.
 // 
 
-static void AddDoomWadDirs(void)
+static void AddDoomWadPath(void)
 {
-    char *doomwaddir;
+    char *doomwadpath;
     char *p;
 
-    // Check the DOOMWADDIR environment variable.
+    // Check the DOOMWADPATH environment variable.
 
-    doomwaddir = getenv("DOOMWADDIR");
+    doomwadpath = getenv("DOOMWADPATH");
 
-    if (doomwaddir == NULL)
+    if (doomwadpath == NULL)
     {
         return;
     }
 
-    doomwaddir = strdup(doomwaddir);
+    doomwadpath = strdup(doomwadpath);
 
     // Add the initial directory
 
-    AddIWADDir(doomwaddir);
+    AddIWADDir(doomwadpath);
 
     // Split into individual dirs within the list.
 
-    p = doomwaddir;
+    p = doomwadpath;
 
     for (;;)
     {
@@ -379,13 +379,24 @@
 
 static void BuildIWADDirList(void)
 {
+    char *doomwaddir;
+
     // Look in the current directory.  Doom always does this.
 
     AddIWADDir(".");
 
-    // Add dirs from DOOMWADDIR
+    // Add DOOMWADDIR if it is in the environment
 
-    AddDoomWadDirs();
+    doomwaddir = getenv("DOOMWADDIR");
+
+    if (doomwaddir != NULL)
+    {
+	AddIWADDir(doomwaddir);
+    }	
+
+    // Add dirs from DOOMWADPATH
+
+    AddDoomWadPath();
 
 #ifdef _WIN32