From 7f134d27ce2ed02846598a0ba04bd7b6eef79009 Mon Sep 17 00:00:00 2001 From: SteelT Date: Mon, 26 Feb 2024 04:00:37 -0500 Subject: [PATCH] Fix players RRID getting wiped on join Fixes #1075 --- src/d_clisrv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 09fd87966..edb040567 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -4059,6 +4059,7 @@ static void Got_AddPlayer(UINT8 **p, INT32 playernum) UINT8 splitscreenplayer = 0; UINT8 i; player_t *newplayer; + uint8_t public_key[PUBKEYLENGTH]; if (playernum != serverplayer && !IsPlayerAdmin(playernum)) { @@ -4082,12 +4083,13 @@ static void Got_AddPlayer(UINT8 **p, INT32 playernum) newplayer->jointime = 0; READSTRINGN(*p, player_names[newplayernum], MAXPLAYERNAME); - READMEM(*p, players[newplayernum].public_key, PUBKEYLENGTH); + READMEM(*p, public_key, PUBKEYLENGTH); console = READUINT8(*p); splitscreenplayer = READUINT8(*p); G_AddPlayer(newplayernum, console); + memcpy(players[newplayernum].public_key, public_key, PUBKEYLENGTH); for (i = 0; i < MAXAVAILABILITY; i++) {