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