Set svdemo_autorecord 1 to automatically record a demo on every
map load. Demo files are named <mapname>_YYYYMMDD_HHMMSS.svdm
in the svdemos/ directory.
Refactored SVD_Record_f to use SVD_StartRecording helper so both
manual and auto recording share the same code path. Also fixed
prevPlayers delta state not being cleared on recording start.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SV_SpawnServer reinitializes the game module, invalidating all
entity and configstring state. Recording across a map boundary
would produce corrupt deltas. Stop recording automatically at
the start of SV_SpawnServer (before game shutdown).
map_restart is unaffected — it has its own path (SV_MapRestart_f)
which doesn't call SV_SpawnServer.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Extract SVD_CleanupPlayback for shared cleanup logic
- Called on demo end (SVD_PlaybackFrame) and manual stop
- Frees zombie client slots, saved configstrings, file handle
- Clears sv_demoplaying cvar so game module exits demo mode
- Hook into SV_Shutdown to clean up on server shutdown/map change
- Allows playing another demo after one finishes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>