diff --git a/src/network/network_world.hpp b/src/network/network_world.hpp index a35b3ed26..066317c28 100644 --- a/src/network/network_world.hpp +++ b/src/network/network_world.hpp @@ -25,6 +25,7 @@ class NetworkWorld : public Singleton void controllerAction(Controller* controller, PlayerAction action, int value); + std::string m_self_kart; protected: bool m_running; float m_race_time; diff --git a/src/network/protocols/kart_update_protocol.cpp b/src/network/protocols/kart_update_protocol.cpp index e23412126..b57a9df66 100644 --- a/src/network/protocols/kart_update_protocol.cpp +++ b/src/network/protocols/kart_update_protocol.cpp @@ -3,6 +3,7 @@ #include "karts/abstract_kart.hpp" #include "modes/world.hpp" #include "network/protocol_manager.hpp" +#include "network/network_world.hpp" KartUpdateProtocol::KartUpdateProtocol() : Protocol(NULL, PROTOCOL_KART_UPDATE) @@ -10,10 +11,15 @@ KartUpdateProtocol::KartUpdateProtocol() m_karts = World::getWorld()->getKarts(); for (unsigned int i = 0; i < m_karts.size(); i++) { - if (m_karts[i]->getWorldKartId()) + //if (m_karts[i]->getWorldKartId()) { Log::info("KartUpdateProtocol", "Kart %d has id %d and name %s", i, m_karts[i]->getWorldKartId(), m_karts[i]->getIdent().c_str()); } + if (m_karts[i]->getIdent() == NetworkWorld::getInstance()->m_self_kart) + { + Log::info("KartUpdateProtocol", "My id is %d", i); + m_self_kart_index = i; + } } } diff --git a/src/network/protocols/start_game_protocol.cpp b/src/network/protocols/start_game_protocol.cpp index 2a6018976..958fd167a 100644 --- a/src/network/protocols/start_game_protocol.cpp +++ b/src/network/protocols/start_game_protocol.cpp @@ -93,7 +93,7 @@ void StartGameProtocol::update() // race startup sequence NetworkWorld::getInstance()->start(); // builds it and starts - race_manager->setNumKarts(m_game_setup->getPlayerCount()+4); + race_manager->setNumKarts(m_game_setup->getPlayerCount()); race_manager->setNumPlayers(m_game_setup->getPlayerCount()); race_manager->setNumLocalPlayers(1); std::vector players = m_game_setup->getPlayers(); @@ -119,6 +119,7 @@ void StartGameProtocol::update() race_manager->setPlayerKart(i, rki); race_manager->setLocalKartInfo(new_player_id, profile->kart_name); Log::info("StartGameProtocol", "Self player device added."); // self config + NetworkWorld::getInstance()->m_self_kart = profile->kart_name; } } for (unsigned int i = 0; i < players.size(); i++)