Fix local game crash

This commit is contained in:
Benau
2020-02-11 12:58:12 +08:00
parent e0f494abcd
commit acdf77baf9
2 changed files with 6 additions and 4 deletions

View File

@@ -468,8 +468,9 @@ std::shared_ptr<AbstractKart> World::createKart
{
case RaceManager::KT_PLAYER:
{
int local_player_count = -1;
if (NetworkConfig::get()->isClient())
int local_player_count = 99999;
if (NetworkConfig::get()->isNetworking() &&
NetworkConfig::get()->isClient())
{
local_player_count =
(int)NetworkConfig::get()->getNetworkPlayers().size();

View File

@@ -3522,9 +3522,10 @@ void ServerLobby::handleUnencryptedConnection(std::shared_ptr<STKPeer> peer,
if (m_ai_profiles.empty() && peer->getAddress().isLoopback())
{
unsigned ai_add = NetworkConfig::get()->getNumFixedAI();
unsigned max_players = ServerConfig::m_server_max_players;
// We need to reserve at least 1 slot for new player
if (player_count + ai_add + 1 > ServerConfig::m_server_max_players)
ai_add = ServerConfig::m_server_max_players - player_count - 1;
if (player_count + ai_add + 1 > max_players)
ai_add = max_players - player_count - 1;
for (unsigned i = 0; i < ai_add; i++)
{
#ifdef SERVER_ONLY