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