From a5be688b82074d5cd7b933f8f15f2ced43607072 Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 1 Mar 2024 06:05:52 -0800 Subject: [PATCH] Replays: keep party in sync with current viewpoints - More and more parts of the game rely on parties - Parties are assumed to match the displayplayers - This fixes A/B/C/D nametags --- src/g_demo.c | 1 + src/m_menu.c | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/g_demo.c b/src/g_demo.c index 3dfcb51e8..41529ad52 100644 --- a/src/g_demo.c +++ b/src/g_demo.c @@ -40,6 +40,7 @@ #include "lua_hook.h" #include "md5.h" // demo checksums #include "p_saveg.h" // savebuffer_t +#include "g_party.h" // SRB2Kart #include "d_netfil.h" // nameonly diff --git a/src/m_menu.c b/src/m_menu.c index db17339ca..485272f47 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -6208,12 +6208,10 @@ static void M_PlaybackAdvance(INT32 choice) paused = true; } - static void M_PlaybackSetViews(INT32 choice) { - if (demo.freecam) - return; // not here. + return; // not here. if (choice > 0) { @@ -6222,8 +6220,14 @@ static void M_PlaybackSetViews(INT32 choice) } else if (r_splitscreen) { - r_splitscreen--; - R_ExecuteSetViewSize(); + if (choice == 0) + { + G_SyncDemoParty(displayplayers[r_splitscreen], r_splitscreen - 1); + } + else + { + G_SyncDemoParty(consoleplayer, 0); + } } }