From fcf2b5d1ee325d9a4e2788abc45f986a1ea139b5 Mon Sep 17 00:00:00 2001 From: Crestwave Date: Thu, 27 Feb 2020 08:46:33 +0800 Subject: [PATCH] Add support for Haiku's config directory --- src/engine.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/engine.c b/src/engine.c index 96519c2..a24893e 100644 --- a/src/engine.c +++ b/src/engine.c @@ -22,9 +22,13 @@ along with this program. If not, see . #include #include +#ifdef __HAIKU__ +#include +#else #ifndef _WIN32 #include #endif +#endif #include "SDL.h" @@ -211,6 +215,17 @@ void engine_setupConfigDirectory() if ((mkdir(dir) != 0) && (errno != EEXIST)) engine_showError(2, dir); + snprintf(engine.configDirectory, PATH_MAX, "%s/", dir); +#elif __HAIKU__ + subdir = "starfighter"; + + char path[PATH_MAX]; + if (find_directory(B_USER_SETTINGS_DIRECTORY, 0, false, path, PATH_MAX) == B_OK) + snprintf(dir, PATH_MAX, "%s/%s", path, subdir); + + if ((mkdir(dir, S_IRWXU|S_IRWXG|S_IROTH|S_IXOTH) != 0) && (errno != EEXIST)) + engine_showError(2, dir); + snprintf(engine.configDirectory, PATH_MAX, "%s/", dir); #else subdir = "starfighter";