diff --git a/Projects/Android/jni/src/Lambda1VR/L1VR_SurfaceView.c b/Projects/Android/jni/src/Lambda1VR/L1VR_SurfaceView.c index 39a331b..13f799b 100644 --- a/Projects/Android/jni/src/Lambda1VR/L1VR_SurfaceView.c +++ b/Projects/Android/jni/src/Lambda1VR/L1VR_SurfaceView.c @@ -118,11 +118,11 @@ struct arg_end *end; char **argv; int argc=0; -cvar_t cl_righthanded; extern cvar_t *cl_forwardspeed; //Define our own cvars convar_t *cl_snapturn_angle; +convar_t *cl_righthanded; /* @@ -1092,12 +1092,12 @@ static void ovrApp_HandleInput( ovrApp * app ) } } - ovrInputStateTrackedRemote *dominantTrackedRemoteState = cl_righthanded.flags ? &rightTrackedRemoteState_new : &leftTrackedRemoteState_new; - ovrInputStateTrackedRemote *dominantTrackedRemoteStateOld = cl_righthanded.flags ? &rightTrackedRemoteState_old : &leftTrackedRemoteState_old; - ovrTracking *dominantRemoteTracking = cl_righthanded.flags ? &rightRemoteTracking : &leftRemoteTracking; - ovrInputStateTrackedRemote *offHandTrackedRemoteState = !cl_righthanded.flags ? &rightTrackedRemoteState_new : &leftTrackedRemoteState_new; - ovrInputStateTrackedRemote *offHandTrackedRemoteStateOld = !cl_righthanded.flags ? &rightTrackedRemoteState_old : &leftTrackedRemoteState_old; - ovrTracking *offHandRemoteTracking = !cl_righthanded.flags ? &rightRemoteTracking : &leftRemoteTracking; + ovrInputStateTrackedRemote *dominantTrackedRemoteState = cl_righthanded->flags ? &rightTrackedRemoteState_new : &leftTrackedRemoteState_new; + ovrInputStateTrackedRemote *dominantTrackedRemoteStateOld = cl_righthanded->flags ? &rightTrackedRemoteState_old : &leftTrackedRemoteState_old; + ovrTracking *dominantRemoteTracking = cl_righthanded->flags ? &rightRemoteTracking : &leftRemoteTracking; + ovrInputStateTrackedRemote *offHandTrackedRemoteState = !cl_righthanded->flags ? &rightTrackedRemoteState_new : &leftTrackedRemoteState_new; + ovrInputStateTrackedRemote *offHandTrackedRemoteStateOld = !cl_righthanded->flags ? &rightTrackedRemoteState_old : &leftTrackedRemoteState_old; + ovrTracking *offHandRemoteTracking = !cl_righthanded->flags ? &rightRemoteTracking : &leftRemoteTracking; { //Hacky menu control - Does the trick for now though @@ -1199,7 +1199,7 @@ static void ovrApp_HandleInput( ovrApp * app ) handleTrackedControllerButton(&rightTrackedRemoteState_new, &rightTrackedRemoteState_old, ovrButton_A, K_SPACE); - if (cl_righthanded.flags) { + if (cl_righthanded->flags) { //Fire handleTrackedControllerButton(&rightTrackedRemoteState_new, &rightTrackedRemoteState_old, @@ -1256,7 +1256,7 @@ static void ovrApp_HandleInput( ovrApp * app ) remote_movementSideways = v[0]; remote_movementForward = v[1]; - if (cl_righthanded.flags) { + if (cl_righthanded->flags) { //Run handleTrackedControllerButton(&leftTrackedRemoteState_new, &leftTrackedRemoteState_old, @@ -1550,6 +1550,7 @@ void initialize_gl4es(); static void initializeVRCvars() { cl_snapturn_angle = Cvar_Get( "cl_snapturn_angle", "45", CVAR_ARCHIVE, "Sets the angle for snap-turn, set to < 10.0 to enable smooth turning" ); + cl_righthanded = Cvar_Get( "cl_righthanded", "1", CVAR_ARCHIVE, "Sets right-handed mode" ); } void * AppThreadFunction( void * parm ) diff --git a/Projects/Android/jni/src/Xash3D/xash3d/engine/client/cl_tent.c b/Projects/Android/jni/src/Xash3D/xash3d/engine/client/cl_tent.c index 27ef0f5..76218c1 100644 --- a/Projects/Android/jni/src/Xash3D/xash3d/engine/client/cl_tent.c +++ b/Projects/Android/jni/src/Xash3D/xash3d/engine/client/cl_tent.c @@ -2537,18 +2537,17 @@ void CL_UpdateFlashlight( cl_entity_t *pEnt ) AngleVectors( v_angle, forward, NULL, NULL ); } + VectorClear( view_ofs ); + if(( pEnt->index - 1 ) == cl.playernum ) { #ifdef VR - if(( pEnt->index - 1 ) == cl.playernum ) - VectorCopy( cl.refdef.rcontrollerorg, vecSrc ); + VectorAdd(cl.refdef.lcontrollerorg, cl.refdef.viewheight, view_ofs); #else - VectorClear( view_ofs ); - - if(( pEnt->index - 1 ) == cl.playernum ) VectorCopy( cl.refdef.viewheight, view_ofs ); +#endif + } VectorAdd( pEnt->origin, view_ofs, vecSrc ); -#endif VectorMA( vecSrc, FLASHLIGHT_DISTANCE, forward, vecEnd ); diff --git a/Projects/Android/jni/src/Xash3D/xash3d/engine/client/cl_view.c b/Projects/Android/jni/src/Xash3D/xash3d/engine/client/cl_view.c index 46638e5..aa08889 100644 --- a/Projects/Android/jni/src/Xash3D/xash3d/engine/client/cl_view.c +++ b/Projects/Android/jni/src/Xash3D/xash3d/engine/client/cl_view.c @@ -39,7 +39,9 @@ extern float playerHeight; extern float hmdPosition[3]; extern cvar_t *r_worldscale; extern float gunangles[3]; +extern float flashlightangles[3]; extern float weaponOffset[3]; +extern float flashlightOffset[3]; #endif void V_SetupRefDef( void ) @@ -131,6 +133,8 @@ void V_SetupRefDef( void ) VectorAdd( cl.refdef.viewheight, weaponOffset, cl.refdef.rcontrollerorg ); VectorCopy( gunangles, cl.refdef.rcontrollerangles ); + VectorAdd( cl.refdef.viewheight, flashlightOffset, cl.refdef.lcontrollerorg ); + VectorCopy( flashlightangles, cl.refdef.lcontrollerangles ); #endif }