From 04801b7d193dd7442970d2af869478f2d23f653b Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 2 Aug 2020 15:24:06 +0100 Subject: [PATCH] a few fixes - Ensure right handed for wepaon calibration - Fix issue with sniper mode fixing yaw after a shot is fired --- Projects/Android/AndroidManifest.xml | 4 ++-- Projects/Android/jni/RTCWVR/VrInputDefault.c | 21 +++++++++++++------ Projects/Android/jni/rtcw/src/game/g_weapon.c | 6 +++--- Projects/Android/jni/rtcw/src/game/q_shared.h | 2 +- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/Projects/Android/AndroidManifest.xml b/Projects/Android/AndroidManifest.xml index 9de1f47..3bbf0d0 100644 --- a/Projects/Android/AndroidManifest.xml +++ b/Projects/Android/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="25" + android:versionName="0.22.0" android:installLocation="auto" > diff --git a/Projects/Android/jni/RTCWVR/VrInputDefault.c b/Projects/Android/jni/RTCWVR/VrInputDefault.c index c235e75..70cb93c 100644 --- a/Projects/Android/jni/RTCWVR/VrInputDefault.c +++ b/Projects/Android/jni/RTCWVR/VrInputDefault.c @@ -29,7 +29,8 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, { //Ensure handedness is set correctly - vr.right_handed = vr_control_scheme->value < 10; + vr.right_handed = vr_control_scheme->value < 10 || + vr_control_scheme->value == 99; // Always right-handed for weapon calibration vr.teleportenabled = vr_teleport->integer != 0; @@ -143,17 +144,25 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, if (!vr.scopeengaged && scopeready) { ALOGV("**WEAPON EVENT** trigger scope mode"); sendButtonActionSimple("weapalt"); - } else if (vr.scopeengaged && !scopeready) { - //Set this here so we don't retrigger scope by accident too soon - ALOGV("**WEAPON EVENT** vr.scopeengaged = qfalse"); - vr.scopeengaged = qfalse; + } + else if (vr.scopeengaged && !scopeready) { + ALOGV("**WEAPON EVENT** disable scope mode"); sendButtonActionSimple("weapalt"); - RTCWVR_ResyncClientYawWithGameYaw(); } lastScopeready = scopeready; } } + static qboolean scopeEngaged = qfalse; + if (scopeEngaged != vr.scopeengaged) + { + scopeEngaged = vr.scopeengaged; + + //Resync on either transition + RTCWVR_ResyncClientYawWithGameYaw(); + } + + static qboolean binocularstate = qfalse; qboolean binocularsactive = (vr.hasbinoculars && vr.backpackitemactive == 3 && (distanceToHMD < BINOCULAR_ENGAGE_DISTANCE) && diff --git a/Projects/Android/jni/rtcw/src/game/g_weapon.c b/Projects/Android/jni/rtcw/src/game/g_weapon.c index 736f95b..ed826cd 100644 --- a/Projects/Android/jni/rtcw/src/game/g_weapon.c +++ b/Projects/Android/jni/rtcw/src/game/g_weapon.c @@ -2007,7 +2007,7 @@ void FireWeapon( gentity_t *ent ) { // viewang[PITCH] -= 6; // handled in clientthink instead ent->client->sniperRifleMuzzleYaw = 0;//crandom() * 0.5; // used in clientthink ent->client->sniperRifleMuzzlePitch = 0.8f; - ent->client->sniperRifleFiredTime = level.time; + //ent->client->sniperRifleFiredTime = level.time; SetClientViewAngle( ent,viewang ); } // jpw @@ -2020,7 +2020,7 @@ void FireWeapon( gentity_t *ent ) { VectorCopy( ent->client->ps.viewangles,viewang ); ent->client->sniperRifleMuzzleYaw = 0;//crandom() * 0.5; // used in clientthink ent->client->sniperRifleMuzzlePitch = 0.9f; - ent->client->sniperRifleFiredTime = level.time; + //ent->client->sniperRifleFiredTime = level.time; SetClientViewAngle( ent,viewang ); } // jpw @@ -2039,7 +2039,7 @@ void FireWeapon( gentity_t *ent ) { // ent->client->sniperRifleMuzzleYaw = crandom()*0.04; // used in clientthink ent->client->sniperRifleMuzzleYaw = 0; ent->client->sniperRifleMuzzlePitch = 0.07f; - ent->client->sniperRifleFiredTime = level.time; + //ent->client->sniperRifleFiredTime = level.time; SetClientViewAngle( ent,viewang ); } case WP_FG42: diff --git a/Projects/Android/jni/rtcw/src/game/q_shared.h b/Projects/Android/jni/rtcw/src/game/q_shared.h index 245df73..8d021de 100644 --- a/Projects/Android/jni/rtcw/src/game/q_shared.h +++ b/Projects/Android/jni/rtcw/src/game/q_shared.h @@ -42,7 +42,7 @@ If you have questions concerning this license or the applicable additional terms // q_shared.h -- included first by ALL program modules. // A user mod should never modify this file -#define Q3_VERSION "RTCWQuest 0.21.1 (Wolf 1.41)" +#define Q3_VERSION "RTCWQuest 0.22.0 (Wolf 1.41)" // ver 1.0.0 - release // ver 1.0.1 - post-release work // ver 1.1.0 - patch 1 (12/12/01)