Sync mindelay setting to server port from RR
This commit is contained in:
parent
24ab3fa171
commit
583d34e98f
4 changed files with 22 additions and 3 deletions
|
|
@ -114,11 +114,10 @@ UINT16 pingmeasurecount = 1;
|
|||
UINT32 realpingtable[MAXPLAYERS]; //the base table of ping where an average will be sent to everyone.
|
||||
UINT32 playerpingtable[MAXPLAYERS]; //table of player latency values.
|
||||
UINT32 playerpacketlosstable[MAXPLAYERS];
|
||||
UINT32 playerdelaytable[MAXPLAYERS]; // mindelay values.
|
||||
|
||||
static tic_t lowest_lag;
|
||||
boolean server_lagless;
|
||||
static CV_PossibleValue_t mindelay_cons_t[] = {{0, "MIN"}, {30, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_mindelay = CVAR_INIT ("mindelay", "0", CV_SAVE, mindelay_cons_t, NULL);
|
||||
|
||||
SINT8 nodetoplayer[MAXNETNODES];
|
||||
SINT8 nodetoplayer2[MAXNETNODES]; // say the numplayer for this node if any (splitscreen)
|
||||
|
|
@ -3494,6 +3493,8 @@ void SV_ResetServer(void)
|
|||
pingmeasurecount = 1;
|
||||
memset(realpingtable, 0, sizeof realpingtable);
|
||||
memset(playerpingtable, 0, sizeof playerpingtable);
|
||||
memset(playerpacketlosstable, 0, sizeof playerpacketlosstable);
|
||||
memset(playerdelaytable, 0, sizeof playerdelaytable);
|
||||
|
||||
ClearAdminPlayers();
|
||||
Schedule_Clear();
|
||||
|
|
@ -5024,6 +5025,7 @@ static void HandlePacketFromPlayer(SINT8 node)
|
|||
{
|
||||
playerpingtable[i] = (tic_t)netbuffer->u.netinfo.pingtable[i];
|
||||
playerpacketlosstable[i] = netbuffer->u.netinfo.packetloss[i];
|
||||
playerdelaytable[i] = netbuffer->u.netinfo.delay[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5794,6 +5796,7 @@ static inline void PingUpdate(void)
|
|||
}
|
||||
|
||||
netbuffer->u.netinfo.packetloss[i] = lost;
|
||||
netbuffer->u.netinfo.delay[i] = playerdelaytable[i];
|
||||
}
|
||||
|
||||
// send the server's maxping as last element of our ping table. This is useful to let us know when we're about to get kicked.
|
||||
|
|
|
|||
|
|
@ -347,6 +347,7 @@ struct netinfo_pak
|
|||
{
|
||||
UINT32 pingtable[MAXPLAYERS+1];
|
||||
UINT32 packetloss[MAXPLAYERS+1];
|
||||
UINT32 delay[MAXPLAYERS+1];
|
||||
} ATTRPACK;
|
||||
|
||||
//
|
||||
|
|
@ -458,6 +459,7 @@ extern UINT16 pingmeasurecount;
|
|||
extern UINT32 realpingtable[MAXPLAYERS];
|
||||
extern UINT32 playerpingtable[MAXPLAYERS];
|
||||
extern UINT32 playerpacketlosstable[MAXPLAYERS];
|
||||
extern UINT32 playerdelaytable[MAXPLAYERS];
|
||||
extern tic_t servermaxping;
|
||||
|
||||
extern boolean server_lagless;
|
||||
|
|
|
|||
|
|
@ -1919,7 +1919,11 @@ void WeaponPref_Send(UINT8 ssplayer)
|
|||
if (cv_flipcam[ssplayer].value)
|
||||
prefs |= WP_FLIPCAM;
|
||||
|
||||
SendNetXCmdForPlayer(ssplayer, XD_WEAPONPREF, &prefs, 1);
|
||||
UINT8 buf[2];
|
||||
buf[0] = prefs;
|
||||
buf[1] = cv_mindelay.value;
|
||||
|
||||
SendNetXCmdForPlayer(ssplayer, XD_WEAPONPREF, buf, sizeof buf);
|
||||
}
|
||||
|
||||
void WeaponPref_Save(UINT8 **cp, INT32 playernum)
|
||||
|
|
@ -1970,6 +1974,13 @@ static void Got_WeaponPref(UINT8 **cp,INT32 playernum)
|
|||
{
|
||||
WeaponPref_Parse(cp, playernum);
|
||||
|
||||
UINT8 mindelay = READUINT8(*cp);
|
||||
if (server)
|
||||
{
|
||||
for (UINT8 i = 0; i < G_LocalSplitscreenPartySize(playernum); ++i)
|
||||
playerdelaytable[G_LocalSplitscreenPartyMember(playernum, i)] = mindelay;
|
||||
}
|
||||
|
||||
// SEE ALSO g_demo.c
|
||||
demo_extradata[playernum] |= DXD_WEAPONPREF;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -424,6 +424,9 @@ consvar_t cv_resetspecialmusic = CVAR_INIT ("resetspecialmusic", "Yes", CV_SAVE,
|
|||
|
||||
consvar_t cv_resume = CVAR_INIT ("resume", "Yes", CV_SAVE, CV_YesNo, NULL);
|
||||
|
||||
static CV_PossibleValue_t mindelay_cons_t[] = {{0, "MIN"}, {30, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_mindelay = CVAR_INIT ("mindelay", "0", CV_SAVE|CV_CALL, mindelay_cons_t, weaponPrefChange);
|
||||
|
||||
consvar_t cv_kickstartaccel[MAXSPLITSCREENPLAYERS] = {
|
||||
CVAR_INIT ("kickstartaccel", "Off", CV_SAVE|CV_CALL, CV_OnOff, weaponPrefChange),
|
||||
CVAR_INIT ("kickstartaccel2", "Off", CV_SAVE|CV_CALL, CV_OnOff, weaponPrefChange2),
|
||||
|
|
|
|||
Loading…
Reference in a new issue