@@ -979,17 +979,27 @@ void FileManager::checkAndCreateConfigDir()
979979 else
980980 {
981981
982- #if defined(WIN32 )
982+ #if defined(WIN_BUILD )
983983
984984 // Try to use the APPDATA directory to store config files and highscore
985985 // lists. If not defined, used the current directory.
986+
987+ std::string dir = " " ;
988+
989+ #if defined(WIN32)
986990 std::vector<wchar_t > env;
987991 // An environment variable has a maximum size limit of 32,767 characters
988992 env.resize (32767 , 0 );
989993 DWORD length = GetEnvironmentVariable (L" APPDATA" , env.data (), 32767 );
990994 if (length != 0 )
995+ dir = StringUtils::wideToUtf8 (env.data ());
996+ #else
997+ dir = getenv (" APPDATA" );
998+ #endif
999+
1000+ if (!dir.empty ())
9911001 {
992- m_user_config_dir = StringUtils::wideToUtf8 (env. data ()) ;
1002+ m_user_config_dir = dir ;
9931003 if (!checkAndCreateDirectory (m_user_config_dir))
9941004 {
9951005 Log::error (" FileManager" , " Can't create config dir '%s"
@@ -1097,7 +1107,7 @@ void FileManager::checkAndCreateConfigDir()
10971107 */
10981108void FileManager::checkAndCreateAddonsDir ()
10991109{
1100- #if defined(WIN32 )
1110+ #if defined(WIN_BUILD )
11011111 m_addons_dir = m_user_config_dir+" ../addons/" ;
11021112#elif defined(__HAIKU__)
11031113 m_addons_dir = m_user_config_dir+" addons/" ;
@@ -1138,7 +1148,7 @@ void FileManager::checkAndCreateAddonsDir()
11381148 */
11391149void FileManager::checkAndCreateScreenshotDir ()
11401150{
1141- #if defined(WIN32 ) || defined(__HAIKU__)
1151+ #if defined(WIN_BUILD ) || defined(__HAIKU__)
11421152 m_screenshot_dir = m_user_config_dir+" screenshots/" ;
11431153#elif defined(__APPLE__)
11441154 m_screenshot_dir = getenv (" HOME" );
@@ -1164,7 +1174,7 @@ void FileManager::checkAndCreateScreenshotDir()
11641174 */
11651175void FileManager::checkAndCreateReplayDir ()
11661176{
1167- #if defined(WIN32 ) || defined(__HAIKU__)
1177+ #if defined(WIN_BUILD ) || defined(__HAIKU__)
11681178 m_replay_dir = m_user_config_dir + " replay/" ;
11691179#elif defined(__APPLE__)
11701180 m_replay_dir = getenv (" HOME" );
@@ -1190,7 +1200,7 @@ void FileManager::checkAndCreateReplayDir()
11901200*/
11911201void FileManager::checkAndCreateCachedTexturesDir ()
11921202{
1193- #if defined(WIN32 ) || defined(__HAIKU__)
1203+ #if defined(WIN_BUILD ) || defined(__HAIKU__)
11941204 m_cached_textures_dir = m_user_config_dir + " cached-textures/" ;
11951205#elif defined(__APPLE__)
11961206 m_cached_textures_dir = getenv (" HOME" );
@@ -1215,7 +1225,7 @@ void FileManager::checkAndCreateCachedTexturesDir()
12151225 */
12161226void FileManager::checkAndCreateGPDir ()
12171227{
1218- #if defined(WIN32 ) || defined(__HAIKU__)
1228+ #if defined(WIN_BUILD ) || defined(__HAIKU__)
12191229 m_gp_dir = m_user_config_dir + " grandprix/" ;
12201230#elif defined(__APPLE__)
12211231 m_gp_dir = getenv (" HOME" );
0 commit comments