Three issues fixed:
1. ClientThink called ClientThink_real during demo playback, which
ran server-side PmoveSingle and overwrote the client-owned
ps.origin. Now ClientThink returns early in demo mode after
updating pers.cmd (for button access).
2. Buttons never reached the server while paused: SV_UserMove
discards usercmds with duplicate serverTime (line 1421). During
pause, all usercmds have frozen serverTime. Fix: always process
the last usercmd in the packet during demo playback.
3. Spectator button handling in G_RunFrame demo mode processes
MOUSE1 (attack) to cycle follow targets via Cmd_FollowCycle_f.
Removed debug print.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>