Files
haikuports/games-strategy/warzone2100/patches/warzone2100-4.7.0.patchset
2026-04-12 14:54:51 +00:00

184 lines
6.6 KiB
Plaintext

From 81fc679557028d79c94e872dfb3eeb0f69ebfeff Mon Sep 17 00:00:00 2001
From: Peppersawce <michaelpeppers89@yahoo.it>
Date: Mon, 27 Oct 2025 20:05:20 +0100
Subject: Haiku fixes
diff --git a/3rdparty/readerwriterqueue/atomicops.h b/3rdparty/readerwriterqueue/atomicops.h
index f58bcf8..24b145d 100644
--- a/3rdparty/readerwriterqueue/atomicops.h
+++ b/3rdparty/readerwriterqueue/atomicops.h
@@ -372,7 +372,7 @@ extern "C" {
}
#elif defined(__MACH__)
#include <mach/mach.h>
-#elif defined(__unix__)
+#elif defined(__unix__) || defined(__HAIKU__)
#include <semaphore.h>
#elif defined(FREERTOS)
#include <FreeRTOS.h>
@@ -510,7 +510,7 @@ namespace moodycamel
}
}
};
-#elif defined(__unix__)
+#elif defined(__unix__) || defined(__HAIKU__)
//---------------------------------------------------------
// Semaphore (POSIX, Linux)
//---------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 372438b..6a94833 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -212,7 +212,11 @@ endif()
INCLUDE(AddTargetLinkFlagsIfSupported)
# Use "-fPIC" / "-fPIE" for all targets by default, including static libs
-set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+if (HAIKU)
+ set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
+else()
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+endif()
set(WZ_WIN_HAS_PDB FALSE)
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC")
diff --git a/lib/framework/wzglobal.h b/lib/framework/wzglobal.h
index ad32013..46fa2de 100644
--- a/lib/framework/wzglobal.h
+++ b/lib/framework/wzglobal.h
@@ -108,7 +108,7 @@
# define WZ_OS_RELIANT
#elif defined(__linux__) || defined(__linux)
# define WZ_OS_LINUX
-#elif defined(__FreeBSD__) || defined(__DragonFly__)
+#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__HAIKU__)
# define WZ_OS_FREEBSD
# define WZ_OS_BSD4
#elif defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)
diff --git a/lib/sound/oggvorbis.cpp b/lib/sound/oggvorbis.cpp
index c02f6d1..2fd4aba 100644
--- a/lib/sound/oggvorbis.cpp
+++ b/lib/sound/oggvorbis.cpp
@@ -57,7 +57,7 @@ static size_t wz_ogg_read(void *ptr, size_t size, size_t nmemb, void *datasource
return WZ_PHYSFS_readBytes(fileHandle, ptr, static_cast<PHYSFS_uint32>(readLen));
}
-static int wz_ogg_seek(void *datasource, int64_t offset, int whence)
+static int wz_ogg_seek(void *datasource, ogg_int64_t offset, int whence)
{
PHYSFS_file *fileHandle;
int64_t newPos;
diff --git a/lib/wzmaplib/src/map_io.cpp b/lib/wzmaplib/src/map_io.cpp
index 992b649..60c97d8 100644
--- a/lib/wzmaplib/src/map_io.cpp
+++ b/lib/wzmaplib/src/map_io.cpp
@@ -744,7 +744,9 @@ bool enumerateDirInternal(const std::string& rootBasePath, const std::string& ba
continue;
}
fullFilePath = basePath + "/" + dir->d_name;
- if (dir->d_type == DT_DIR)
+ struct stat stbuf;
+ stat(dir->d_name, &stbuf);
+ if (S_ISDIR(stbuf.st_mode))
{
// recurse
if (((enumDirFlags & ENUM_FOLDERS) == ENUM_FOLDERS))
diff --git a/src/version.cpp b/src/version.cpp
index 7db79e8..e0be3cc 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -225,14 +225,14 @@ std::string version_getBuildIdentifierReleaseEnvironment()
if (strlen(vcs_tag))
{
optional<TagVer> tagVersion = version_extractVersionNumberFromTag(vcs_tag);
- if (tagVersion.has_value() && strlen(tagVersion.value().qualifier) != 0)
+ /*if (tagVersion.has_value() && strlen(tagVersion.value().qualifier) != 0)
{
buildReleaseEnvironmentStr = "preview";
}
else
- {
+ {*/
buildReleaseEnvironmentStr = "release";
- }
+ //}
}
else
{
--
2.51.0
From 1b4035c7f8778d9525d000ca582cae4018229078 Mon Sep 17 00:00:00 2001
From: Peppersawce <michaelpeppers89@yahoo.it>
Date: Fri, 31 Oct 2025 17:05:13 +0100
Subject: GameNetworkingSockets: fake being FreeBSD
diff --git a/3rdparty/GameNetworkingSockets/CMakeLists.txt b/3rdparty/GameNetworkingSockets/CMakeLists.txt
index 25bc6a6..314b759 100644
--- a/3rdparty/GameNetworkingSockets/CMakeLists.txt
+++ b/3rdparty/GameNetworkingSockets/CMakeLists.txt
@@ -155,7 +155,7 @@ function(set_target_common_gns_properties TGT)
target_compile_definitions(${TGT} PUBLIC LINUX)
elseif(CMAKE_SYSTEM_NAME MATCHES Darwin)
target_compile_definitions(${TGT} PUBLIC OSX)
- elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+ elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD OR CMAKE_SYSTEM_NAME MATCHES Haiku)
target_compile_definitions(${TGT} PUBLIC FREEBSD)
elseif(CMAKE_SYSTEM_NAME MATCHES Windows)
target_compile_definitions(${TGT} PUBLIC _WINDOWS)
diff --git a/3rdparty/GameNetworkingSockets/src/CMakeLists.txt b/3rdparty/GameNetworkingSockets/src/CMakeLists.txt
index 998bd7f..c669832 100644
--- a/3rdparty/GameNetworkingSockets/src/CMakeLists.txt
+++ b/3rdparty/GameNetworkingSockets/src/CMakeLists.txt
@@ -294,7 +294,7 @@ macro(set_clientlib_target_properties GNS_TARGET)
#if(USE_STEAMWEBRTC AND NOT STEAMWEBRTC_USE_STATIC_LIBS)
# target_link_libraries(${GNS_TARGET} PRIVATE dl)
#endif()
- elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+ elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD OR CMAKE_SYSTEM_NAME MATCHES Haiku)
elseif(CMAKE_SYSTEM_NAME MATCHES Windows)
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
diff --git a/3rdparty/GameNetworkingSockets/src/public/minbase/minbase_identify.h b/3rdparty/GameNetworkingSockets/src/public/minbase/minbase_identify.h
index 2ab5730..df3e3c7 100644
--- a/3rdparty/GameNetworkingSockets/src/public/minbase/minbase_identify.h
+++ b/3rdparty/GameNetworkingSockets/src/public/minbase/minbase_identify.h
@@ -166,7 +166,7 @@
#elif defined( LINUX ) || defined( __LINUX__ ) || defined(linux) || defined(__linux) || defined(__linux__)
#define IsLinux() true
#define IsPosix() true
-#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) || defined(__NetBSD__)
+#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
#define IsBSD() true
#define IsPosix() true
#elif defined( _POSIX_VERSION ) || defined( POSIX ) || defined( VALVE_POSIX )
--
2.51.0
From 0f55b8733407b8e378623b82c965e7e5a445f140 Mon Sep 17 00:00:00 2001
From: Peppersawce <michaelpeppers89@yahoo.it>
Date: Fri, 31 Oct 2025 17:57:34 +0100
Subject: Just work already
diff --git a/3rdparty/GameNetworkingSockets/src/tier0/dbg.cpp b/3rdparty/GameNetworkingSockets/src/tier0/dbg.cpp
index 455ab45..1baef41 100644
--- a/3rdparty/GameNetworkingSockets/src/tier0/dbg.cpp
+++ b/3rdparty/GameNetworkingSockets/src/tier0/dbg.cpp
@@ -139,7 +139,7 @@ void AssertMsgImplementationV( bool _bFatal, bool bFmt, const char* pstrFile, un
#elif defined( __clang__ )
abort();
#else
- std::quick_exit( EXIT_FAILURE );
+ abort();
#endif
}
--
2.51.0