mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51:42 +00:00
Sync pflags2, fix voice icon desyncs / other scary speculative desyncs!
This commit is contained in:
parent
85b2f8f933
commit
814976fbc2
2 changed files with 9 additions and 4 deletions
|
|
@ -316,6 +316,9 @@ static void SV_UpdateTempMute(player_t *player, boolean mute)
|
||||||
{
|
{
|
||||||
UINT8 buf[2];
|
UINT8 buf[2];
|
||||||
|
|
||||||
|
if (mute == !!(player->pflags2 & PF2_SERVERTEMPMUTE))
|
||||||
|
return;
|
||||||
|
|
||||||
buf[0] = player - players;
|
buf[0] = player - players;
|
||||||
buf[1] = (UINT8)(mute);
|
buf[1] = (UINT8)(mute);
|
||||||
SendNetXCmd(XD_SERVERTEMPMUTEPLAYER, &buf, 2);
|
SendNetXCmd(XD_SERVERTEMPMUTEPLAYER, &buf, 2);
|
||||||
|
|
@ -337,18 +340,18 @@ void SV_UpdateTempMutes(void)
|
||||||
|
|
||||||
if (PR_IsKeyGuest(player->public_key))
|
if (PR_IsKeyGuest(player->public_key))
|
||||||
{
|
{
|
||||||
if (cv_gamestochat.value && !(player->pflags2 & PF2_SERVERTEMPMUTE))
|
if (cv_gamestochat.value)
|
||||||
SV_UpdateTempMute(player, false);
|
SV_UpdateTempMute(player, false);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
serverplayer_t *stat = SV_GetStatsByPlayerIndex(i);
|
serverplayer_t *stat = SV_GetStatsByPlayerIndex(i);
|
||||||
|
|
||||||
if (i == serverplayer || IsPlayerAdmin(i) && player->pflags2 & PF2_SERVERTEMPMUTE)
|
if (i == serverplayer || IsPlayerAdmin(i))
|
||||||
SV_UpdateTempMute(player, false);
|
SV_UpdateTempMute(player, false);
|
||||||
else if (stat->finishedrounds >= (UINT32)cv_gamestochat.value && player->pflags2 & PF2_SERVERTEMPMUTE)
|
else if (stat->finishedrounds >= (UINT32)cv_gamestochat.value)
|
||||||
SV_UpdateTempMute(player, false);
|
SV_UpdateTempMute(player, false);
|
||||||
else if (stat->finishedrounds < (UINT32)cv_gamestochat.value && !(player->pflags2 & PF2_SERVERTEMPMUTE))
|
else if (stat->finishedrounds < (UINT32)cv_gamestochat.value)
|
||||||
SV_UpdateTempMute(player, true);
|
SV_UpdateTempMute(player, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -245,6 +245,7 @@ static void P_NetArchivePlayers(savebuffer_t *save)
|
||||||
|
|
||||||
WRITEUINT8(save->p, players[i].playerstate);
|
WRITEUINT8(save->p, players[i].playerstate);
|
||||||
WRITEUINT32(save->p, players[i].pflags);
|
WRITEUINT32(save->p, players[i].pflags);
|
||||||
|
WRITEUINT32(save->p, players[i].pflags2);
|
||||||
WRITEUINT8(save->p, players[i].panim);
|
WRITEUINT8(save->p, players[i].panim);
|
||||||
WRITEUINT8(save->p, players[i].spectator);
|
WRITEUINT8(save->p, players[i].spectator);
|
||||||
WRITEUINT32(save->p, players[i].spectatewait);
|
WRITEUINT32(save->p, players[i].spectatewait);
|
||||||
|
|
@ -977,6 +978,7 @@ static void P_NetUnArchivePlayers(savebuffer_t *save)
|
||||||
|
|
||||||
players[i].playerstate = (playerstate_t)READUINT8(save->p);
|
players[i].playerstate = (playerstate_t)READUINT8(save->p);
|
||||||
players[i].pflags = READUINT32(save->p);
|
players[i].pflags = READUINT32(save->p);
|
||||||
|
players[i].pflags2 = READUINT32(save->p);
|
||||||
players[i].panim = (panim_t)READUINT8(save->p);
|
players[i].panim = (panim_t)READUINT8(save->p);
|
||||||
players[i].spectator = READUINT8(save->p);
|
players[i].spectator = READUINT8(save->p);
|
||||||
players[i].spectatewait = READUINT32(save->p);
|
players[i].spectatewait = READUINT32(save->p);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue