mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-17 19:11:30 +00:00
Sync mindelay setting to server
- Adds playerdelaytable, no UX changes
This commit is contained in:
parent
2eae5b2ef6
commit
e0c33596e8
4 changed files with 20 additions and 2 deletions
|
|
@ -399,7 +399,6 @@ consvar_t cv_menuframeskip = Player("menuframeskip", "Off").values({
|
|||
{144, "MAX"},
|
||||
{0, "Off"},
|
||||
});
|
||||
consvar_t cv_mindelay = Player("mindelay", "2").min_max(0, 30);
|
||||
consvar_t cv_movebob = Player("movebob", "1.0").floating_point().min_max(0, 4*FRACUNIT);
|
||||
consvar_t cv_netstat = Player("netstat", "Off").on_off().dont_save(); // show bandwidth statistics
|
||||
consvar_t cv_netticbuffer = Player("netticbuffer", "1").min_max(0, 3);
|
||||
|
|
@ -1193,6 +1192,8 @@ consvar_t cv_kickstartaccel[MAXSPLITSCREENPLAYERS] = {
|
|||
Player("kickstartaccel4", "Off").on_off().onchange(weaponPrefChange4)
|
||||
};
|
||||
|
||||
consvar_t cv_mindelay = Player("mindelay", "2").min_max(0, 30).onchange(weaponPrefChange);
|
||||
|
||||
extern CV_PossibleValue_t Color_cons_t[];
|
||||
void Color1_OnChange(void);
|
||||
void Color2_OnChange(void);
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ 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.
|
||||
|
||||
#define GENTLEMANSMOOTHING (TICRATE)
|
||||
static tic_t reference_lag;
|
||||
|
|
@ -3344,6 +3345,7 @@ void SV_ResetServer(void)
|
|||
memset(realpingtable, 0, sizeof realpingtable);
|
||||
memset(playerpingtable, 0, sizeof playerpingtable);
|
||||
memset(playerpacketlosstable, 0, sizeof playerpacketlosstable);
|
||||
memset(playerdelaytable, 0, sizeof playerdelaytable);
|
||||
|
||||
ClearAdminPlayers();
|
||||
Schedule_Clear();
|
||||
|
|
@ -5278,6 +5280,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];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -6251,6 +6254,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.
|
||||
|
|
|
|||
|
|
@ -405,6 +405,7 @@ struct netinfo_pak
|
|||
{
|
||||
UINT32 pingtable[MAXPLAYERS+1];
|
||||
UINT32 packetloss[MAXPLAYERS+1];
|
||||
UINT32 delay[MAXPLAYERS+1];
|
||||
} ATTRPACK;
|
||||
|
||||
//
|
||||
|
|
@ -546,6 +547,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;
|
||||
|
|
|
|||
|
|
@ -1276,7 +1276,11 @@ void WeaponPref_Send(UINT8 ssplayer)
|
|||
if (gamecontrolflags[ssplayer] & GCF_ANALOGSTICK)
|
||||
prefs |= WP_ANALOGSTICK;
|
||||
|
||||
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)
|
||||
|
|
@ -1338,6 +1342,13 @@ static void Got_WeaponPref(const UINT8 **cp,INT32 playernum)
|
|||
{
|
||||
*cp += 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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue