From fed0e0f9e5729859d844cfe5ad196b122a0c541d Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Thu, 1 Apr 2021 21:09:30 -0400 Subject: [PATCH] Issue #133 thing --- src/d_clisrv.c | 46 ---------------------------------------------- src/d_clisrv.h | 10 ---------- src/doomstat.h | 10 +++++----- src/p_saveg.c | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 61 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index e1a480916..920a79b84 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1074,7 +1074,6 @@ static void SV_SendPlayerInfo(INT32 node) static boolean SV_SendServerConfig(INT32 node) { boolean waspacketsent; - INT32 i, j; memset(&netbuffer->u.servercfg, 0, sizeof netbuffer->u.servercfg); @@ -1091,29 +1090,6 @@ static boolean SV_SendServerConfig(INT32 node) netbuffer->u.servercfg.gametype = (UINT8)gametype; netbuffer->u.servercfg.modifiedgame = (UINT8)modifiedgame; - // THESE MAY NOT BE NEEDED ANYMORE?! - for (i = 0; i < MAXPLAYERS; i++) - { - for (j = 0; j < PWRLV_NUMTYPES; j++) - netbuffer->u.servercfg.powerlevels[i][j] = clientpowerlevels[i][j]; - - if (!playeringame[i]) - continue; - - netbuffer->u.servercfg.consoleplayers[i] = playerconsole[i]; - netbuffer->u.servercfg.invitations[i] = splitscreen_invitations[i]; - netbuffer->u.servercfg.party_size[i] = splitscreen_party_size[i]; - netbuffer->u.servercfg.original_party_size[i] = - splitscreen_original_party_size[i]; - - for (j = 0; j < MAXSPLITSCREENPLAYERS; ++j) - { - netbuffer->u.servercfg.party[i][j] = splitscreen_party[i][j]; - netbuffer->u.servercfg.original_party[i][j] = - splitscreen_original_party[i][j]; - } - } - netbuffer->u.servercfg.maxplayer = (UINT8)(min((dedicated ? MAXPLAYERS-1 : MAXPLAYERS), cv_maxplayers.value)); netbuffer->u.servercfg.allownewplayer = cv_allownewplayer.value; netbuffer->u.servercfg.discordinvites = (boolean)cv_discordinvites.value; @@ -4160,33 +4136,11 @@ static void HandlePacketFromAwayNode(SINT8 node) if (client) { - INT32 j, k; - maketic = gametic = neededtic = (tic_t)LONG(netbuffer->u.servercfg.gametic); G_SetGametype(netbuffer->u.servercfg.gametype); modifiedgame = netbuffer->u.servercfg.modifiedgame; - for (j = 0; j < MAXPLAYERS; j++) - { - for (k = 0; k < PWRLV_NUMTYPES; k++) - clientpowerlevels[j][k] = netbuffer->u.servercfg.powerlevels[j][k]; - - /* all spitscreen related */ - playerconsole[j] = netbuffer->u.servercfg.consoleplayers[j]; - splitscreen_invitations[j] = netbuffer->u.servercfg.invitations[j]; - splitscreen_original_party_size[j] = - netbuffer->u.servercfg.original_party_size[j]; - splitscreen_party_size[j] = - netbuffer->u.servercfg.party_size[j]; - for (k = 0; k < MAXSPLITSCREENPLAYERS; ++k) - { - splitscreen_original_party[j][k] = - netbuffer->u.servercfg.original_party[j][k]; - splitscreen_party[j][k] = - netbuffer->u.servercfg.party[j][k]; - } - } memcpy(server_context, netbuffer->u.servercfg.server_context, 8); } diff --git a/src/d_clisrv.h b/src/d_clisrv.h index f8bc7f3c0..9aedbdba3 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -190,16 +190,6 @@ typedef struct char server_context[8]; // Unique context id, generated at server startup. - UINT16 powerlevels[MAXPLAYERS][PWRLV_NUMTYPES]; // SRB2kart: player power levels - - UINT8 consoleplayers[MAXPLAYERS]; - /* splitscreen */ - SINT8 invitations[MAXPLAYERS]; - UINT8 party_size[MAXPLAYERS]; - UINT8 party[MAXPLAYERS][MAXSPLITSCREENPLAYERS]; - UINT8 original_party_size[MAXPLAYERS]; - UINT8 original_party[MAXPLAYERS][MAXSPLITSCREENPLAYERS]; - // Discord info (always defined for net compatibility) UINT8 maxplayer; boolean allownewplayer; diff --git a/src/doomstat.h b/src/doomstat.h index 047cb000f..636b36a9f 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -160,13 +160,13 @@ extern INT32 displayplayers[MAXSPLITSCREENPLAYERS]; extern INT32 g_localplayers[MAXSPLITSCREENPLAYERS]; /* spitscreen players sync */ -extern int splitscreen_original_party_size[MAXPLAYERS]; -extern int splitscreen_original_party[MAXPLAYERS][MAXSPLITSCREENPLAYERS]; +extern INT32 splitscreen_original_party_size[MAXPLAYERS]; +extern INT32 splitscreen_original_party[MAXPLAYERS][MAXSPLITSCREENPLAYERS]; /* parties */ -extern int splitscreen_invitations[MAXPLAYERS]; -extern int splitscreen_party_size[MAXPLAYERS]; -extern int splitscreen_party[MAXPLAYERS][MAXSPLITSCREENPLAYERS]; +extern INT32 splitscreen_invitations[MAXPLAYERS]; +extern INT32 splitscreen_party_size[MAXPLAYERS]; +extern INT32 splitscreen_party[MAXPLAYERS][MAXSPLITSCREENPLAYERS]; /* the only local one */ extern boolean splitscreen_partied[MAXPLAYERS]; diff --git a/src/p_saveg.c b/src/p_saveg.c index 29c8e5bc8..863c4ee31 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -99,6 +99,11 @@ static void P_NetArchivePlayers(void) { WRITESINT8(save_p, (SINT8)adminplayers[i]); + for (j = 0; j < PWRLV_NUMTYPES; j++) + { + WRITEINT16(save_p, clientpowerlevels[i][j]); + } + if (!playeringame[i]) continue; @@ -107,6 +112,18 @@ static void P_NetArchivePlayers(void) // no longer send ticcmds WRITESTRINGN(save_p, player_names[i], MAXPLAYERNAME); + + WRITEUINT8(save_p, playerconsole[i]); + WRITEINT32(save_p, splitscreen_invitations[i]); + WRITEINT32(save_p, splitscreen_party_size[i]); + WRITEINT32(save_p, splitscreen_original_party_size[i]); + + for (j = 0; j < MAXSPLITSCREENPLAYERS; ++j) + { + WRITEINT32(save_p, splitscreen_party[i][j]); + WRITEINT32(save_p, splitscreen_original_party[i][j]); + } + WRITEANGLE(save_p, players[i].angleturn); WRITEANGLE(save_p, players[i].aiming); WRITEANGLE(save_p, players[i].drawangle); @@ -321,6 +338,11 @@ static void P_NetUnArchivePlayers(void) { adminplayers[i] = (INT32)READSINT8(save_p); + for (j = 0; j < PWRLV_NUMTYPES; j++) + { + clientpowerlevels[i][j] = READINT16(save_p); + } + // Do NOT memset player struct to 0 // other areas may initialize data elsewhere //memset(&players[i], 0, sizeof (player_t)); @@ -330,6 +352,18 @@ static void P_NetUnArchivePlayers(void) // NOTE: sending tics should (hopefully) no longer be necessary READSTRINGN(save_p, player_names[i], MAXPLAYERNAME); + + playerconsole[i] = READUINT8(save_p); + splitscreen_invitations[i] = READINT32(save_p); + splitscreen_party_size[i] = READINT32(save_p); + splitscreen_original_party_size[i] = READINT32(save_p); + + for (j = 0; j < MAXSPLITSCREENPLAYERS; ++j) + { + splitscreen_party[i][j] = READINT32(save_p); + splitscreen_original_party[i][j] = READINT32(save_p); + } + players[i].angleturn = READANGLE(save_p); players[i].aiming = READANGLE(save_p); players[i].drawangle = READANGLE(save_p);