This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to annotated tag 1.5a
in repository iortcw.

commit 96eb4af800ce338a0d28052887a3529a2e2dd2c9
Author: MAN-AT-ARMS <m4n4t4...@gmail.com>
Date:   Tue Jul 19 20:22:11 2016 -0400

    All: Add build option to use XDG base directory spec (.wolf is default)
---
 MP/Makefile                      |  9 +++++++++
 MP/code/qcommon/q_shared.h       |  6 +++++-
 MP/code/splines/q_splineshared.h |  6 +++++-
 MP/code/sys/sys_unix.c           | 41 +++++++++++++++++++++++++++++++++++-----
 SP/Makefile                      |  9 +++++++++
 SP/code/qcommon/q_shared.h       |  6 +++++-
 SP/code/splines/q_splineshared.h |  6 +++++-
 SP/code/sys/sys_unix.c           | 41 +++++++++++++++++++++++++++++++++++-----
 8 files changed, 110 insertions(+), 14 deletions(-)

diff --git a/MP/Makefile b/MP/Makefile
index 54bbc25..d9c737c 100644
--- a/MP/Makefile
+++ b/MP/Makefile
@@ -253,6 +253,10 @@ ifndef USE_RENDERER_DLOPEN
 USE_RENDERER_DLOPEN=1
 endif
 
+ifndef USE_XDG
+USE_XDG=0
+endif
+
 ifndef USE_YACC
 USE_YACC=0
 endif
@@ -1075,6 +1079,11 @@ ifeq ($(USE_RENDERER_DLOPEN),1)
   CLIENT_CFLAGS += -DUSE_RENDERER_DLOPEN
 endif
 
+ifeq ($(USE_XDG),1)
+  CLIENT_CFLAGS += -DUSE_XDG
+  SERVER_CFLAGS += -DUSE_XDG
+endif
+
 ifeq ($(USE_MUMBLE),1)
   CLIENT_CFLAGS += -DUSE_MUMBLE
 endif
diff --git a/MP/code/qcommon/q_shared.h b/MP/code/qcommon/q_shared.h
index 1127b81..599192e 100644
--- a/MP/code/qcommon/q_shared.h
+++ b/MP/code/qcommon/q_shared.h
@@ -62,7 +62,11 @@ If you have questions concerning this license or the 
applicable additional terms
   #define BASEGAME                     "main"
   #define CLIENT_WINDOW_TITLE          "Return To Castle Wolfenstein"
   #define CLIENT_WINDOW_MIN_TITLE      "iowolfmp"
-  #define HOMEPATH_NAME_UNIX           ".iortcw"
+#ifdef USE_XDG
+  #define HOMEPATH_NAME_UNIX           "iortcw"
+#else
+  #define HOMEPATH_NAME_UNIX           ".wolf"
+#endif
   #define HOMEPATH_NAME_WIN            "RTCW"
   #define STEAMPATH_NAME               "Return To Castle Wolfenstein"
   #define STEAMPATH_APPID              "9010"
diff --git a/MP/code/splines/q_splineshared.h b/MP/code/splines/q_splineshared.h
index 49e0f9c..a57af6e 100644
--- a/MP/code/splines/q_splineshared.h
+++ b/MP/code/splines/q_splineshared.h
@@ -58,7 +58,11 @@ If you have questions concerning this license or the 
applicable additional terms
   #define BASEGAME                     "main"
   #define CLIENT_WINDOW_TITLE          "Return To Castle Wolfenstein"
   #define CLIENT_WINDOW_MIN_TITLE      "iowolfmp"
-  #define HOMEPATH_NAME_UNIX           ".iortcw"
+#ifdef USE_XDG
+  #define HOMEPATH_NAME_UNIX           "iortcw"
+#else
+  #define HOMEPATH_NAME_UNIX           ".wolf"
+#endif
   #define HOMEPATH_NAME_WIN            "RTCW"
   #define HOMEPATH_NAME_MACOSX         HOMEPATH_NAME_WIN
   #define GAMENAME_FOR_MASTER          "wolfmp"
diff --git a/MP/code/sys/sys_unix.c b/MP/code/sys/sys_unix.c
index 9fe98b8..4318eac 100644
--- a/MP/code/sys/sys_unix.c
+++ b/MP/code/sys/sys_unix.c
@@ -43,6 +43,9 @@ qboolean stdinIsATTY;
 
 // Used to determine where to store user-specific files
 static char homePath[ MAX_OSPATH ] = { 0 };
+#ifdef USE_XDG
+static const char DEFAULT_XDG_DATA_HOME[] = {'.', 'l', 'o', 'c', 'a', 'l', 
PATH_SEP, 's', 'h', 'a', 'r', 'e', '\0'};
+#endif
 
 #ifndef STANDALONE
 // Used to store the Steam RTCW installation path
@@ -56,14 +59,18 @@ Sys_DefaultHomePath
 */
 char *Sys_DefaultHomePath(void)
 {
-       char *p;
+       char *p1;
+#ifdef USE_XDG
+       char *p2;
+#endif
 
        if( !*homePath && com_homepath != NULL )
        {
-               if( ( p = getenv( "HOME" ) ) != NULL )
-               {
-                       Com_sprintf(homePath, sizeof(homePath), "%s%c", p, 
PATH_SEP);
 #ifdef __APPLE__
+               if( ( p1 = getenv( "HOME" ) ) != NULL )
+               {
+                       Com_sprintf(homePath, sizeof(homePath), "%s%c", p1, 
PATH_SEP);
+
                        Q_strcat(homePath, sizeof(homePath),
                                "Library/Application Support/");
 
@@ -72,12 +79,36 @@ char *Sys_DefaultHomePath(void)
                        else
                                Q_strcat(homePath, sizeof(homePath), 
HOMEPATH_NAME_MACOSX);
 #else
+#ifdef USE_XDG
+               if( ( p1 = getenv( "XDG_DATA_HOME" ) ) != NULL )
+               {
+                       Com_sprintf(homePath, sizeof(homePath), "%s%c", p1, 
PATH_SEP);
+
+               }
+               else if( ( p2 = getenv( "HOME" ) ) != NULL)
+               {
+                       Com_sprintf(homePath, sizeof(homePath), "%s%c%s%c", p2, 
PATH_SEP, DEFAULT_XDG_DATA_HOME, PATH_SEP);
+               }
+
+               if (p1 || p2)
+               {
                        if(com_homepath->string[0])
                                Q_strcat(homePath, sizeof(homePath), 
com_homepath->string);
                        else
                                Q_strcat(homePath, sizeof(homePath), 
HOMEPATH_NAME_UNIX);
-#endif
                }
+#else
+               if( ( p1 = getenv( "HOME" ) ) != NULL )
+               {
+                       Com_sprintf(homePath, sizeof(homePath), "%s%c", p1, 
PATH_SEP);
+
+                       if(com_homepath->string[0])
+                               Q_strcat(homePath, sizeof(homePath), 
com_homepath->string);
+                       else
+                               Q_strcat(homePath, sizeof(homePath), 
HOMEPATH_NAME_UNIX);
+               }
+#endif // USE_XDG
+#endif
        }
 
        return homePath;
diff --git a/SP/Makefile b/SP/Makefile
index 704370c..4316045 100644
--- a/SP/Makefile
+++ b/SP/Makefile
@@ -250,6 +250,10 @@ ifndef USE_RENDERER_DLOPEN
 USE_RENDERER_DLOPEN=1
 endif
 
+ifndef USE_XDG
+USE_XDG=0
+endif
+
 ifndef USE_YACC
 USE_YACC=0
 endif
@@ -1060,6 +1064,11 @@ ifeq ($(USE_RENDERER_DLOPEN),1)
   CLIENT_CFLAGS += -DUSE_RENDERER_DLOPEN
 endif
 
+ifeq ($(USE_XDG),1)
+  CLIENT_CFLAGS += -DUSE_XDG
+  SERVER_CFLAGS += -DUSE_XDG
+endif
+
 ifeq ($(USE_MUMBLE),1)
   CLIENT_CFLAGS += -DUSE_MUMBLE
 endif
diff --git a/SP/code/qcommon/q_shared.h b/SP/code/qcommon/q_shared.h
index f37ca78..65e8b88 100644
--- a/SP/code/qcommon/q_shared.h
+++ b/SP/code/qcommon/q_shared.h
@@ -59,7 +59,11 @@ If you have questions concerning this license or the 
applicable additional terms
   #define BASEGAME                     "main"
   #define CLIENT_WINDOW_TITLE          "Return To Castle Wolfenstein"
   #define CLIENT_WINDOW_MIN_TITLE      "iowolfsp"
-  #define HOMEPATH_NAME_UNIX           ".iortcw"
+#ifdef USE_XDG
+  #define HOMEPATH_NAME_UNIX           "iortcw"
+#else
+  #define HOMEPATH_NAME_UNIX           ".wolf"
+#endif
   #define HOMEPATH_NAME_WIN            "RTCW"
   #define STEAMPATH_NAME               "Return To Castle Wolfenstein"
   #define STEAMPATH_APPID              "9010"
diff --git a/SP/code/splines/q_splineshared.h b/SP/code/splines/q_splineshared.h
index 17addf5..87b17be 100644
--- a/SP/code/splines/q_splineshared.h
+++ b/SP/code/splines/q_splineshared.h
@@ -55,7 +55,11 @@ If you have questions concerning this license or the 
applicable additional terms
   #define BASEGAME                     "main"
   #define CLIENT_WINDOW_TITLE          "Return To Castle Wolfenstein"
   #define CLIENT_WINDOW_MIN_TITLE      "iowolfsp"
-  #define HOMEPATH_NAME_UNIX           ".iortcw"
+#ifdef USE_XDG
+  #define HOMEPATH_NAME_UNIX           "iortcw"
+#else
+  #define HOMEPATH_NAME_UNIX           ".wolf"
+#endif
   #define HOMEPATH_NAME_WIN            "RTCW"
   #define HOMEPATH_NAME_MACOSX         HOMEPATH_NAME_WIN
   #define GAMENAME_FOR_MASTER          "wolfsp"
diff --git a/SP/code/sys/sys_unix.c b/SP/code/sys/sys_unix.c
index f7aa689..16db8af 100644
--- a/SP/code/sys/sys_unix.c
+++ b/SP/code/sys/sys_unix.c
@@ -43,6 +43,9 @@ qboolean stdinIsATTY;
 
 // Used to determine where to store user-specific files
 static char homePath[ MAX_OSPATH ] = { 0 };
+#ifdef USE_XDG
+static const char DEFAULT_XDG_DATA_HOME[] = {'.', 'l', 'o', 'c', 'a', 'l', 
PATH_SEP, 's', 'h', 'a', 'r', 'e', '\0'};
+#endif
 
 #ifndef STANDALONE
 // Used to store the Steam RTCW installation path
@@ -56,14 +59,18 @@ Sys_DefaultHomePath
 */
 char *Sys_DefaultHomePath(void)
 {
-       char *p;
+       char *p1;
+#ifdef USE_XDG
+       char *p2;
+#endif
 
        if( !*homePath && com_homepath != NULL )
        {
-               if( ( p = getenv( "HOME" ) ) != NULL )
-               {
-                       Com_sprintf(homePath, sizeof(homePath), "%s%c", p, 
PATH_SEP);
 #ifdef __APPLE__
+               if( ( p1 = getenv( "HOME" ) ) != NULL )
+               {
+                       Com_sprintf(homePath, sizeof(homePath), "%s%c", p1, 
PATH_SEP);
+
                        Q_strcat(homePath, sizeof(homePath),
                                "Library/Application Support/");
 
@@ -72,12 +79,36 @@ char *Sys_DefaultHomePath(void)
                        else
                                Q_strcat(homePath, sizeof(homePath), 
HOMEPATH_NAME_MACOSX);
 #else
+#ifdef USE_XDG
+               if( ( p1 = getenv( "XDG_DATA_HOME" ) ) != NULL )
+               {
+                       Com_sprintf(homePath, sizeof(homePath), "%s%c", p1, 
PATH_SEP);
+
+               }
+               else if( ( p2 = getenv( "HOME" ) ) != NULL)
+               {
+                       Com_sprintf(homePath, sizeof(homePath), "%s%c%s%c", p2, 
PATH_SEP, DEFAULT_XDG_DATA_HOME, PATH_SEP);
+               }
+
+               if (p1 || p2)
+               {
                        if(com_homepath->string[0])
                                Q_strcat(homePath, sizeof(homePath), 
com_homepath->string);
                        else
                                Q_strcat(homePath, sizeof(homePath), 
HOMEPATH_NAME_UNIX);
-#endif
                }
+#else
+               if( ( p1 = getenv( "HOME" ) ) != NULL )
+               {
+                       Com_sprintf(homePath, sizeof(homePath), "%s%c", p1, 
PATH_SEP);
+
+                       if(com_homepath->string[0])
+                               Q_strcat(homePath, sizeof(homePath), 
com_homepath->string);
+                       else
+                               Q_strcat(homePath, sizeof(homePath), 
HOMEPATH_NAME_UNIX);
+               }
+#endif // USE_XDG
+#endif
        }
 
        return homePath;

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/iortcw.git

_______________________________________________
Pkg-games-commits mailing list
Pkg-games-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to