Merge branch 'fix-duel-vote' into 'master'

Don't let players party-crash duel vote

Closes #1534

See merge request kart-krew-dev/ring-racers-internal!2645
This commit is contained in:
Oni VelocitOni 2025-06-26 23:06:11 +00:00
commit 92d9d66657
2 changed files with 9 additions and 3 deletions

View file

@ -3738,8 +3738,6 @@ static void Got_AddPlayer(const UINT8 **p, INT32 playernum)
CONS_Debug(DBG_NETPLAY, "addplayer: %d %d\n", node, newplayernum);
//G_SpectatePlayerOnJoin(newplayernum); -- caused desyncs in this spot :(
if (newplayernum+1 > doomcom->numslots)
doomcom->numslots = (INT16)(newplayernum+1);
@ -3793,6 +3791,13 @@ static void Got_AddPlayer(const UINT8 **p, INT32 playernum)
players[newplayernum].splitscreenindex = splitscreenplayer;
players[newplayernum].bot = false;
// Previously called at the top of this function, commented as
// "caused desyncs in this spot :(". But we can't do this in
// G_PlayerReborn, since that only runs for level contexts and
// allows people to party-crash the vote screen even when
// maxplayers is too low for them. Let's try it here...?
G_SpectatePlayerOnJoin(newplayernum);
if (node == mynode && splitscreenplayer == 0)
S_AttemptToRestoreMusic(); // Earliest viable point

View file

@ -2313,7 +2313,8 @@ void G_PlayerReborn(INT32 player, boolean betweenmaps)
jointime = players[player].jointime;
if (jointime <= 1)
{
G_SpectatePlayerOnJoin(player);
// Now called in Got_AddPlayer. In case of weirdness, break glass.
// G_SpectatePlayerOnJoin(player);
betweenmaps = true;
}