From c7bd74c6613abbd4c37bccb3523b5058a80bb868 Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 14 Aug 2023 04:38:12 -0700 Subject: [PATCH] Let replays use director controls --- src/g_build_ticcmd.cpp | 7 +------ src/k_hud.c | 5 +++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/g_build_ticcmd.cpp b/src/g_build_ticcmd.cpp index 5c2abee86..1057595b9 100644 --- a/src/g_build_ticcmd.cpp +++ b/src/g_build_ticcmd.cpp @@ -377,7 +377,7 @@ public: common_button_input(); }; - if (demo.freecam || player()->spectator) + if (demo.playback || demo.freecam || player()->spectator) { // freecam is controllable even while paused @@ -403,11 +403,6 @@ public: *cmd = {}; // blank ticcmd - if (demo.playback) - { - return; - } - if (gamestate == GS_LEVEL && player()->playerstate == PST_REBORN) { return; diff --git a/src/k_hud.c b/src/k_hud.c index 73caf2d96..569304485 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -5169,7 +5169,8 @@ static void K_DrawDirectorButton(INT32 idx, const char *label, patch_t *kp[2], I static void K_drawDirectorHUD(void) { - const INT32 p = G_PartyMember(consoleplayer, R_GetViewNumber()); + const UINT8 viewnum = R_GetViewNumber(); + const INT32 p = viewnum < G_PartySize(consoleplayer) ? G_PartyMember(consoleplayer, viewnum) : -1; const char *itemtxt = "Join"; UINT8 offs = 0; @@ -5667,7 +5668,7 @@ void K_drawKartHUD(void) K_drawKartPowerUps(); - if (G_IsPartyLocal(displayplayers[viewnum]) == false && !demo.playback) + if (G_IsPartyLocal(displayplayers[viewnum]) == false) { K_drawDirectorHUD(); }