mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Issue #133 thing
This commit is contained in:
parent
e9f85c0992
commit
fed0e0f9e5
4 changed files with 39 additions and 61 deletions
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue