Untested Haiku port?

This commit is contained in:
Ethan Lee
2020-01-13 23:31:14 -05:00
parent 17585c4602
commit 6a0ee21082
4 changed files with 198 additions and 5 deletions

View File

@@ -111,6 +111,7 @@ SET(PFS_SRC
../third_party/physfs/physfs_platform_posix.c
../third_party/physfs/physfs_platform_unix.c
../third_party/physfs/physfs_platform_windows.c
../third_party/physfs/physfs_platform_haiku.cpp
)
IF(APPLE)
# Are you noticing a pattern with this Apple crap yet?
@@ -171,3 +172,9 @@ IF(APPLE)
FIND_LIBRARY(IOKIT NAMES IOKit)
TARGET_LINK_LIBRARIES(VVVVVV objc ${IOKIT} ${FOUNDATION})
ENDIF()
# But hey, also some Haiku crap
IF(HAIKU)
FIND_LIBRARY(BE_LIBRARY be)
FIND_LIBRARY(ROOT_LIBRARY root)
TARGET_LINK_LIBRARIES(VVVVVV ${BE_LIBRARY} ${ROOT_LIBRARY})
ENDIF()

View File

@@ -22,7 +22,7 @@ int mkdir(char* path, int mode)
return CreateDirectoryW(utf16_path, NULL);
}
#define VNEEDS_MIGRATION (mkdirResult != 0)
#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__HAIKU__)
#include <sys/stat.h>
#include <limits.h>
#define VNEEDS_MIGRATION (mkdirResult == 0)
@@ -209,7 +209,7 @@ void PLATFORM_migrateSaveData(char* output)
char oldLocation[MAX_PATH];
char newLocation[MAX_PATH];
char oldDirectory[MAX_PATH];
#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__HAIKU__)
DIR *dir = NULL;
struct dirent *de = NULL;
DIR *subDir = NULL;
@@ -222,7 +222,7 @@ void PLATFORM_migrateSaveData(char* output)
return;
}
strcpy(oldDirectory, homeDir);
#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)
#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__HAIKU__)
strcat(oldDirectory, "/.vvvvvv/");
#elif defined(__APPLE__)
strcat(oldDirectory, "/Documents/VVVVVV/");

View File

@@ -13,7 +13,7 @@
#define STEAM_LIBRARY "steam_api.dll"
#elif defined(__APPLE__)
#define STEAM_LIBRARY "libsteam_api.dylib"
#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)
#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__HAIKU__)
#define STEAM_LIBRARY "libsteam_api.so"
#else
#error STEAM_LIBRARY: Unrecognized platform!
@@ -95,7 +95,7 @@ static void ClearPointers()
int32_t STEAM_init()
{
#if defined(__FreeBSD__) || defined(__OpenBSD__)
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__HAIKU__)
return 0;
#endif
intptr_t steamClient;