Changeset - r25396:b4291ae45d23
[Not reviewed]
master
0 6 0
rubidium42 - 3 years ago 2021-05-06 14:19:00
rubidium@openttd.org
Codechange: [Network] Use std::string for NetworkGameInfo
6 files changed with 32 insertions and 32 deletions:
0 comments (0 inline, 0 general)
src/network/core/game_info.cpp
Show inline comments
 
@@ -112,7 +112,7 @@ bool IsNetworkCompatibleVersion(const ch
 
void CheckGameCompatibility(NetworkGameInfo &ngi)
 
{
 
	/* Check if we are allowed on this server based on the revision-check. */
 
	ngi.version_compatible = IsNetworkCompatibleVersion(ngi.server_revision);
 
	ngi.version_compatible = IsNetworkCompatibleVersion(ngi.server_revision.c_str());
 
	ngi.compatible = ngi.version_compatible;
 

	
 
	/* Check if we have all the GRFs on the client-system too. */
 
@@ -138,8 +138,8 @@ void FillStaticNetworkServerGameInfo()
 
	_network_game_info.dedicated      = _network_dedicated;
 
	_network_game_info.grfconfig      = _grfconfig;
 

	
 
	strecpy(_network_game_info.server_name, _settings_client.network.server_name, lastof(_network_game_info.server_name));
 
	strecpy(_network_game_info.server_revision, GetNetworkRevisionString(), lastof(_network_game_info.server_revision));
 
	_network_game_info.server_name = _settings_client.network.server_name;
 
	_network_game_info.server_revision = GetNetworkRevisionString();
 
}
 

	
 
/**
 
@@ -295,8 +295,8 @@ void DeserializeNetworkGameInfo(Packet *
 
			FALLTHROUGH;
 

	
 
		case 1:
 
			p->Recv_string(info->server_name,     sizeof(info->server_name));
 
			p->Recv_string(info->server_revision, sizeof(info->server_revision));
 
			info->server_name = p->Recv_string(NETWORK_NAME_LENGTH);
 
			info->server_revision = p->Recv_string(NETWORK_REVISION_LENGTH);
 
			p->Recv_uint8 (); // Used to contain server-lang.
 
			info->use_password   = p->Recv_bool  ();
 
			info->clients_max    = p->Recv_uint8 ();
src/network/core/game_info.h
Show inline comments
 
@@ -60,22 +60,22 @@
 
 * The game information that is sent from the server to the client.
 
 */
 
struct NetworkServerGameInfo {
 
	GRFConfig *grfconfig;                           ///< List of NewGRF files used
 
	Date start_date;                                ///< When the game started
 
	Date game_date;                                 ///< Current date
 
	uint16 map_width;                               ///< Map width
 
	uint16 map_height;                              ///< Map height
 
	char server_name[NETWORK_NAME_LENGTH];          ///< Server name
 
	char server_revision[NETWORK_REVISION_LENGTH];  ///< The version number the server is using (e.g.: 'r304' or 0.5.0)
 
	bool dedicated;                                 ///< Is this a dedicated server?
 
	bool use_password;                              ///< Is this server passworded?
 
	byte clients_on;                                ///< Current count of clients on server
 
	byte clients_max;                               ///< Max clients allowed on server
 
	byte companies_on;                              ///< How many started companies do we have
 
	byte companies_max;                             ///< Max companies allowed on server
 
	byte spectators_on;                             ///< How many spectators do we have?
 
	byte spectators_max;                            ///< Max spectators allowed on server
 
	byte landscape;                                 ///< The used landscape
 
	GRFConfig *grfconfig;        ///< List of NewGRF files used
 
	Date start_date;             ///< When the game started
 
	Date game_date;              ///< Current date
 
	uint16 map_width;            ///< Map width
 
	uint16 map_height;           ///< Map height
 
	std::string server_name;     ///< Server name
 
	std::string server_revision; ///< The version number the server is using (e.g.: 'r304' or 0.5.0)
 
	bool dedicated;              ///< Is this a dedicated server?
 
	bool use_password;           ///< Is this server passworded?
 
	byte clients_on;             ///< Current count of clients on server
 
	byte clients_max;            ///< Max clients allowed on server
 
	byte companies_on;           ///< How many started companies do we have
 
	byte companies_max;          ///< Max companies allowed on server
 
	byte spectators_on;          ///< How many spectators do we have?
 
	byte spectators_max;         ///< Max spectators allowed on server
 
	byte landscape;              ///< The used landscape
 
};
 

	
 
/**
src/network/network.cpp
Show inline comments
 
@@ -656,9 +656,9 @@ NetworkGameList *NetworkAddServer(const 
 

	
 
	/* Ensure the item already exists in the list */
 
	NetworkGameList *item = NetworkGameListAddItem(connection_string);
 
	if (StrEmpty(item->info.server_name)) {
 
	if (item->info.server_name.empty()) {
 
		ClearGRFConfigList(&item->info.grfconfig);
 
		strecpy(item->info.server_name, connection_string.c_str(), lastof(item->info.server_name));
 
		item->info.server_name = connection_string;
 
		item->manually = true;
 

	
 
		NetworkRebuildHostList();
 
@@ -1163,7 +1163,7 @@ void NetworkStartUp()
 
	/* Generate an server id when there is none yet */
 
	if (StrEmpty(_settings_client.network.network_id)) NetworkGenerateServerId();
 

	
 
	memset(&_network_game_info, 0, sizeof(_network_game_info));
 
	_network_game_info = {};
 

	
 
	NetworkInitialize();
 
	DEBUG(net, 3, "[core] network online, multiplayer available");
src/network/network_gamelist.cpp
Show inline comments
 
@@ -47,10 +47,10 @@ static void NetworkGameListHandleDelayed
 
		NetworkGameList *item = NetworkGameListAddItem(ins_item->connection_string);
 

	
 
		if (item != nullptr) {
 
			if (StrEmpty(item->info.server_name)) {
 
			if (item->info.server_name.empty()) {
 
				ClearGRFConfigList(&item->info.grfconfig);
 
				memset(&item->info, 0, sizeof(item->info));
 
				strecpy(item->info.server_name, ins_item->info.server_name, lastof(item->info.server_name));
 
				item->info = {};
 
				item->info.server_name = ins_item->info.server_name;
 
				item->online = false;
 
			}
 
			item->manually |= ins_item->manually;
src/network/network_gui.cpp
Show inline comments
 
@@ -271,7 +271,7 @@ protected:
 
	/** Sort servers by name. */
 
	static bool NGameNameSorter(NetworkGameList * const &a, NetworkGameList * const &b)
 
	{
 
		int r = strnatcmp(a->info.server_name, b->info.server_name, true); // Sort by name (natural sorting).
 
		int r = strnatcmp(a->info.server_name.c_str(), b->info.server_name.c_str(), true); // Sort by name (natural sorting).
 
		if (r == 0) r = a->connection_string.compare(b->connection_string);
 

	
 
		return r < 0;
 
@@ -324,7 +324,7 @@ protected:
 
	static bool NGameAllowedSorter(NetworkGameList * const &a, NetworkGameList * const &b)
 
	{
 
		/* The servers we do not know anything about (the ones that did not reply) should be at the bottom) */
 
		int r = StrEmpty(a->info.server_revision) - StrEmpty(b->info.server_revision);
 
		int r = a->info.server_revision.empty() - b->info.server_revision.empty();
 

	
 
		/* Reverse default as we are interested in version-compatible clients first */
 
		if (r == 0) r = b->info.version_compatible - a->info.version_compatible;
 
@@ -361,7 +361,7 @@ protected:
 
		assert((*item) != nullptr);
 

	
 
		sf.ResetState();
 
		sf.AddLine((*item)->info.server_name);
 
		sf.AddLine((*item)->info.server_name.c_str());
 
		return sf.GetState();
 
	}
 

	
src/network/network_udp.cpp
Show inline comments
 
@@ -91,7 +91,7 @@ static void DoNetworkUDPQueryServer(cons
 
{
 
	/* Clear item in gamelist */
 
	NetworkGameList *item = new NetworkGameList(connection_string, manually);
 
	strecpy(item->info.server_name, connection_string.c_str(), lastof(item->info.server_name));
 
	item->info.server_name = connection_string;
 
	NetworkGameListAddItemDelayed(item);
 

	
 
	std::unique_lock<std::mutex> lock(_udp_client.mutex, std::defer_lock);
 
@@ -362,7 +362,7 @@ void ClientNetworkUDPSocketHandler::Rece
 
	}
 

	
 
	if (client_addr->GetAddress()->ss_family == AF_INET6) {
 
		strecat(item->info.server_name, " (IPv6)", lastof(item->info.server_name));
 
		item->info.server_name.append(" (IPv6)");
 
	}
 

	
 
	UpdateNetworkGameWindow();
0 comments (0 inline, 0 general)