From 26487d62336007491b7101ed586335c84a4cb69e Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 14 May 2023 22:50:24 +0100 Subject: [PATCH] Lots of changes to get vehicles/animals working nicely also fixed some of the 3rd person 6DoF movement ensure force speed briefly affects FOV --- Projects/Android/AndroidManifest.xml | 4 +- .../Android/jni/JKXR/JKXR_SurfaceView.cpp | 48 ++++++++++++++++++- Projects/Android/jni/JKXR/VrClientInfo.h | 1 + Projects/Android/jni/JKXR/VrCvars.h | 3 ++ Projects/Android/jni/JKXR/VrInputCommon.cpp | 3 ++ Projects/Android/jni/JKXR/VrInputDefault.cpp | 43 +++++++++++++++++ .../Android/jni/JKXR/VrInputWeaponAlign.cpp | 2 +- .../Android/jni/OpenJK/code/cgame/cg_draw.cpp | 18 ++++++- .../Android/jni/OpenJK/code/cgame/cg_local.h | 3 +- .../Android/jni/OpenJK/code/cgame/cg_text.cpp | 8 +++- .../Android/jni/OpenJK/code/cgame/cg_view.cpp | 20 +++++--- .../jni/OpenJK/code/cgame/cg_weapons.cpp | 38 ++++++++++++--- .../Android/jni/OpenJK/code/game/bg_misc.cpp | 13 ++++- .../Android/jni/OpenJK/code/game/g_active.cpp | 5 +- .../Android/jni/OpenJK/code/game/wp_saber.cpp | 2 +- .../jni/OpenJK/code/qcommon/stv_version.h | 2 +- 16 files changed, 185 insertions(+), 28 deletions(-) diff --git a/Projects/Android/AndroidManifest.xml b/Projects/Android/AndroidManifest.xml index c1fb200..e75cf1f 100644 --- a/Projects/Android/AndroidManifest.xml +++ b/Projects/Android/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="58" + android:versionName="1.1.6" android:installLocation="auto" > diff --git a/Projects/Android/jni/JKXR/JKXR_SurfaceView.cpp b/Projects/Android/jni/JKXR/JKXR_SurfaceView.cpp index f056189..8c1b0f7 100644 --- a/Projects/Android/jni/JKXR/JKXR_SurfaceView.cpp +++ b/Projects/Android/jni/JKXR/JKXR_SurfaceView.cpp @@ -18,10 +18,17 @@ extern "C" { } #include -#include #include +#ifdef JK2_MODE +#include "../OpenJK/codeJK2/game/weapons.h" +#else +#include "../OpenJK/code/game/weapons.h" +#include "../OpenJK/code/game/g_vehicles.h" +#endif + + //#define ENABLE_GL_DEBUG #define ENABLE_GL_DEBUG_VERBOSE 1 @@ -146,7 +153,12 @@ void VR_SetHMDOrientation(float pitch, float yaw, float roll) //Keep this for our records VectorCopy(vr.hmdorientation, vr.hmdorientation_last); - if (!vr.third_person && !vr.remote_npc && !vr.remote_turret){ + if (!vr.third_person && !vr.remote_npc && !vr.remote_turret +#ifndef JK2_MODE + && !vr.in_vehicle +#endif + ) + { VectorCopy(vr.hmdorientation, vr.hmdorientation_first); } @@ -242,6 +254,35 @@ void VR_GetMove(float *forward, float *side, float *pos_forward, float *pos_side *pitch = vr.hmdorientation[PITCH]; *roll = 0.0f; } +#ifndef JK2_MODE + //Special code for JKA's vehicles + else if (vr.in_vehicle) { + //in vehicle + *forward = remote_movementForward; + *pos_forward = 0.0f; + *up = 0.0f; + *side = remote_movementSideways; + *pos_side = 0.0f; + if (vr_vehicle_use_hmd_direction->integer) + { + *yaw = vr.hmdorientation[YAW] + vr.snapTurn; + *pitch = vr.hmdorientation[PITCH]; + } + else + { + *yaw = vr.snapTurn + vr.hmdorientation_first[YAW]; + if (vr.vehicle_type == VH_FIGHTER || vr.vehicle_type == VH_FLIER) + { + *pitch = (vr.weaponangles[ANGLES_ADJUSTED][PITCH] + vr.offhandangles[ANGLES_ADJUSTED][PITCH]) / 2.0f; + } + else + { + *pitch = 0.0f; + } + } + *roll = 0.0f; + } +#endif else if (!vr.third_person) { *forward = remote_movementForward; *pos_forward = positional_movementForward; @@ -309,6 +350,9 @@ void VR_Init() vr_haptic_intensity = Cvar_Get ("vr_haptic_intensity", "1.0", CVAR_ARCHIVE); vr_comfort_vignette = Cvar_Get ("vr_comfort_vignette", "0.0", CVAR_ARCHIVE); vr_saber_3rdperson_mode = Cvar_Get ("vr_saber_3rdperson_mode", "1", CVAR_ARCHIVE); + vr_vehicle_use_hmd_direction = Cvar_Get ("vr_vehicle_use_hmd_direction", "0", CVAR_ARCHIVE); + vr_vehicle_use_3rd_person = Cvar_Get ("vr_vehicle_use_3rd_person", "0", CVAR_ARCHIVE); + vr_vehicle_use_controller_for_speed = Cvar_Get ("vr_vehicle_use_controller_for_speed", "1", CVAR_ARCHIVE); vr_gesture_triggered_use = Cvar_Get ("vr_gesture_triggered_use", "1", CVAR_ARCHIVE); vr_use_gesture_boundary = Cvar_Get ("vr_use_gesture_boundary", "0.35", CVAR_ARCHIVE); vr_align_weapons = Cvar_Get ("vr_align_weapons", "0", CVAR_ARCHIVE); diff --git a/Projects/Android/jni/JKXR/VrClientInfo.h b/Projects/Android/jni/JKXR/VrClientInfo.h index 011e163..5a4d46f 100644 --- a/Projects/Android/jni/JKXR/VrClientInfo.h +++ b/Projects/Android/jni/JKXR/VrClientInfo.h @@ -28,6 +28,7 @@ typedef struct { bool remote_droid; // controlling a remote droid bool remote_npc; // controlling a remote NPC (will also be true when controlling a droid) bool in_vehicle; // controlling a vehicle + int vehicle_type; vec3_t remote_angles; // The view angles of the remote thing we are controlling float remote_snapTurn; // how much turn has been applied to the yaw by joystick for a remote controlled entity int remote_cooldown; diff --git a/Projects/Android/jni/JKXR/VrCvars.h b/Projects/Android/jni/JKXR/VrCvars.h index ba88ce4..4089298 100644 --- a/Projects/Android/jni/JKXR/VrCvars.h +++ b/Projects/Android/jni/JKXR/VrCvars.h @@ -20,6 +20,9 @@ extern cvar_t *vr_saber_block_debounce_time; extern cvar_t *vr_haptic_intensity; extern cvar_t *vr_comfort_vignette; extern cvar_t *vr_saber_3rdperson_mode; +extern cvar_t *vr_vehicle_use_hmd_direction; +extern cvar_t *vr_vehicle_use_3rd_person; +extern cvar_t *vr_vehicle_use_controller_for_speed; extern cvar_t *vr_gesture_triggered_use; extern cvar_t *vr_use_gesture_boundary; extern cvar_t *vr_align_weapons; // Only used for development diff --git a/Projects/Android/jni/JKXR/VrInputCommon.cpp b/Projects/Android/jni/JKXR/VrInputCommon.cpp index 00264f1..bf1d7aa 100644 --- a/Projects/Android/jni/JKXR/VrInputCommon.cpp +++ b/Projects/Android/jni/JKXR/VrInputCommon.cpp @@ -33,6 +33,9 @@ cvar_t *vr_saber_block_debounce_time; cvar_t *vr_haptic_intensity; cvar_t *vr_comfort_vignette; cvar_t *vr_saber_3rdperson_mode; +cvar_t *vr_vehicle_use_hmd_direction; +cvar_t *vr_vehicle_use_3rd_person; +cvar_t *vr_vehicle_use_controller_for_speed; cvar_t *vr_gesture_triggered_use; cvar_t *vr_use_gesture_boundary; cvar_t *vr_align_weapons; diff --git a/Projects/Android/jni/JKXR/VrInputDefault.cpp b/Projects/Android/jni/JKXR/VrInputDefault.cpp index b08d661..d9e2ccd 100644 --- a/Projects/Android/jni/JKXR/VrInputDefault.cpp +++ b/Projects/Android/jni/JKXR/VrInputDefault.cpp @@ -23,6 +23,7 @@ Authors : Simon Brown #include "../OpenJK/codeJK2/game/weapons.h" #else #include "../OpenJK/code/game/weapons.h" +#include "../OpenJK/code/game/g_vehicles.h" #endif void SV_Trace( trace_t *results, const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end, int passEntityNum, int contentmask, int capsule ); @@ -851,10 +852,46 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, } } + //JKA stuff for speeder bikes (and other vehicles) +#ifndef JK2_MODE + if (vr.in_vehicle) + { + //Allow the controllers to affect the yaw rotation of the vehicle + if (!vr_vehicle_use_hmd_direction->integer) + { + float refresh = TBXR_GetRefresh(); + float weaponAngleToUse = cl.frame.ps.weapon == WP_SABER ? vr.offhandangles[ANGLES_ADJUSTED][ROLL] : vr.weaponangles[ANGLES_ADJUSTED][ROLL]; + float yawAdjust = (weaponAngleToUse + vr.offhandangles[ANGLES_ADJUSTED][ROLL]) / refresh; + vr.snapTurn -= yawAdjust; + } + + //Only use controller angle for forwards on the following types of vehicle + if (vr_vehicle_use_controller_for_speed->integer && ( + vr.vehicle_type == VH_SPEEDER || vr.vehicle_type == VH_ANIMAL)) + { + float weaponAngleToUse = cl.frame.ps.weapon == WP_SABER ? vr.offhandangles[ANGLES_ADJUSTED][PITCH] : vr.weaponangles[ANGLES_ADJUSTED][PITCH]; + float value = ((weaponAngleToUse + vr.offhandangles[ANGLES_ADJUSTED][PITCH]) / 2.0f) / 30.0f; + if (fabs(value) < 0.3f) + value = 0.0f; + remote_movementForward = Com_Clamp(-1.0f, 1.0f, value); + } + + if (vr_vehicle_use_3rd_person->integer) + { + sendButtonActionSimple("cg_thirdPerson 1"); + } + else + { + sendButtonActionSimple("cg_thirdPerson 0"); + } + } +#endif + //Use smooth in 3rd person bool usingSnapTurn = vr_turn_mode->integer == 0 || (!vr.third_person && vr_turn_mode->integer == 1); + float previousSnap = vr.snapTurn; static int increaseSnap = true; if (!vr.item_selector) { if (usingSnapTurn) { @@ -902,6 +939,12 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, increaseSnap = true; } } + + //If we snapped/turned on a vehicle then resync the hmdorientation + if (previousSnap != vr.snapTurn && vr.in_vehicle) + { + VectorCopy(vr.hmdorientation, vr.hmdorientation_first); + } } //process force motion controls here diff --git a/Projects/Android/jni/JKXR/VrInputWeaponAlign.cpp b/Projects/Android/jni/JKXR/VrInputWeaponAlign.cpp index 2000487..1bb5542 100644 --- a/Projects/Android/jni/JKXR/VrInputWeaponAlign.cpp +++ b/Projects/Android/jni/JKXR/VrInputWeaponAlign.cpp @@ -16,7 +16,7 @@ Authors : Simon Brown cvar_t *sv_cheats; -void CG_CenterPrint( const char *str, int y, int charWidth ); +void CG_CenterPrint( const char *str, int y, int charWidth, int delayOverride ); void HandleInput_WeaponAlign( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, ovrInputStateTrackedRemote *pDominantTrackedRemoteOld, ovrTrackedController* pDominantTracking, ovrInputStateTrackedRemote *pOffTrackedRemoteNew, ovrInputStateTrackedRemote *pOffTrackedRemoteOld, ovrTrackedController* pOffTracking, diff --git a/Projects/Android/jni/OpenJK/code/cgame/cg_draw.cpp b/Projects/Android/jni/OpenJK/code/cgame/cg_draw.cpp index a8034da..109506e 100644 --- a/Projects/Android/jni/OpenJK/code/cgame/cg_draw.cpp +++ b/Projects/Android/jni/OpenJK/code/cgame/cg_draw.cpp @@ -2984,7 +2984,7 @@ static void CG_DrawCrosshair3D(int type) // 0 - force, 1 - weapons return; } - if ( in_camera ) { + if ( in_camera || vr->in_vehicle) { return; } @@ -4208,6 +4208,20 @@ static void CG_Draw2D( void ) CGCam_DrawWideScreen(); } + static bool was_in_vehicle = false; + if (!was_in_vehicle && vr->in_vehicle) + { + if (vr->vehicle_type == VH_WALKER) + { + CG_CenterPrint("Tilt controllers to steer. Thumbstick to move.", 240, 5000); + } + else + { + CG_CenterPrint("Tilt controllers to steer/move", 240, 5000); + } + } + was_in_vehicle = vr->in_vehicle; + if (cg.zoomMode == 4) { CG_DrawWeapReticle(); @@ -4571,7 +4585,7 @@ void CG_DrawActive( stereoFrame_t stereoView ) { } //Immersive cinematic sequence 6DoF - if ((in_camera && vr->immersive_cinematics) || vr->emplaced_gun || cg.renderingThirdPerson) + if ((in_camera && vr->immersive_cinematics) || vr->emplaced_gun || cg.renderingThirdPerson || vr->in_vehicle) { BG_ConvertFromVR(vr->hmdposition_offset, cg.refdef.vieworg, cg.refdef.vieworg); } diff --git a/Projects/Android/jni/OpenJK/code/cgame/cg_local.h b/Projects/Android/jni/OpenJK/code/cgame/cg_local.h index b668497..b5a65a6 100644 --- a/Projects/Android/jni/OpenJK/code/cgame/cg_local.h +++ b/Projects/Android/jni/OpenJK/code/cgame/cg_local.h @@ -400,6 +400,7 @@ typedef struct { // centerprinting int centerPrintTime; + int centerPrintDelayOverride; int centerPrintY; char centerPrint[1024]; int centerPrintLines; @@ -810,7 +811,7 @@ void CG_AdjustFrom640Int( int *x, int *y, int *w, int *h ); // // cg_draw.c // -void CG_CenterPrint( const char *str, int y ); +void CG_CenterPrint( const char *str, int y, int delayOverride = -1 ); void CG_DrawActive( stereoFrame_t stereoView ); void CG_ScrollText( const char *str, int iPixelWidth ); void CG_CaptionText( const char *str, int sound ); diff --git a/Projects/Android/jni/OpenJK/code/cgame/cg_text.cpp b/Projects/Android/jni/OpenJK/code/cgame/cg_text.cpp index 9140265..a711597 100644 --- a/Projects/Android/jni/OpenJK/code/cgame/cg_text.cpp +++ b/Projects/Android/jni/OpenJK/code/cgame/cg_text.cpp @@ -682,7 +682,7 @@ Called for important messages that should stay in the center of the screen for a few moments ============== */ -void CG_CenterPrint( const char *str, int y) { +void CG_CenterPrint( const char *str, int y, int delayOverride) { char *s; // Find text to match the str given @@ -704,6 +704,7 @@ void CG_CenterPrint( const char *str, int y) { } cg.centerPrintTime = cg.time; + cg.centerPrintDelayOverride = delayOverride; cg.centerPrintY = y; // count the number of lines for centering @@ -734,7 +735,10 @@ void CG_DrawCenterString( void ) return; } - color = CG_FadeColor( cg.centerPrintTime, 1000 * 2 ); + //Default time is 2 seconds + int printTime = cg.centerPrintDelayOverride == -1 ? 2000 : cg.centerPrintDelayOverride; + + color = CG_FadeColor( cg.centerPrintTime, printTime ); if ( !color ) { return; } diff --git a/Projects/Android/jni/OpenJK/code/cgame/cg_view.cpp b/Projects/Android/jni/OpenJK/code/cgame/cg_view.cpp index eed9e96..e827e5c 100644 --- a/Projects/Android/jni/OpenJK/code/cgame/cg_view.cpp +++ b/Projects/Android/jni/OpenJK/code/cgame/cg_view.cpp @@ -2153,7 +2153,7 @@ void CG_DrawActiveFrame( int serverTime, stereoFrame_t stereoView ) { CGCam_UpdateFade(); // build cg.refdef inwater = CG_CalcViewValues(); - cg.refdef.override_fov = inwater; + cg.refdef.override_fov |= inwater; } if (cg.zoomMode) @@ -2173,9 +2173,15 @@ void CG_DrawActiveFrame( int serverTime, stereoFrame_t stereoView ) { //Calculate all angles upfront { - //Only vehicle in JK2 is the AT-ST vr->in_vehicle = (g_entities[0].client && - g_entities[0].client->NPC_class == CLASS_ATST); + (g_entities[0].client->NPC_class == CLASS_VEHICLE || g_entities[0].client->NPC_class == CLASS_ATST || + g_entities[0].s.m_iVehicleNum != 0 )); + vr->vehicle_type = VH_NONE; + if (vr->in_vehicle) + { + vr->vehicle_type = (int)g_entities[g_entities[0].s.m_iVehicleNum].m_pVehicle->m_pVehicleInfo->type; + } + vr->remote_npc = !Q_stricmp( "NPC", g_entities[cg.snap->ps.viewEntity].classname ); vr->remote_droid = false; vr->remote_turret = false; @@ -2216,6 +2222,7 @@ void CG_DrawActiveFrame( int serverTime, stereoFrame_t stereoView ) { !in_misccamera && !vr->remote_droid && !vr->remote_npc && + !vr->in_vehicle && !usingScope && !cg.renderingThirdPerson) { @@ -2252,7 +2259,7 @@ void CG_DrawActiveFrame( int serverTime, stereoFrame_t stereoView ) { //Normal 3rd person view angles if (!in_camera && !in_misccamera && - cg.renderingThirdPerson) + (vr->in_vehicle || cg.renderingThirdPerson)) { VectorCopy(vr->hmdorientation, cg.refdef.viewangles); cg.refdef.viewangles[YAW] = vr->clientviewangles[YAW] + @@ -2356,7 +2363,7 @@ void CG_DrawActiveFrame( int serverTime, stereoFrame_t stereoView ) { && !(g_entities[cg.snap->ps.viewEntity].client->ps.dualSabers && cg.snap->ps.weapon == WP_SABER) && cg.snap->ps.weapon != WP_MELEE && !vr->weapon_stabilised - && !vr->in_vehicle + && (vr->vehicle_type != VH_WALKER) && !cg_pano.integer && (cg.snap->ps.viewEntity == 0 || cg.snap->ps.viewEntity >= ENTITYNUM_WORLD)) { @@ -2376,7 +2383,8 @@ void CG_DrawActiveFrame( int serverTime, stereoFrame_t stereoView ) { (cg.snap->ps.forcePowersActive & (1<ps.forcePowersActive & (1<ps.forcePowersActive & (1<ps.forcePowersActive & (1<ps.forcePowersActive & (1<ps.forcePowersActive & (1<ps.clientNum]; + if (vr->in_vehicle + && vr->vehicle_type != VH_WALKER + && cent->currentState.weapon == WP_SABER) { - return; + //If holding saber, put it away + CG_NextWeapon_f(); } + else + { + if (cg.weaponSelect == cg.itemSelectorSelection) + { + return; + } - cg.weaponSelectTime = cg.time; - cg.weaponSelect = cg.itemSelectorSelection; + cg.weaponSelectTime = cg.time; + cg.weaponSelect = cg.itemSelectorSelection; + } } else if (cg.itemSelectorType == ST_GADGET) // gadgets { @@ -3019,6 +3030,11 @@ void CG_DrawItemSelector( void ) VectorSubtract(vr->weaponposition, cg.itemSelectorOrigin, controllerOffset); } + if (vr->in_vehicle) + { + BG_ConvertFromVR(vr->hmdposition_offset, controllerOrigin, controllerOrigin); + } + vec3_t wheelAngles, wheelOrigin, beamOrigin, wheelForward, wheelRight, wheelUp; vec3_t angles; VectorClear(angles); @@ -3058,7 +3074,7 @@ void CG_DrawItemSelector( void ) { case ST_WEAPON: //weapons if (vr->in_vehicle) - count = 2; + count = vr->vehicle_type == VH_WALKER ? 2 : 1; else count = WP_MELEE; beam.shaderRGBA[0] = 0xff; @@ -3178,7 +3194,15 @@ void CG_DrawItemSelector( void ) if (cg.itemSelectorType == ST_WEAPON) { if (vr->in_vehicle) { - itemId = WP_ATST_MAIN + index; + if (vr->vehicle_type == VH_WALKER) + { + itemId = WP_ATST_MAIN + index; + } + else + { + //Only choice on a speeder/animal is the saber + itemId = WP_SABER; + } } else { @@ -3197,7 +3221,7 @@ void CG_DrawItemSelector( void ) switch (cg.itemSelectorType) { case ST_WEAPON: //weapons - selectable = vr->in_vehicle || // both ATST weapons are always selectable + selectable = vr->in_vehicle || (CG_WeaponSelectable(itemId, cg.weaponSelect, qfalse) && cg.snap->ps.ammo[weaponData[itemId].ammoIndex]); break; case ST_GADGET: //gadgets diff --git a/Projects/Android/jni/OpenJK/code/game/bg_misc.cpp b/Projects/Android/jni/OpenJK/code/game/bg_misc.cpp index bcf4264..eb8fd89 100644 --- a/Projects/Android/jni/OpenJK/code/game/bg_misc.cpp +++ b/Projects/Android/jni/OpenJK/code/game/bg_misc.cpp @@ -716,9 +716,15 @@ void rotateAboutOrigin(float x, float y, float rotation, vec2_t out) float getHMDYawForCalc() { - if (!vr->third_person && vr->cgzoommode != 2 && vr->cgzoommode != 4 ) { + if (vr->in_vehicle || vr->third_person) + { + return vr->hmdorientation_first[YAW]; + } + + if (vr->cgzoommode != 2 && vr->cgzoommode != 4) { return vr->hmdorientation[YAW]; } + return 0.0f; } @@ -790,6 +796,11 @@ void BG_CalculateVRSaberPosition( int saberNum, vec3_t origin, vec3_t angles ) BG_CalculateVRPositionInWorld(vr->offhandposition[0], vr->offhandoffset, vr->offhandangles[ANGLES_SABER], origin, angles); } + if (vr->in_vehicle) + { + BG_ConvertFromVR(vr->hmdposition_offset, origin, origin); + } + //Move position down a bit vec3_t axis[3]; AnglesToAxis(angles, axis); diff --git a/Projects/Android/jni/OpenJK/code/game/g_active.cpp b/Projects/Android/jni/OpenJK/code/game/g_active.cpp index 1116429..02cb0d7 100644 --- a/Projects/Android/jni/OpenJK/code/game/g_active.cpp +++ b/Projects/Android/jni/OpenJK/code/game/g_active.cpp @@ -5364,9 +5364,10 @@ extern cvar_t *g_skippingcin; { // Vehicle Camera Overrides //-------------------------- - cg.overrides.active |= ( CG_OVERRIDE_3RD_PERSON_RNG | CG_OVERRIDE_FOV | CG_OVERRIDE_3RD_PERSON_VOF | CG_OVERRIDE_3RD_PERSON_POF ); + // in VR - Vehicles mustn't affect FOV + cg.overrides.active |= ( CG_OVERRIDE_3RD_PERSON_RNG | /*CG_OVERRIDE_FOV |*/ CG_OVERRIDE_3RD_PERSON_VOF | CG_OVERRIDE_3RD_PERSON_POF ); cg.overrides.thirdPersonRange = pPlayerVeh->m_pVehicleInfo->cameraRange; - cg.overrides.fov = pPlayerVeh->m_pVehicleInfo->cameraFOV; + //cg.overrides.fov = pPlayerVeh->m_pVehicleInfo->cameraFOV; cg.overrides.thirdPersonVertOffset = pPlayerVeh->m_pVehicleInfo->cameraVertOffset; cg.overrides.thirdPersonPitchOffset = pPlayerVeh->m_pVehicleInfo->cameraPitchOffset; diff --git a/Projects/Android/jni/OpenJK/code/game/wp_saber.cpp b/Projects/Android/jni/OpenJK/code/game/wp_saber.cpp index ae3b77b..3abff4d 100644 --- a/Projects/Android/jni/OpenJK/code/game/wp_saber.cpp +++ b/Projects/Android/jni/OpenJK/code/game/wp_saber.cpp @@ -12944,7 +12944,7 @@ void WP_ForcePowerStart( gentity_t *self, forcePowers_t forcePower, int override } } -void CG_CenterPrint( const char *str, int y ); +void CG_CenterPrint( const char *str, int y, int delayOverride); qboolean WP_ForcePowerAvailable( gentity_t *self, forcePowers_t forcePower, int overrideAmt ) { if ( forcePower == FP_LEVITATION ) diff --git a/Projects/Android/jni/OpenJK/code/qcommon/stv_version.h b/Projects/Android/jni/OpenJK/code/qcommon/stv_version.h index 34753c9..a47da07 100644 --- a/Projects/Android/jni/OpenJK/code/qcommon/stv_version.h +++ b/Projects/Android/jni/OpenJK/code/qcommon/stv_version.h @@ -23,7 +23,7 @@ along with this program; if not, see . // Current version of the single player game #include "../win32/AutoVersion.h" -#define JKXR_VERSION "1.1.5-ea" +#define JKXR_VERSION "1.1.6-ea" #ifdef _DEBUG #define Q3_VERSION "(debug)OpenJK: v" VERSION_STRING_DOTTED " JKXR: " JKXR_VERSION