From c056b9bfb998165ba21ca7a8e9b1e8fa3525561b Mon Sep 17 00:00:00 2001 From: elexis Date: Mon, 5 Sep 2016 02:15:04 +0000 Subject: [PATCH] Fix critical gamesetup bug again where the game can't be started after a previously assigned disconnected client rejoins a full game. Same as #3602, reintroduced by b642f0d876, refs #3120. Fixes #4120. This was SVN commit r18702. --- binaries/data/mods/public/gui/gamesetup/gamesetup.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.js b/binaries/data/mods/public/gui/gamesetup/gamesetup.js index 1033bc74ef..fce3cd886a 100644 --- a/binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ b/binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -1071,13 +1071,11 @@ function onTick() function resizePlayerData(targetPlayerData, maxPlayers) { if (g_IsNetworked) - // Unassign excess players - for (let guid in g_PlayerAssignments) - { - let playerID = g_PlayerAssignments[guid].player; - if (playerID > maxPlayers) - Engine.AssignNetworkPlayer(playerID, ""); - } + { + // Remove invalid playerIDs from the servers playerassignments copy + for (let playerID = +maxPlayers + 1; playerID <= g_MaxPlayers; ++playerID) + Engine.AssignNetworkPlayer(playerID, ""); + } else if (!g_PlayerAssignments.local || g_PlayerAssignments.local.player > maxPlayers) g_PlayerAssignments = {