quake3live/code/cgame
serge_shubin a8bfa738b0 Fix seeking: snapshot timing, backwards time, entity cleanup
Server:
- Reset nextSnapshotTime for active clients after seek so
  SV_SendClientMessages doesn't skip sending (was comparing
  future nextSnapshotTime against past svs.time)
- First frame always a keyframe (beginning seekable)
- Keyframes during normal playback only reset delta state,
  no SNAPFLAG_RESET_ENTITIES (no visual glitch every 5 sec)

Engine client:
- Reset cl.oldFrameServerTime on SERVERCOUNT toggle to prevent
  "time went backwards" error in CL_SetCGameTime

cgame:
- Handle backwards time in CG_ProcessSnapshots for demo seek:
  accept the time jump, reset cg.time, clear all entity state
  (currentValid, interpolate, time-dependent fields), clear
  local entities (particles, gibs, smoke), wait for next snapshot
- Prevents CG_InterpolateEntityPosition NULL nextSnap error

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 19:31:47 +08:00
..
cg_consolecmds.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_draw.c Show "Playback Paused" instead of "Connection Interrupted" 2026-03-24 04:09:47 +08:00
cg_drawtools.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_effects.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_ents.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_event.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_info.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_local.h Client-owned camera for demo spectator 2026-03-24 03:51:51 +08:00
cg_localents.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_main.c Client-owned camera for demo spectator 2026-03-24 03:51:51 +08:00
cg_marks.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_newdraw.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_particles.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_players.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_playerstate.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_predict.c Client-owned camera for demo spectator 2026-03-24 03:51:51 +08:00
cg_public.h Client-owned camera for demo spectator 2026-03-24 03:51:51 +08:00
cg_scoreboard.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_servercmds.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_snapshot.c Fix seeking: snapshot timing, backwards time, entity cleanup 2026-03-24 19:31:47 +08:00
cg_syscalls.asm Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_syscalls.c Client-owned camera for demo spectator 2026-03-24 03:51:51 +08:00
cg_view.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cg_weapons.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cgame.bat Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cgame.def Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cgame.plg Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cgame.q3asm Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cgame.sh Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cgame.vcxproj Copy game/cgame/ui to missionpack/ for TA configurations 2026-03-18 16:06:35 +08:00
cgame.vcxproj.filters Migrate to Visual Studio 2022: replace .vcproj with .vcxproj, add .gitignore 2026-03-18 13:36:28 +08:00
cgame_ta.bat Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cgame_ta.q3asm Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cgame_ta.sh Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
Conscript Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
tr_types.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00