diff --git a/src/client/Client.cc b/src/client/Client.cc index 4c5e1ee..1d95357 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -210,6 +210,7 @@ void Client::update(double elapsed_time) client_packet >> m_players[player_index]->direction; client_packet >> m_players[player_index]->x; client_packet >> m_players[player_index]->y; + client_packet >> m_players[player_index]->hover; } break; } @@ -286,15 +287,6 @@ void Client::update(double elapsed_time) } } - /* decrease player hover when not over a tile */ - if (m_map.get_tile_at(m_players[m_current_player]->x, - m_players[m_current_player]->y).isNull()) - { - m_players[m_current_player]->hover -= elapsed_time / 10; - if (m_players[m_current_player]->hover < 0) - m_players[m_current_player]->hover = 0; - } - m_player_dir_x = cos(m_players[m_current_player]->direction); m_player_dir_y = sin(m_players[m_current_player]->direction); diff --git a/src/server/Server.cc b/src/server/Server.cc index 780082e..5d0d573 100644 --- a/src/server/Server.cc +++ b/src/server/Server.cc @@ -166,6 +166,17 @@ void Server::update( double elapsed_time ) if(m_players[pindex]->m_client->disconnect == CONNECTED) { + /* decrease player hover when not over a tile */ + if((m_players[pindex]->hover > 0) && + (m_map.get_tile_at(m_players[pindex]->x, m_players[pindex]->y).isNull())) + { + m_players[pindex]->hover -= elapsed_time / 10; + if (m_players[pindex]->hover < 0) + { + m_players[pindex]->hover = 0; + } + m_players[pindex]->updated = true; + } if (KEY_PRESSED == m_players[pindex]->a_pressed) { double direction = m_players[pindex]->direction + M_PI_2; @@ -211,6 +222,7 @@ void Server::update( double elapsed_time ) server_packet << m_players[pindex]->direction; server_packet << m_players[pindex]->x; server_packet << m_players[pindex]->y; + server_packet << m_players[pindex]->hover; m_net_server->sendData(server_packet); m_players[pindex]->updated = false; } diff --git a/src/server/Server.h b/src/server/Server.h index 248b045..bbb2adc 100644 --- a/src/server/Server.h +++ b/src/server/Server.h @@ -2,6 +2,7 @@ #include "Player.h" #include "refptr.h" #include "SFML/Config.hpp" +#include "Map.h" class Server{ public: @@ -14,4 +15,5 @@ class Server{ refptr m_net_server; std::map > m_players; sf::Clock m_clock; + Map m_map; };