X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=sv_user.c;h=15b521d5740759283ee938395344f0ed44d1f5d2;hb=194e4364ce5893902a33a26393d7817e610c2496;hp=5f8bf86a02d65be8e0d1fbdda6d3b97849859265;hpb=9fa6c695b421f09090fdc81d1a1cadbb7d360126;p=xonotic%2Fdarkplaces.git diff --git a/sv_user.c b/sv_user.c index 5f8bf86a..15b521d5 100644 --- a/sv_user.c +++ b/sv_user.c @@ -599,7 +599,7 @@ static void SV_ExecuteClientMoves(void) if (ceil(max(sv_readmoves[sv_numreadmoves-1].receivetime - sv_readmoves[sv_numreadmoves-1].time, 0) * 1000.0) < sv_clmovement_minping.integer) host_client->clmovement_disabletimeout = realtime + sv_clmovement_minping_disabletime.value / 1000.0; // several conditions govern whether clientside movement prediction is allowed - if (sv_readmoves[sv_numreadmoves-1].sequence && sv_clmovement_enable.integer && sv_clmovement_inputtimeout.value > 0 && host_client->clmovement_disabletimeout <= realtime && PRVM_serveredictfloat(host_client->edict, movetype) == MOVETYPE_WALK && (!PRVM_serveredictfloat(host_client->edict, disableclientprediction))) + if (sv_readmoves[sv_numreadmoves-1].sequence && sv_clmovement_enable.integer && sv_clmovement_inputtimeout.value > 0 && host_client->clmovement_disabletimeout <= realtime && (PRVM_serveredictfloat(host_client->edict, disableclientprediction) == -1 || (PRVM_serveredictfloat(host_client->edict, movetype) == MOVETYPE_WALK && (!PRVM_serveredictfloat(host_client->edict, disableclientprediction))))) { // process the moves in order and ignore old ones // but always trust the latest move