From 89865658b1963e81527c2d9ad3ecefb5f4bf20d0 Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 23 Jan 2007 14:47:38 +0000 Subject: (svn r8372) -Fix (8361): NUM_LANDSCAPE comes (via some detour) from openttd.h, which does not exist in the masterserver/updater. --- src/network/core/config.h | 9 +++++++++ src/network/core/udp.cpp | 4 ++-- src/network/network.cpp | 3 +++ 3 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/network/core/config.h b/src/network/core/config.h index 0b80800f0..71f3983a9 100644 --- a/src/network/core/config.h +++ b/src/network/core/config.h @@ -42,6 +42,15 @@ enum { NETWORK_MAX_GRF_COUNT = 55, NETWORK_NUM_LANGUAGES = 4, ///< Number of known languages (to the network protocol) + 1 for 'any'. + /** + * The number of landscapes in OpenTTD. + * This number must be equal to NUM_LANDSCAPE, but as this number is used + * within the network code and that the network code is shared with the + * masterserver/updater, it has to be declared in here too. In network.cpp + * there is a compile assertion to check that this NUM_LANDSCAPE is equal + * to NETWORK_NUM_LANDSCAPES. + */ + NETWORK_NUM_LANDSCAPES = 4, }; #endif /* ENABLE_NETWORK */ diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp index 38309d326..f20f98ba9 100644 --- a/src/network/core/udp.cpp +++ b/src/network/core/udp.cpp @@ -300,8 +300,8 @@ void NetworkUDPSocketHandler::Recv_NetworkGameInfo(Packet *p, NetworkGameInfo *i info->map_set = NetworkRecv_uint8 (this, p); info->dedicated = (NetworkRecv_uint8(this, p) != 0); - if (info->server_lang >= NETWORK_NUM_LANGUAGES) info->server_lang = 0; - if (info->map_set >= NUM_LANDSCAPE) info->map_set = 0; + if (info->server_lang >= NETWORK_NUM_LANGUAGES) info->server_lang = 0; + if (info->map_set >= NETWORK_NUM_LANDSCAPES) info->map_set = 0; } } diff --git a/src/network/network.cpp b/src/network/network.cpp index 0211aebd2..4ab8d3390 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -38,6 +38,9 @@ #include /* va_list */ #include "../md5.h" +/* Check whether NETWORK_NUM_LANDSCAPES is still in sync with NUM_LANDSCAPE */ +assert_compile((int)NETWORK_NUM_LANDSCAPES == (int)NUM_LANDSCAPE); + // global variables (declared in network_data.h) CommandPacket *_local_command_queue; -- cgit v1.2.3-54-g00ecf