diff options
author | rubidium <rubidium@openttd.org> | 2009-04-08 17:51:04 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-04-08 17:51:04 +0000 |
commit | 080095ade5e6dc330529ff01d66c14c844aa7005 (patch) | |
tree | 4e05169cad087736da37833cbbd06e8d61b41a6f /src/network/network_udp.cpp | |
parent | cd8da0d69eaec81702ca033f375957bb24acdbf1 (diff) | |
download | openttd-080095ade5e6dc330529ff01d66c14c844aa7005.tar.xz |
(svn r15984) -Codechange: prepare the UDP receiver to process multiple types of returned server lists.
Diffstat (limited to 'src/network/network_udp.cpp')
-rw-r--r-- | src/network/network_udp.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp index 15677d0fe..f9c2f98ca 100644 --- a/src/network/network_udp.cpp +++ b/src/network/network_udp.cpp @@ -286,12 +286,12 @@ DEF_UDP_RECEIVE_COMMAND(Client, PACKET_UDP_MASTER_RESPONSE_LIST) /* packet begins with the protocol version (uint8) * then an uint16 which indicates how many * ip:port pairs are in this packet, after that - * an uint32 (ip) and an uint16 (port) for each pair + * an uint32 (ip) and an uint16 (port) for each pair. */ - uint8 ver = p->Recv_uint8(); + ServerListType type = (ServerListType)(p->Recv_uint8() - 1); - if (ver == 1) { + if (type < SLT_END) { for (int i = p->Recv_uint16(); i != 0 ; i--) { uint32 ip = TO_LE32(p->Recv_uint32()); uint16 port = p->Recv_uint16(); @@ -390,6 +390,7 @@ void NetworkUDPQueryMasterServer() /* packet only contains protocol version */ p.Send_uint8(NETWORK_MASTER_SERVER_VERSION); + p.Send_uint8(SLT_AUTODETECT); _udp_client_socket->SendPacket(&p, &out_addr, true); |