From be4a2be1da061af8aaa7194b56f439a582b95336 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sun, 26 Feb 2023 04:29:13 -0700 Subject: [PATCH] Fix unsteady camera movement in demos --- src/p_user.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/p_user.c b/src/p_user.c index 6ca61d9f8..a19437d0a 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -3186,7 +3186,13 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall if (demo.playback) { - focusangle = mo->angle; + // Hack-adjacent. + // Sometimes stale ticcmds send a weird angle at the start of the race. + // P_UpdatePlayerAngle knows to ignore cmd angle when you literally can't turn, so we do the same here. + if (leveltime > starttime) + focusangle = player->cmd.angle << TICCMD_REDUCE; + else + focusangle = mo->angle; // Just use something known sane. focusaiming = 0; } else