Merge pull request #429 from RachelBryk/netplay-pid

Make sure netplay player IDs are actually unique.
This commit is contained in:
shuffle2 2014-05-29 14:02:24 -07:00
commit d18bc31e74
1 changed files with 10 additions and 1 deletions

View File

@ -153,7 +153,16 @@ unsigned int NetPlayServer::OnConnect(sf::SocketTCP& socket)
rpac >> player.name; rpac >> player.name;
// give new client first available id // give new client first available id
player.pid = (PlayerId)(m_players.size() + 1); PlayerId pid = 1;
for (auto i = m_players.begin(); i != m_players.end(); ++i)
{
if (i->second.pid == pid)
{
pid++;
i = m_players.begin();
}
}
player.pid = pid;
// try to automatically assign new user a pad // try to automatically assign new user a pad
for (PadMapping& mapping : m_pad_map) for (PadMapping& mapping : m_pad_map)