From e00b676dd8ca709e1913f7c1ee7b4ab18b2c079d Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 1 Mar 2024 16:56:42 -0800 Subject: [PATCH] Replays: fix camera reset when promoting splits - Off-by-one error --- src/g_game.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index 26a2c387a..aa60e5b1d 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1672,18 +1672,22 @@ void G_ResetView(UINT8 viewnum, INT32 playernum, boolean onlyactive) /* Focus our target view first so that we don't take its player. */ (*displayplayerp) = playernum; - if ((*displayplayerp) != olddisplayplayer) - { - G_FixCamera(viewnum); - } + /* If a viewpoint changes, reset the camera to clear uninitialized memory. */ if (viewnum > splits) { - for (viewd = splits+1; viewd < viewnum; ++viewd) + for (viewd = splits+1; viewd <= viewnum; ++viewd) { G_FixCamera(viewd); } } + else + { + if ((*displayplayerp) != olddisplayplayer) + { + G_FixCamera(viewnum); + } + } if (demo.playback) {