Restore svs.time sync for trajectory interpolation

Reverting the svs.time change from the bugfix commit — entity
trajectories (rockets, grenades, bobbing items) need svs.time to
match recorded time for client-side interpolation. The zombie
timeout issue is already handled by skipping SV_CheckTimeouts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
serge_shubin 2026-03-23 05:47:51 +08:00
parent 4f0d46024b
commit 0d1f1d515e

View file

@ -625,9 +625,10 @@ static qboolean SVD_ReadFrame( fileHandle_t f ) {
return qfalse; // end of demo return qfalse; // end of demo
} }
// don't overwrite svs.time — it advances normally via SV_Frame. // set svs.time to recorded time so entity trajectory interpolation
// the recorded serverTime is consumed but not applied, avoiding // works correctly (rockets, grenades, etc. use pos.trTime relative
// time jumps that break client timeouts and heartbeats. // to server time). zombie timeout is already skipped during playback.
svs.time = serverTime;
numEnts = SVD_ReadShort( f ); numEnts = SVD_ReadShort( f );
// read entity message (optionally LZ4 compressed) // read entity message (optionally LZ4 compressed)