From 8a402cae69bf3081007713abd0fd404ff1d5f2e4 Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 7 Jan 2020 22:09:52 +0000 Subject: [PATCH] Start of changes for Opposing Force support --- Projects/Android/AndroidManifest.xml | 4 ++-- Projects/Android/jni/Application.mk | 2 +- .../src/Xash3D/xash3d/engine/common/build.c | 2 +- .../src/Xash3D/xash3d/engine/common/library.c | 12 ++++++++---- Projects/Android/jni/src/hlsdk-xash3d | 2 +- .../drbeef/lambda1vr/GLES3JNIActivity.java | 19 ++++++++++++++++++- 6 files changed, 31 insertions(+), 10 deletions(-) diff --git a/Projects/Android/AndroidManifest.xml b/Projects/Android/AndroidManifest.xml index bfa83dc..561529c 100644 --- a/Projects/Android/AndroidManifest.xml +++ b/Projects/Android/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="19" + android:versionName="1.4.0" android:installLocation="auto" > diff --git a/Projects/Android/jni/Application.mk b/Projects/Android/jni/Application.mk index 423d6a5..51f5f11 100644 --- a/Projects/Android/jni/Application.mk +++ b/Projects/Android/jni/Application.mk @@ -30,7 +30,7 @@ HLSDK_PATH := $(APPLICATIONMK_PATH)/src/HLSDK/halflife/ # step will error as we currently remove prebuilt artifacts on clean. APP_ALLOW_MISSING_DEPS=true -APP_MODULES := gl4es xash menu client server +APP_MODULES := gl4es xash menu client server client_opfor server_opfor APP_STL := c++_shared diff --git a/Projects/Android/jni/src/Xash3D/xash3d/engine/common/build.c b/Projects/Android/jni/src/Xash3D/xash3d/engine/common/build.c index eec96d9..c175a9e 100644 --- a/Projects/Android/jni/src/Xash3D/xash3d/engine/common/build.c +++ b/Projects/Android/jni/src/Xash3D/xash3d/engine/common/build.c @@ -139,7 +139,7 @@ Q_buildcommit will identify this build as release or "notset" */ const char *Q_buildcommit( void ) { - return "Lambda1VR-v1.3.0"; + return "Lambda1VR-v1.4.0"; } /* diff --git a/Projects/Android/jni/src/Xash3D/xash3d/engine/common/library.c b/Projects/Android/jni/src/Xash3D/xash3d/engine/common/library.c index 67f2603..4a560b4 100644 --- a/Projects/Android/jni/src/Xash3D/xash3d/engine/common/library.c +++ b/Projects/Android/jni/src/Xash3D/xash3d/engine/common/library.c @@ -186,15 +186,19 @@ void *Com_LoadLibrary( const char *dllname, int build_ordinals_table ) #elif defined( __ANDROID__ ) { char path[MAX_SYSPATH]; - const char *libdir[2]; + const char *libdir; + const char *libSuffix[2]; int i; - libdir[0] = getenv("XASH3D_GAMELIBDIR"); - libdir[1] = getenv("XASH3D_ENGLIBDIR"); + libdir = getenv("XASH3D_GAMELIBDIR"); + + libSuffix[0] = getenv("XASH3D_LIBSUFFIX"); + libSuffix[1] = ""; // try without for( i = 0; i < 2; i++ ) { - Q_snprintf( path, MAX_SYSPATH, "%s/lib%s"POSTFIX"."OS_LIB_EXT, libdir[i], dllname ); + memset(path, 0, MAX_SYSPATH); + Q_snprintf( path, MAX_SYSPATH, "%s/lib%s%s"POSTFIX"."OS_LIB_EXT, libdir, dllname, libSuffix[i] ); pHandle = dlopen( path, RTLD_NOW ); if( pHandle ) return pHandle; diff --git a/Projects/Android/jni/src/hlsdk-xash3d b/Projects/Android/jni/src/hlsdk-xash3d index 6cc6289..fcd02cb 160000 --- a/Projects/Android/jni/src/hlsdk-xash3d +++ b/Projects/Android/jni/src/hlsdk-xash3d @@ -1 +1 @@ -Subproject commit 6cc62895e3c1942877b1f1485bb35c37832709e7 +Subproject commit fcd02cb833c8b89bbfde3cb048cd88c294123402 diff --git a/java/com/drbeef/lambda1vr/GLES3JNIActivity.java b/java/com/drbeef/lambda1vr/GLES3JNIActivity.java index 2419454..2ced974 100644 --- a/java/com/drbeef/lambda1vr/GLES3JNIActivity.java +++ b/java/com/drbeef/lambda1vr/GLES3JNIActivity.java @@ -188,7 +188,7 @@ import static android.system.Os.setenv; copy_asset("/sdcard/xash/" + game + "/", "sprites/vignette.tga", true); copy_asset("/sdcard/xash/valve/", "sprites/vignette.tga", true); //seems to need to be here for some people - //Copy modified weapon models + //Copy modified weapon models - This is the base set if (!(new File("/sdcard/xash/" + game + "/models/no_copy").exists())) { //Colt (A-16) @@ -309,6 +309,13 @@ import static android.system.Os.setenv; copy_asset("/sdcard/xash/" + game + "/", "models/v_torch.mdl", true); } + //Copy Opposing Force specific models + if (game.equalsIgnoreCase("gearbox") && + !(new File("/sdcard/xash/" + game + "/models/no_copy").exists())) + { + + } + //Set default environment try { setenv("XASH3D_BASEDIR", "/sdcard/xash/", true); @@ -316,6 +323,16 @@ import static android.system.Os.setenv; setenv("XASH3D_GAMELIBDIR", getFilesDir().getParentFile().getPath() + "/lib", true); setenv("XASH3D_GAMEDIR", "valve", true); setenv( "XASH3D_EXTRAS_PAK1", getFilesDir().getPath() + "/extras.pak", true ); + + //If game is gearbox (Opposing Force) set the library file suffix to op4 + if (game.equalsIgnoreCase("gearbox")) + { + setenv("XASH3D_LIBSUFFIX", "_opfor", true); + } + else + { + setenv("XASH3D_LIBSUFFIX", "", true); + } } catch (Exception e) {