mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-07 06:39:08 +00:00
Fix: only query a manually added server if it isn't there yet
But always mark it as manually, no matter if it was there or not.
This commit is contained in:
parent
fc91f1d1b2
commit
b9ab3bd6b3
@ -657,7 +657,7 @@ void NetworkTCPQueryServer(const std::string &connection_string, bool request_co
|
|||||||
* @param connection_string The IP:port of the server to add.
|
* @param connection_string The IP:port of the server to add.
|
||||||
* @return The entry on the game list.
|
* @return The entry on the game list.
|
||||||
*/
|
*/
|
||||||
NetworkGameList *NetworkAddServer(const std::string &connection_string)
|
NetworkGameList *NetworkAddServer(const std::string &connection_string, bool manually)
|
||||||
{
|
{
|
||||||
if (connection_string.empty()) return nullptr;
|
if (connection_string.empty()) return nullptr;
|
||||||
|
|
||||||
@ -666,13 +666,14 @@ NetworkGameList *NetworkAddServer(const std::string &connection_string)
|
|||||||
if (item->info.server_name.empty()) {
|
if (item->info.server_name.empty()) {
|
||||||
ClearGRFConfigList(&item->info.grfconfig);
|
ClearGRFConfigList(&item->info.grfconfig);
|
||||||
item->info.server_name = connection_string;
|
item->info.server_name = connection_string;
|
||||||
item->manually = true;
|
|
||||||
|
|
||||||
NetworkRebuildHostList();
|
NetworkRebuildHostList();
|
||||||
UpdateNetworkGameWindow();
|
UpdateNetworkGameWindow();
|
||||||
|
|
||||||
|
NetworkTCPQueryServer(connection_string);
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkTCPQueryServer(connection_string);
|
if (manually) item->manually = true;
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
@ -1202,7 +1203,7 @@ extern "C" {
|
|||||||
|
|
||||||
void CDECL em_openttd_add_server(const char *connection_string)
|
void CDECL em_openttd_add_server(const char *connection_string)
|
||||||
{
|
{
|
||||||
NetworkAddServer(connection_string);
|
NetworkAddServer(connection_string, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@ extern CompanyMask _network_company_passworded;
|
|||||||
void NetworkTCPQueryServer(const std::string &connection_string, bool request_company_info = false);
|
void NetworkTCPQueryServer(const std::string &connection_string, bool request_company_info = false);
|
||||||
|
|
||||||
void GetBindAddresses(NetworkAddressList *addresses, uint16 port);
|
void GetBindAddresses(NetworkAddressList *addresses, uint16 port);
|
||||||
struct NetworkGameList *NetworkAddServer(const std::string &connection_string);
|
struct NetworkGameList *NetworkAddServer(const std::string &connection_string, bool manually = true);
|
||||||
void NetworkRebuildHostList();
|
void NetworkRebuildHostList();
|
||||||
void UpdateNetworkGameWindow();
|
void UpdateNetworkGameWindow();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user