diff --git a/Projects/Android/jni/src/Lambda1VR/L1VR_SurfaceView.c b/Projects/Android/jni/src/Lambda1VR/L1VR_SurfaceView.c index 084dec2..95a3cc3 100644 --- a/Projects/Android/jni/src/Lambda1VR/L1VR_SurfaceView.c +++ b/Projects/Android/jni/src/Lambda1VR/L1VR_SurfaceView.c @@ -1311,6 +1311,9 @@ void VR_Init() snapTurn = 0.0f; ducked = DUCK_NOTDUCKED; + //init randomiser + srand(time(NULL)); + //Create Cvars vr_snapturn_angle = Cvar_Get( "vr_snapturn_angle", "45", CVAR_ARCHIVE, "Sets the angle for snap-turn, set to < 10.0 to enable smooth turning" ); vr_reloadtimeoutms = Cvar_Get( "vr_reloadtimeoutms", "200", CVAR_ARCHIVE, "How quickly the grip trigger needs to be release to initiate a reload" ); @@ -1325,6 +1328,7 @@ void VR_Init() vr_enable_crouching = Cvar_Get( "vr_enable_crouching", "1", CVAR_ARCHIVE, "Crouching irl triggers ducking in game" ); vr_height_adjust = Cvar_Get( "vr_height_adjust", "0.0", CVAR_ARCHIVE, "Additional height adjustment for in-game player (in metres)" ); vr_flashlight_model = Cvar_Get( "vr_flashlight_model", "1", CVAR_ARCHIVE, "Set to 0 to prevent drawing the flashlight model" ); + vr_mirror_weapons = Cvar_Get( "vr_mirror_weapons", "0", CVAR_ARCHIVE, "Set to 1 to mirror the weapon models (for left handed use)" ); //Not to be changed by users, as it will be overwritten anyway vr_stereo_side = Cvar_Get( "vr_stereo_side", "0", CVAR_READ_ONLY, "Eye being drawn" ); @@ -1403,14 +1407,14 @@ void * AppThreadFunction( void * parm ) #ifndef DEMO if (argc != 0) { - Host_Main(argc, argv, "valve", false, NULL); + Host_Main(argc, (const char**)argv, "valve", false, NULL); } else #endif { int argc = 1; char *argv[] = { "xash3d" }; - Host_Main(argc, argv, "valve", false, NULL); + Host_Main(argc, (const char**)argv, "valve", false, NULL); } xash_initialised = true; @@ -1550,7 +1554,7 @@ void * AppThreadFunction( void * parm ) break; } - static usingScreenLayer = true; //Starts off using the screen layer + static bool usingScreenLayer = true; //Starts off using the screen layer if (usingScreenLayer != useScreenLayer()) { usingScreenLayer = useScreenLayer(); diff --git a/Projects/Android/jni/src/Lambda1VR/VrCvars.h b/Projects/Android/jni/src/Lambda1VR/VrCvars.h index 6f9783f..a71469f 100644 --- a/Projects/Android/jni/src/Lambda1VR/VrCvars.h +++ b/Projects/Android/jni/src/Lambda1VR/VrCvars.h @@ -15,6 +15,7 @@ convar_t *vr_control_scheme; convar_t *vr_enable_crouching; convar_t *vr_height_adjust; convar_t *vr_flashlight_model; +convar_t *vr_mirror_weapons; //Used and updated continuously during rendering convar_t *vr_stereo_side; \ No newline at end of file diff --git a/Projects/Android/jni/src/Xash3D/xash3d/engine/client/gl_studio.c b/Projects/Android/jni/src/Xash3D/xash3d/engine/client/gl_studio.c index ee8046f..dcc043a 100644 --- a/Projects/Android/jni/src/Xash3D/xash3d/engine/client/gl_studio.c +++ b/Projects/Android/jni/src/Xash3D/xash3d/engine/client/gl_studio.c @@ -3721,6 +3721,8 @@ void R_RunViewmodelEvents( void ) R_DrawViewModel ================= */ + +extern convar_t *vr_mirror_weapons; void R_DrawViewModel( void ) { if( RI.refdef.onlyClientDraw || r_drawviewmodel->integer == 0 ) @@ -3750,8 +3752,8 @@ void R_DrawViewModel( void ) // hack the depth range to prevent view model from poking into walls pglDepthRange( gldepthmin, gldepthmin + 0.3f * ( gldepthmax - gldepthmin )); - // backface culling for left-handed weapons - g_iBackFaceCull = r_lefthand->integer == 1;//R_LeftHand(); // GL_FrontFace is called in SetupStudioRenderer + // backface culling for mirrored weapons + g_iBackFaceCull = vr_mirror_weapons->integer == 1;//R_LeftHand(); // GL_FrontFace is called in SetupStudioRenderer RI.currententity->curstate.scale = 1.0f; RI.currententity->curstate.frame = 0; RI.currententity->curstate.framerate = 1.0f; diff --git a/Projects/Android/jni/src/gl4es/src/gl/const.h b/Projects/Android/jni/src/gl4es/src/gl/const.h index 5b21f0c..c096f2d 100644 --- a/Projects/Android/jni/src/gl4es/src/gl/const.h +++ b/Projects/Android/jni/src/gl4es/src/gl/const.h @@ -581,7 +581,9 @@ #define GL_TEXTURE_DEPTH_TYPE 0x8C16 #define GL_UNSIGNED_NORMALIZED 0x8C17 #define GL_FRAMEBUFFER_BINDING 0x8CA6 +#ifndef GL_DRAW_FRAMEBUFFER_BINDING #define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING +#endif #define GL_RENDERBUFFER_BINDING 0x8CA7 #define GL_READ_FRAMEBUFFER 0x8CA8 #define GL_DRAW_FRAMEBUFFER 0x8CA9 diff --git a/Projects/Android/jni/src/hlsdk-xash3d b/Projects/Android/jni/src/hlsdk-xash3d index b9f3370..ded2e78 160000 --- a/Projects/Android/jni/src/hlsdk-xash3d +++ b/Projects/Android/jni/src/hlsdk-xash3d @@ -1 +1 @@ -Subproject commit b9f337071c2c78662f0227226b0a105fbe7cec6b +Subproject commit ded2e78f9064a5b5bc2be3935614505446e2146c diff --git a/assets/sprites/s_stealth.spr b/assets/sprites/s_stealth.spr index fd87c69..d164161 100644 Binary files a/assets/sprites/s_stealth.spr and b/assets/sprites/s_stealth.spr differ