openjk_academy: bump version

This commit is contained in:
Gerasim Troeglazov
2025-04-19 20:48:12 +10:00
parent 69fe861adf
commit befaf25664
2 changed files with 96 additions and 162 deletions

View File

@@ -16,12 +16,12 @@ Rough support for Jedi Outcast single player is also available, however this sho
considered heavily work in progress. This is not currently actively worked on or tested. \
OpenJK does not have Jedi Outcast multiplayer support."
HOMEPAGE="https://github.com/JACoders/OpenJK"
COPYRIGHT="2003 Activision"
COPYRIGHT="JACoders"
LICENSE="GNU GPL v2"
REVISION="2"
srcGitRev="52030235f052772008d99e6ccb16de48e7ddb688"
REVISION="1"
srcGitRev="5878f620f6dabb6573595470627ab2e31cb46b67"
SOURCE_URI="https://github.com/JACoders/OpenJK/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="2b6fadf16cca2fdf4cce32f977e0d0aa34e2a19d1c596b996f9857b6a97c7d32"
CHECKSUM_SHA256="b5c83ddfc206f73b2a555b48600e54602c94a5aba5dabcabf610e0db50b15888"
SOURCE_DIR="OpenJK-$srcGitRev"
srcGitRev2="8a5551caf0c0a0fef76c2142afc23623ea937a59"
SOURCE_URI_2="https://github.com/EXL/BeGameLauncher/archive/$srcGitRev2.tar.gz"
@@ -68,6 +68,8 @@ BUILD()
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir/JediAcademy \
-DCMAKE_EXE_LINKER_FLAGS="-lnetwork" \
-DCMAKE_SKIP_RPATH=ON \
-DUseInternalZlib=ON \
-DUseInternalPNG=ON \
-DUseInternalJPEG=ON \

View File

@@ -1,14 +1,38 @@
From fbc196f3d58e2c5759b28b2773bd66608ee0f645 Mon Sep 17 00:00:00 2001
From 226031a38174a13c46d0ab14e4e0afab7e9424ce Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 30 Oct 2019 00:18:24 +1000
Date: Sat, 19 Apr 2025 19:25:24 +1000
Subject: Add Haiku support
diff --git a/code/mp3code/config.h b/code/mp3code/config.h
index 36a2651..2c2dd35 100644
--- a/code/mp3code/config.h
+++ b/code/mp3code/config.h
@@ -59,6 +59,10 @@ typedef int socklen_t;
// real number
typedef double real;
+#ifdef __HAIKU__
+#include <SupportDefs.h>
+#else
+
#if UCHAR_MAX == 0xff
typedef unsigned char uint8;
@@ -101,7 +105,7 @@ typedef short int32;
#else
#error This machine has no 32-bit type
#endif
-
+#endif
// What character marks the end of a directory entry? For DOS and
// Windows, it is "\"; in UNIX it is "/".
diff --git a/code/qcommon/files.cpp b/code/qcommon/files.cpp
index c35d0e0..c4f6149 100644
index d105742..115f9ac 100644
--- a/code/qcommon/files.cpp
+++ b/code/qcommon/files.cpp
@@ -2885,6 +2885,12 @@ void FS_Startup( const char *gameName ) {
@@ -2901,6 +2901,12 @@ void FS_Startup( const char *gameName ) {
if (fs_basepath->string[0]) {
FS_AddGameDirectory( fs_basepath->string, gameName );
}
@@ -34,8 +58,21 @@ index c9215db..9b3fa66 100644
#elif defined( __FreeBSD__ ) || defined(__OpenBSD__) // rb010123
# include <GL/gl.h>
# include <GL/glx.h>
diff --git a/lib/libpng/CMakeLists.txt b/lib/libpng/CMakeLists.txt
index 4ef4c7e..a25a99a 100644
--- a/lib/libpng/CMakeLists.txt
+++ b/lib/libpng/CMakeLists.txt
@@ -23,7 +23,7 @@
# This only has effect in this directory (lib/png).
include_directories(include/)
-if(WIN32)
+if(WIN32 OR HAIKU)
include_directories(../zlib/include/)
endif()
diff --git a/lib/minizip/ioapi.c b/lib/minizip/ioapi.c
index 7f5c191..0db4bbf 100644
index c2b536f..68b655c 100644
--- a/lib/minizip/ioapi.c
+++ b/lib/minizip/ioapi.c
@@ -14,7 +14,7 @@
@@ -48,10 +85,10 @@ index 7f5c191..0db4bbf 100644
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
#define FTELLO_FUNC(stream) ftello(stream)
diff --git a/shared/qcommon/q_platform.h b/shared/qcommon/q_platform.h
index bddb7bd..d54b0f8 100644
index b843d0a..0184a7f 100644
--- a/shared/qcommon/q_platform.h
+++ b/shared/qcommon/q_platform.h
@@ -143,6 +143,30 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
@@ -146,6 +146,30 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#define DLL_EXT ".so"
@@ -83,7 +120,7 @@ index bddb7bd..d54b0f8 100644
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
diff --git a/shared/sdl/sdl_window.cpp b/shared/sdl/sdl_window.cpp
index 5fa0f8b..4dfd01b 100644
index 18daa06..16ba8b6 100644
--- a/shared/sdl/sdl_window.cpp
+++ b/shared/sdl/sdl_window.cpp
@@ -87,7 +87,7 @@ const vidmode_t r_vidModes[] = {
@@ -108,7 +145,7 @@ index 5fa0f8b..4dfd01b 100644
// If a window exists, note its display index
if ( screen != NULL )
{
@@ -713,9 +719,11 @@ static qboolean GLimp_StartDriverAndSetMode(glconfig_t *glConfig, const windowDe
@@ -717,9 +723,11 @@ static qboolean GLimp_StartDriverAndSetMode(glconfig_t *glConfig, const windowDe
case RSERR_INVALID_MODE:
Com_Printf( "...WARNING: could not set the given mode (%d)\n", mode );
return qfalse;
@@ -120,22 +157,35 @@ index 5fa0f8b..4dfd01b 100644
default:
break;
}
@@ -809,8 +817,9 @@ void WIN_Shutdown( void )
Cmd_RemoveCommand("minimize");
IN_Shutdown();
@@ -823,8 +831,9 @@ void WIN_Shutdown( void )
SDL_DestroyWindow( screen );
screen = NULL;
}
-
+#ifndef __HAIKU__
SDL_QuitSubSystem( SDL_INIT_VIDEO );
+#endif
screen = NULL;
}
void GLimp_EnableLogging( qboolean enable )
diff --git a/shared/sys/sys_unix.cpp b/shared/sys/sys_unix.cpp
index 96f5b7a..c90f068 100644
index 849d11b..d8e08c5 100644
--- a/shared/sys/sys_unix.cpp
+++ b/shared/sys/sys_unix.cpp
@@ -400,6 +400,12 @@ Sys_Mkdir
@@ -57,10 +57,12 @@ void Sys_PlatformInit( int argc, char *argv[] )
signal( SIGABRT, Sys_SigHandler );
signal( SIGBUS, Sys_SigHandler );
+#ifndef __HAIKU__
if (isatty( STDIN_FILENO ) && !( term && ( !strcmp( term, "raw" ) || !strcmp( term, "dumb" ) ) ))
stdinIsATTY = qtrue;
else
stdinIsATTY = qfalse;
+#endif
// raise open file limit to allow more pk3 files
int retval;
@@ -428,6 +430,12 @@ Sys_Mkdir
*/
qboolean Sys_Mkdir( const char *path )
{
@@ -148,7 +198,7 @@ index 96f5b7a..c90f068 100644
int result = mkdir( path, 0750 );
if( result != 0 )
@@ -468,6 +474,25 @@ char *Sys_DefaultHomePath(void)
@@ -496,6 +504,25 @@ char *Sys_DefaultHomePath(void)
return homePath;
}
@@ -175,159 +225,41 @@ index 96f5b7a..c90f068 100644
char *Sys_DefaultHomePath(void)
{
--
2.26.0
2.48.1
From f66678ef68dad4199263d7848f7d8e2d1cd4306e Mon Sep 17 00:00:00 2001
From 3e92f448486635dc024b821210a6b2e0eef14954 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Tue, 10 Mar 2020 20:22:50 +1000
Subject: use internal zlib
Date: Sat, 19 Apr 2025 19:33:39 +1000
Subject: Add OpenGl include for Haiku
diff --git a/lib/libpng/CMakeLists.txt b/lib/libpng/CMakeLists.txt
index 4ef4c7e..a25a99a 100644
--- a/lib/libpng/CMakeLists.txt
+++ b/lib/libpng/CMakeLists.txt
@@ -23,7 +23,7 @@
# This only has effect in this directory (lib/png).
include_directories(include/)
-if(WIN32)
+if(WIN32 OR HAIKU)
include_directories(../zlib/include/)
endif()
--
2.26.0
From eb785c535fd2e7c13b3e1aa78e39957159e14d54 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 16 May 2020 20:29:43 +1000
Subject: Fix buils Jedi Academy
diff --git a/codemp/CMakeLists.txt b/codemp/CMakeLists.txt
index a55ddf7..e823cb8 100644
--- a/codemp/CMakeLists.txt
+++ b/codemp/CMakeLists.txt
@@ -174,6 +174,10 @@ if(BuildMPEngine OR BuildMPDed)
set(MPEngineAndDedLibraries ${MPEngineAndDedLibraries} "winmm" "wsock32")
endif(WIN32)
+ if(HAIKU)
+ set(MPEngineAndDedLibraries ${MPEngineAndDedLibraries} "network")
+ endif(HAIKU)
+
# Include directories
set(MPEngineAndDedIncludeDirectories ${MPDir} ${SharedDir} ${GSLIncludeDirectory}) # codemp folder, since includes are not always relative in the files
diff --git a/codemp/rd-vanilla/qgl.h b/codemp/rd-vanilla/qgl.h
index 2127128..c560694 100644
--- a/codemp/rd-vanilla/qgl.h
+++ b/codemp/rd-vanilla/qgl.h
@@ -39,6 +39,8 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
diff --git a/codemp/rd-rend2/qgl.h b/codemp/rd-rend2/qgl.h
index 9494136..c88a9a3 100644
--- a/codemp/rd-rend2/qgl.h
+++ b/codemp/rd-rend2/qgl.h
@@ -20,6 +20,8 @@
# if defined(__FX__)
# include <GL/fxmesa.h>
# endif
+#elif defined( __HAIKU__ )
+# include <GL/gl.h>
#elif defined( __FreeBSD__ ) || defined(__OpenBSD__) // rb010123
# include <GL/gl.h>
# include <GL/glx.h>
--
2.26.0
From bff7fbadc16d49bce431ea676a6613628b784349 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 17 May 2020 10:28:53 +1000
Subject: Add gamedir path from env
diff --git a/codemp/qcommon/files.cpp b/codemp/qcommon/files.cpp
index 4fb8b4a..9d8a794 100644
--- a/codemp/qcommon/files.cpp
+++ b/codemp/qcommon/files.cpp
@@ -3372,6 +3372,12 @@ void FS_Startup( const char *gameName ) {
if (fs_basepath->string[0]) {
FS_AddGameDirectory( fs_basepath->string, gameName );
}
+#ifdef __HAIKU__
+ char *p;
+ if ( (p = getenv( "OPENJK_GAME_DATA" )) != NULL ) {
+ FS_AddGameDirectory( p, gameName );
+ }
+#endif
#ifdef MACOS_X
fs_apppath = Cvar_Get ("fs_apppath", Sys_DefaultAppPath(), CVAR_INIT|CVAR_PROTECTED, "(Read Only) Location of OSX .app bundle" );
--
2.26.0
From 1da8e7fa13b8d2c4cc6b098a6512048ba84c926c Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 17 May 2020 19:09:55 +1000
Subject: Fix build for x86
diff --git a/codemp/mp3code/config.h b/codemp/mp3code/config.h
index 36a2651..c95e683 100644
--- a/codemp/mp3code/config.h
+++ b/codemp/mp3code/config.h
@@ -59,6 +59,10 @@ typedef int socklen_t;
// real number
typedef double real;
+#ifdef __HAIKU__
+#include <SupportDefs.h>
+#else
+
#if UCHAR_MAX == 0xff
typedef unsigned char uint8;
@@ -101,6 +105,7 @@ typedef short int32;
+# include <GL/gl.h>
#else
#error This machine has no 32-bit type
# include <gl.h>
#endif
+#endif
// What character marks the end of a directory entry? For DOS and
--
2.26.0
From 4537cd02588b0d531e71cb5f2727c1157d1d2a89 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 17 May 2020 19:10:22 +1000
Subject: Fix build for x86
diff --git a/code/mp3code/config.h b/code/mp3code/config.h
index 36a2651..c95e683 100644
--- a/code/mp3code/config.h
+++ b/code/mp3code/config.h
@@ -59,6 +59,10 @@ typedef int socklen_t;
// real number
typedef double real;
+#ifdef __HAIKU__
+#include <SupportDefs.h>
+#else
+
#if UCHAR_MAX == 0xff
typedef unsigned char uint8;
@@ -101,6 +105,7 @@ typedef short int32;
diff --git a/codemp/rd-vanilla/qgl.h b/codemp/rd-vanilla/qgl.h
index 9494136..c88a9a3 100644
--- a/codemp/rd-vanilla/qgl.h
+++ b/codemp/rd-vanilla/qgl.h
@@ -20,6 +20,8 @@
# if defined(__FX__)
# include <GL/fxmesa.h>
# endif
+#elif defined( __HAIKU__ )
+# include <GL/gl.h>
#else
#error This machine has no 32-bit type
# include <gl.h>
#endif
+#endif
// What character marks the end of a directory entry? For DOS and
--
2.26.0
2.48.1