X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FOpenGL_Windows.cpp;h=a64f5e4408f3bda69737bacc04f7f2834fdfb4b9;hb=9a34028dd6a8526a18c1a23c21cbb86b325e1560;hp=2aec38d94c0fe2ef4d82225e57c592d7b810325d;hpb=67aaac9d28215f63f6739dc47976e214514e840a;p=lugaru.git diff --git a/Source/OpenGL_Windows.cpp b/Source/OpenGL_Windows.cpp index 2aec38d..a64f5e4 100644 --- a/Source/OpenGL_Windows.cpp +++ b/Source/OpenGL_Windows.cpp @@ -1341,6 +1341,14 @@ static void launch_web_browser(const char *url) #ifdef WIN32 ShellExecute(NULL, "open", url, NULL, NULL, SW_SHOWNORMAL); +#elif (defined(__APPLE__) && defined(__MACH__)) + const char *fmt = "open '%s'"; + const size_t len = strlen(fmt) + strlen(url) + 16; + char *buf = new char[len]; + snprintf(buf, len, fmt, url); + system(buf); + delete[] buf; + #elif PLATFORM_LINUX const char *fmt = "PATH=$PATH:. xdg-open '%s'"; const size_t len = strlen(fmt) + strlen(url) + 16; @@ -1434,6 +1442,19 @@ static inline void chdirToAppPath(const char *argv0) char *dir = calcBaseDir(argv0); if (dir) { + #if (defined(__APPLE__) && defined(__MACH__)) + // Chop off /Contents/MacOS if it's at the end of the string, so we + // land in the base of the app bundle. + const size_t len = strlen(dir); + const char *bundledirs = "/Contents/MacOS"; + const size_t bundledirslen = strlen(bundledirs); + if (len > bundledirslen) + { + char *ptr = (dir + len) - bundledirslen; + if (strcasecmp(ptr, bundledirs) == 0) + *ptr = '\0'; + } + #endif chdir(dir); free(dir); } @@ -1562,10 +1583,12 @@ int main(int argc, char **argv) // if(game.registernow){ if(regnow) { - #if PLATFORM_LINUX // (this may not be necessary any more.) - launch_web_browser("http://www.wolfire.com/registerlinux.html"); + #if (defined(__APPLE__) && defined(__MACH__)) + launch_web_browser("http://www.wolfire.com/purchase/lugaru/mac"); + #elif PLATFORM_LINUX + launch_web_browser("http://www.wolfire.com/purchase/lugaru/linux"); #else - launch_web_browser("http://www.wolfire.com/registerpc.html"); + launch_web_browser("http://www.wolfire.com/purchase/lugaru/pc"); #endif }