diff options
author | Chris Robinson <[email protected]> | 2008-06-04 18:09:21 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2008-06-04 18:09:21 -0700 |
commit | 3243f69f217eb24f05631030858b15eaf1a0c4d6 (patch) | |
tree | 38527fa961847779c918075eec0d89211d371016 | |
parent | 10a87f510c8a4b2f175a06a0b2f731cd68ee227f (diff) |
Use %AppData%\alsoft.ini for the config file in Windows
-rw-r--r-- | Alc/alcConfig.c | 16 | ||||
-rw-r--r-- | alsoftrc.sample | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/Alc/alcConfig.c b/Alc/alcConfig.c index de69ad87..d5f4fb5e 100644 --- a/Alc/alcConfig.c +++ b/Alc/alcConfig.c @@ -27,6 +27,11 @@ #include "alMain.h" +#ifdef _WIN32 +#define _WIN32_IE 0x400 +#include <shlobj.h> +#endif + typedef struct ConfigEntry { char *key; char *value; @@ -201,6 +206,17 @@ void ReadALConfig(void) cfgCount = 1; #ifdef _WIN32 + if(SHGetSpecialFolderPathA(NULL, buffer, CSIDL_APPDATA, FALSE) != FALSE) + { + int p = strlen(buffer); + snprintf(buffer+p, sizeof(buffer)-p, "\\alsoft.ini"); + f = fopen(buffer, "rt"); + if(f) + { + LoadConfigFromFile(f); + fclose(f); + } + } #else f = fopen("/etc/openal/alsoft.conf", "r"); if(!f) diff --git a/alsoftrc.sample b/alsoftrc.sample index 8eaa0f4f..06d32dc9 100644 --- a/alsoftrc.sample +++ b/alsoftrc.sample @@ -4,6 +4,7 @@ # specified. # The system-wide settings can be put in /etc/openal/alsoft.conf and user- # specific override settings in ~/.alsoftrc. +# For Windows, these settings should go into %AppData%\alsoft.ini # Option and block names are case-insenstive. The supplied values are only # hints and may not be honored (though generally it'll try to get as close as |