From f664a519774092484ebedd494e31fd86d24add6f Mon Sep 17 00:00:00 2001 From: Fighterguard Date: Wed, 16 Oct 2024 00:23:33 +0200 Subject: [PATCH] Fixed laser lagging behind during movement --- Projects/Android/jni/quake2/src/client/cl_entities.c | 2 ++ Projects/Android/jni/quake2/src/client/cl_main.c | 4 ---- Projects/Android/jni/quake2/src/client/cl_tempentities.c | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Projects/Android/jni/quake2/src/client/cl_entities.c b/Projects/Android/jni/quake2/src/client/cl_entities.c index 5bc551a..2cf6c41 100644 --- a/Projects/Android/jni/quake2/src/client/cl_entities.c +++ b/Projects/Android/jni/quake2/src/client/cl_entities.c @@ -800,6 +800,8 @@ CL_AddViewWeapon(player_state_t *ps, player_state_t *ops) gun.flags = RF_MINLIGHT | RF_DEPTHHACK | RF_WEAPONMODEL; gun.backlerp = 1.0f - cl.lerpfrac; VectorCopy(gun.origin, gun.oldorigin); /* don't lerp at all */ + //HACK! + CL_UpdateLaserSightOrigins(/*gun.origin*/); V_AddEntity(&gun); } diff --git a/Projects/Android/jni/quake2/src/client/cl_main.c b/Projects/Android/jni/quake2/src/client/cl_main.c index 4548b7c..8f63a84 100644 --- a/Projects/Android/jni/quake2/src/client/cl_main.c +++ b/Projects/Android/jni/quake2/src/client/cl_main.c @@ -799,10 +799,6 @@ CL_BeginFrame(int packetdelta, int renderdelta, int timedelta, qboolean packetfr VID_CheckChanges(); CL_PredictMovement(); - - //HACK! - CL_UpdateLaserSightOrigins(); - if (!cl.refresh_prepped && (cls.state == ca_active)) { CL_PrepRefresh(); } diff --git a/Projects/Android/jni/quake2/src/client/cl_tempentities.c b/Projects/Android/jni/quake2/src/client/cl_tempentities.c index d7ac1ce..b8e94a9 100644 --- a/Projects/Android/jni/quake2/src/client/cl_tempentities.c +++ b/Projects/Android/jni/quake2/src/client/cl_tempentities.c @@ -538,6 +538,8 @@ trace_t CL_Trace (vec3_t start, vec3_t end, float size, int contentmask) extern vec3_t weaponangles; extern vec3_t weaponoffset; +extern vec3_t hmdPosition; +extern cvar_t *vr_height_adjust; void CL_UpdateLaserSightOrigins () { @@ -548,6 +550,8 @@ void CL_UpdateLaserSightOrigins () //At the point of calling this, the vieworg should already have the player height included convertFromVRtoQ2(weaponoffset, cl.refdef.vieworg, gunorigin); + gunorigin[2] -= (QUAKE_MARINE_HEIGHT * vr_worldscale->value); + gunorigin[2] += ((hmdPosition[1] + vr_height_adjust->value) * vr_worldscale->value); //gunorigin[2] += 1; // just add a little bit AngleVectors(weaponangles, forward, right, NULL);