diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2006-08-01 11:41:49 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2006-08-01 11:41:49 +0000 |
commit | 1f0b1821b64cd755c1d6ec93d42849f928f21c73 (patch) | |
tree | 846f7cfea89c805e834a8b65dbeba44f44f4c3f1 | |
parent | ead6ad4e27610d53977d11955569fcf348fac5dd (diff) | |
download | ioquake3-aero-1f0b1821b64cd755c1d6ec93d42849f928f21c73.tar.gz ioquake3-aero-1f0b1821b64cd755c1d6ec93d42849f928f21c73.zip |
* Windows home directory support (tjw)
git-svn-id: svn://svn.icculus.org/quake3/trunk@827 edf5b092-35ff-0310-97b2-ce42778d08ea
-rw-r--r-- | code/win32/win_local.h | 1 | ||||
-rw-r--r-- | code/win32/win_shared.c | 21 |
2 files changed, 21 insertions, 1 deletions
diff --git a/code/win32/win_local.h b/code/win32/win_local.h index fdca55a..14c0de5 100644 --- a/code/win32/win_local.h +++ b/code/win32/win_local.h @@ -37,6 +37,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include <dsound.h> #include <winsock.h> #include <wsipx.h> +#include <shlobj.h> void IN_MouseEvent (int mstate); diff --git a/code/win32/win_shared.c b/code/win32/win_shared.c index fe75e3a..36a35c5 100644 --- a/code/win32/win_shared.c +++ b/code/win32/win_shared.c @@ -285,7 +285,26 @@ char *Sys_GetCurrentUser( void ) } char *Sys_DefaultHomePath(void) { - return NULL; + TCHAR szPath[MAX_PATH]; + static char path[MAX_OSPATH]; + + if( !SUCCEEDED( SHGetFolderPath( NULL, CSIDL_LOCAL_APPDATA, + NULL, 0, szPath ) ) ) + { + + return NULL; + } + Q_strncpyz( path, szPath, sizeof(path) ); + Q_strcat( path, sizeof(path), "\\Quake3" ); + if( CreateDirectory( path, NULL ) ) + { + if( GetLastError() != ERROR_ALREADY_EXISTS ) + { + Com_Printf("Unable to create directory \"%s\"\n", path); + return NULL; + } + } + return path; } char *Sys_DefaultInstallPath(void) |