From 80a4970ee60c5d4f06365cc270dbd0027f4de094 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Fri, 12 Jan 2024 23:59:48 +0900 Subject: [PATCH] [qw] Keep the predicted players in the world Wandering off to infinity makes for some interesting side effects (in solid, world partially drawn). Fixes the green screen and missing walls for the first few seconds of being in a map. --- qw/source/cl_pred.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qw/source/cl_pred.c b/qw/source/cl_pred.c index 2dbf45249..1f39b7d3e 100644 --- a/qw/source/cl_pred.c +++ b/qw/source/cl_pred.c @@ -68,9 +68,9 @@ CL_PredictUsercmd (player_state_t *from, player_state_t *to, usercmd_t *u, { if (!clientplayer) { if (VectorIsZero (from->pls.es.velocity)) { - VectorCopy (from->pls.es.origin, to->pls.es.origin); + to->pls.es.origin = from->pls.es.origin; VectorCopy (u->angles, to->viewangles); - VectorCopy (from->pls.es.velocity, to->pls.es.velocity); + to->pls.es.velocity = from->pls.es.velocity; return; } } @@ -109,8 +109,10 @@ CL_PredictUsercmd (player_state_t *from, player_state_t *to, usercmd_t *u, to->oldbuttons = pmove.oldbuttons; // Tonik to->oldonground = pmove.oldonground; VectorCopy (pmove.origin, to->pls.es.origin); + to->pls.es.origin[3] = 1;//FIXME make pmove use vec4f_t VectorCopy (pmove.angles, to->viewangles); VectorCopy (pmove.velocity, to->pls.es.velocity); + to->pls.es.velocity[3] = 0; to->onground = onground; to->pls.es.weaponframe = from->pls.es.weaponframe; }