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";