X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FMacCompatibility.cpp;h=d95664c8b348a6bf2239861cda44d9ab469c45bf;hb=3c8f67c3c66a86fc9e45469ce2fed4222d486c9f;hp=8e0cae91740f935f447df1d23ee72b51d4476d3e;hpb=54386b13c746c1a8423b9549d0cfd922aae9a8f7;p=lugaru.git diff --git a/Source/MacCompatibility.cpp b/Source/MacCompatibility.cpp index 8e0cae9..d95664c 100644 --- a/Source/MacCompatibility.cpp +++ b/Source/MacCompatibility.cpp @@ -16,6 +16,7 @@ #if PLATFORM_UNIX #include #include +#include #include typedef long long __int64; typedef __int64 LARGE_INTEGER; @@ -191,7 +192,11 @@ static inline const char *getPrefPath(void) if (homedir == NULL) homedir = "."; // oh well. +#if (defined(__APPLE__) && defined(__MACH__)) + const char *PREFPATHNAME = "Library/Application Support/Lugaru"; +#else const char *PREFPATHNAME = ".lugaru"; +#endif size_t len = strlen(homedir) + strlen(PREFPATHNAME) + 2; prefpath = new char[len]; snprintf(prefpath, len, "%s/%s", homedir, PREFPATHNAME); @@ -242,7 +247,7 @@ static int locateCorrectFile(char *buf, const char *mode) snprintf(prefpathfile, len, "%s/%s", prefpath, buf); int rc = locateCorrectCase(prefpathfile, iswriting); /* favor prefpath. */ - if (rc == 0) // found? + if ( (rc == 0) || ((rc == -1) && (iswriting)) ) // found or create? strcpy(buf, prefpathfile); else if ((rc < 0) && (!iswriting)) /* not writing? Try game dir... */ rc = locateCorrectCase(buf, iswriting);