summaryrefslogtreecommitdiff
path: root/src/network/room.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/room.cpp')
-rw-r--r--src/network/room.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/network/room.cpp b/src/network/room.cpp
index b06797bf1..8c63b255b 100644
--- a/src/network/room.cpp
+++ b/src/network/room.cpp
@@ -221,7 +221,7 @@ public:
221 * Extracts the game name from a received ENet packet and broadcasts it. 221 * Extracts the game name from a received ENet packet and broadcasts it.
222 * @param event The ENet event that was received. 222 * @param event The ENet event that was received.
223 */ 223 */
224 void HandleGameNamePacket(const ENetEvent* event); 224 void HandleGameInfoPacket(const ENetEvent* event);
225 225
226 /** 226 /**
227 * Removes the client from the members list if it was in it and announces the change 227 * Removes the client from the members list if it was in it and announces the change
@@ -234,7 +234,7 @@ public:
234void Room::RoomImpl::ServerLoop() { 234void Room::RoomImpl::ServerLoop() {
235 while (state != State::Closed) { 235 while (state != State::Closed) {
236 ENetEvent event; 236 ENetEvent event;
237 if (enet_host_service(server, &event, 50) > 0) { 237 if (enet_host_service(server, &event, 5) > 0) {
238 switch (event.type) { 238 switch (event.type) {
239 case ENET_EVENT_TYPE_RECEIVE: 239 case ENET_EVENT_TYPE_RECEIVE:
240 switch (event.packet->data[0]) { 240 switch (event.packet->data[0]) {
@@ -242,7 +242,7 @@ void Room::RoomImpl::ServerLoop() {
242 HandleJoinRequest(&event); 242 HandleJoinRequest(&event);
243 break; 243 break;
244 case IdSetGameInfo: 244 case IdSetGameInfo:
245 HandleGameNamePacket(&event); 245 HandleGameInfoPacket(&event);
246 break; 246 break;
247 case IdProxyPacket: 247 case IdProxyPacket:
248 HandleProxyPacket(&event); 248 HandleProxyPacket(&event);
@@ -778,6 +778,7 @@ void Room::RoomImpl::BroadcastRoomInformation() {
778 packet.Write(member.fake_ip); 778 packet.Write(member.fake_ip);
779 packet.Write(member.game_info.name); 779 packet.Write(member.game_info.name);
780 packet.Write(member.game_info.id); 780 packet.Write(member.game_info.id);
781 packet.Write(member.game_info.version);
781 packet.Write(member.user_data.username); 782 packet.Write(member.user_data.username);
782 packet.Write(member.user_data.display_name); 783 packet.Write(member.user_data.display_name);
783 packet.Write(member.user_data.avatar_url); 784 packet.Write(member.user_data.avatar_url);
@@ -817,6 +818,7 @@ void Room::RoomImpl::HandleProxyPacket(const ENetEvent* event) {
817 in_packet.IgnoreBytes(sizeof(u16)); // Port 818 in_packet.IgnoreBytes(sizeof(u16)); // Port
818 819
819 in_packet.IgnoreBytes(sizeof(u8)); // Protocol 820 in_packet.IgnoreBytes(sizeof(u8)); // Protocol
821
820 bool broadcast; 822 bool broadcast;
821 in_packet.Read(broadcast); // Broadcast 823 in_packet.Read(broadcast); // Broadcast
822 824
@@ -909,7 +911,7 @@ void Room::RoomImpl::HandleChatPacket(const ENetEvent* event) {
909 } 911 }
910} 912}
911 913
912void Room::RoomImpl::HandleGameNamePacket(const ENetEvent* event) { 914void Room::RoomImpl::HandleGameInfoPacket(const ENetEvent* event) {
913 Packet in_packet; 915 Packet in_packet;
914 in_packet.Append(event->packet->data, event->packet->dataLength); 916 in_packet.Append(event->packet->data, event->packet->dataLength);
915 917
@@ -917,6 +919,7 @@ void Room::RoomImpl::HandleGameNamePacket(const ENetEvent* event) {
917 GameInfo game_info; 919 GameInfo game_info;
918 in_packet.Read(game_info.name); 920 in_packet.Read(game_info.name);
919 in_packet.Read(game_info.id); 921 in_packet.Read(game_info.id);
922 in_packet.Read(game_info.version);
920 923
921 { 924 {
922 std::lock_guard lock(member_mutex); 925 std::lock_guard lock(member_mutex);
@@ -935,7 +938,8 @@ void Room::RoomImpl::HandleGameNamePacket(const ENetEvent* event) {
935 if (game_info.name.empty()) { 938 if (game_info.name.empty()) {
936 LOG_INFO(Network, "{} is not playing", display_name); 939 LOG_INFO(Network, "{} is not playing", display_name);
937 } else { 940 } else {
938 LOG_INFO(Network, "{} is playing {}", display_name, game_info.name); 941 LOG_INFO(Network, "{} is playing {} ({})", display_name, game_info.name,
942 game_info.version);
939 } 943 }
940 } 944 }
941 } 945 }