From 4e8bb812a959b899e4184e923401f779069e4817 Mon Sep 17 00:00:00 2001 From: havoc Date: Fri, 7 Jan 2005 11:52:43 +0000 Subject: [PATCH] thanks to Ludwig Nussel for this patch to add ~/.darkplaces support for non-Windows users git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4906 d7cf8633-e32d-0410-b094-e92efae38249 --- fs.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/fs.c b/fs.c index 376336b7..ba995144 100644 --- a/fs.c +++ b/fs.c @@ -907,6 +907,36 @@ void FS_AddGameDirectory (char *dir) } +/* +================ +FS_AddHomeAsGameDirectory + +Use ~/.games/darkplaces/dir as fs_gamedir +================ +*/ +void FS_AddHomeAsGameDirectory (const char *dir) +{ +#ifndef _WIN32 + char *homedir=getenv("HOME"); + char gdir[MAX_OSPATH]; + if(homedir) + { + int len = snprintf(gdir,sizeof(gdir),"%s/.darkplaces/%s/", homedir, dir); + Con_Printf("using %s for writing\n",gdir); + FS_CreatePath (gdir); + + if ((len > 0) && (len < sizeof(gdir)) && (gdir[len-1] == '/')) + gdir[len-1] = 0; + + strncpy(fs_gamedir,gdir,sizeof(fs_gamedir)-1); + fs_gamedir[sizeof(fs_gamedir)-1] = 0; + + FS_AddGameDirectory (gdir); + } +#endif +} + + /* ============ FS_FileExtension @@ -1009,6 +1039,7 @@ void FS_Init (void) // start up with GAMENAME by default (id1) strlcpy (com_modname, GAMENAME, sizeof (com_modname)); FS_AddGameDirectory (va("%s/"GAMENAME, fs_basedir)); + FS_AddHomeAsGameDirectory(GAMENAME); Cvar_SetQuick (&scr_screenshot_name, gamescreenshotname); // add the game-specific path, if any @@ -1017,6 +1048,7 @@ void FS_Init (void) fs_modified = true; strlcpy (com_modname, gamedirname, sizeof (com_modname)); FS_AddGameDirectory (va("%s/%s", fs_basedir, gamedirname)); + FS_AddHomeAsGameDirectory(gamedirname); } // -game @@ -1032,6 +1064,7 @@ void FS_Init (void) fs_modified = true; strlcpy (com_modname, com_argv[i], sizeof (com_modname)); FS_AddGameDirectory (va("%s/%s", fs_basedir, com_argv[i])); + FS_AddHomeAsGameDirectory(com_argv[i]); Cvar_SetQuick (&scr_screenshot_name, com_modname); } } -- 2.39.2