From 6d9a43cb238472ad485a8e253b87869bbf06a55b Mon Sep 17 00:00:00 2001 From: Daniel Gibson Date: Sat, 15 Sep 2012 22:54:27 +0200 Subject: [PATCH] On Linux/Unix, return EXE-path as base-path if BUILD_DATADIR fails Using this path was the old behavior and is expected by many users. --- neo/sys/linux/main.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/neo/sys/linux/main.cpp b/neo/sys/linux/main.cpp index 23ffb367..c486613b 100644 --- a/neo/sys/linux/main.cpp +++ b/neo/sys/linux/main.cpp @@ -62,6 +62,17 @@ bool Sys_GetPath(sysPath_t type, idStr &path) { common->Warning("base path '" BUILD_DATADIR "' does not exits"); + // try next to the executable.. + if (Sys_GetPath(PATH_EXE, path)) { + path = path.StripFilename(); + if (stat(path.c_str(), &st) != -1 && S_ISDIR(st.st_mode)) { + common->Warning("using path of executable: %s", path.c_str()); + return true; + } else { + path.Clear(); + } + } + // fallback to vanilla doom3 install if (stat(LINUX_DEFAULT_PATH, &st) != -1 && S_ISDIR(st.st_mode)) { common->Warning("using hardcoded default base path");