Merge remote-tracking branch 'origin/FixNetworkToPlayTest'

This commit is contained in:
2016-02-12 09:18:32 +01:00
6 changed files with 15 additions and 5 deletions
+5 -1
View File
@@ -436,7 +436,11 @@ bool Client::OnPlayerSpawned(const Events::PlayerSpawned& e)
void Client::parsePlayerDamage(Packet& packet)
{
Events::PlayerDamage e;
e.Inflictor = EntityWrapper(m_World, m_ServerIDToClientID.at(packet.ReadPrimitive<EntityID>()));
PlayerID victimID = packet.ReadPrimitive<EntityID>();
if(serverClientMapsHasEntity(victimID)){
return;
}
e.Inflictor = EntityWrapper(m_World, m_ServerIDToClientID.at(victimID));
e.Victim = EntityWrapper(m_World, m_ServerIDToClientID.at(packet.ReadPrimitive<EntityID>()));
e.Damage = packet.ReadPrimitive<double>();
// Don't rebroadcast our own player damage events or we'll have an infinite loop!
+6 -1
View File
@@ -335,6 +335,7 @@ void Server::disconnect(PlayerID playerID)
//m_World->DeleteEntity(m_ConnectedPlayers[playerID].EntityID);
m_ConnectedPlayers[playerID].TCPSocket->shutdown(boost::asio::ip::tcp::socket::shutdown_both);
m_ConnectedPlayers[playerID].TCPSocket->close();
m_World->DeleteEntity(m_ConnectedPlayers[playerID].EntityID);
m_ConnectedPlayers.erase(playerID);
// Send disconnect to the other players.
}
@@ -476,6 +477,11 @@ void Server::parseOnInputCommand(Packet& packet)
void Server::parsePlayerTransform(Packet& packet)
{
PlayerID playerID = GetPlayerIDFromEndpoint();
if (playerID == -1) {
return;
}
glm::vec3 position;
glm::vec3 orientation;
position.x = packet.ReadPrimitive<float>();
@@ -485,7 +491,6 @@ void Server::parsePlayerTransform(Packet& packet)
orientation.y = packet.ReadPrimitive<float>();
orientation.z = packet.ReadPrimitive<float>();
PlayerID playerID = GetPlayerIDFromEndpoint();
bool hasAssaultWeapon = packet.ReadPrimitive<bool>();
int magazineAmmo;
int ammo;