Fix cb588d8d: Ordering of command per tick limit and pause mode filtering (#12126)

The command per tick limit should be applied after the pause mode filter
This commit is contained in:
Jonathan G Rennison 2024-02-20 20:51:35 +00:00 committed by Kuhnovic
parent 7258551016
commit 7457a0b7a6
1 changed files with 3 additions and 3 deletions

View File

@ -327,15 +327,15 @@ static void DistributeQueue(CommandQueue &queue, const NetworkClientSocket *owne
/* Not technically the most performant way, but consider clients rarely click more than once per tick. */
for (auto cp = queue.begin(); cp != queue.end(); /* removing some items */) {
/* Limit the number of commands per client per tick. */
if (--to_go < 0) break;
/* Do not distribute commands when paused and the command is not allowed while paused. */
if (_pause_mode != PM_UNPAUSED && !IsCommandAllowedWhilePaused(cp->cmd)) {
++cp;
continue;
}
/* Limit the number of commands per client per tick. */
if (--to_go < 0) break;
DistributeCommandPacket(*cp, owner);
NetworkAdminCmdLogging(owner, *cp);
cp = queue.erase(cp);