mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 11:38:52 +02:00
Update Warzone 2100 to 4.7.0 (#13937)
This commit is contained in:
183
games-strategy/warzone2100/patches/warzone2100-4.7.0.patchset
Normal file
183
games-strategy/warzone2100/patches/warzone2100-4.7.0.patchset
Normal file
@@ -0,0 +1,183 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user