--- /dev/null
+--- ./Src/dd_main.c~ 2005-04-10 18:52:35.000000000 +0300
++++ ./Src/dd_main.c 2005-04-10 18:52:37.000000000 +0300
+@@ -248,6 +248,15 @@
+
+ DD_Verbosity();
+
++#ifdef UNIX
++ if (getenv("HOME")) {
++ filename_t h;
++ sprintf(h, "%s/.doomsday", getenv("HOME"));
++ Dir_MakeDir(h, &ddRuntimeDir);
++ userdir_ok = Dir_ChDir(&ddRuntimeDir);
++ }
++#endif
++
+ // The -userdir option sets the working directory.
+ if(ArgCheckWith("-userdir", 1))
+ {
+--- ../Src/dd_main.c~ 2005-04-10 18:53:29.000000000 +0300
++++ ../Src/dd_main.c 2005-04-10 19:07:46.000000000 +0300
+@@ -252,6 +252,7 @@
+ if (getenv("HOME")) {
+ filename_t h;
+ sprintf(h, "%s/.doomsday", getenv("HOME"));
++ M_CheckPath(h);
+ Dir_MakeDir(h, &ddRuntimeDir);
+ userdir_ok = Dir_ChDir(&ddRuntimeDir);
+ }