OpenTTD Source
20241120-master-g6d3adc6169
|
This file handles the GameList Also, it handles the request to a server for data about the server. More...
#include "../stdafx.h"
#include "../debug.h"
#include "../window_func.h"
#include "network_internal.h"
#include "network_udp.h"
#include "network_gamelist.h"
#include <atomic>
#include "../safeguards.h"
Go to the source code of this file.
Functions | |
NetworkGameList * | NetworkGameListAddItem (const std::string &connection_string) |
Add a new item to the linked gamelist. More... | |
void | NetworkGameListRemoveItem (NetworkGameList *remove) |
Remove an item from the gamelist linked list. More... | |
void | NetworkGameListRemoveExpired () |
Remove all servers that have not recently been updated. More... | |
void | NetworkAfterNewGRFScan () |
Rebuild the GRFConfig's of the servers in the game list as we did a rescan and might have found new NewGRFs. | |
Variables | |
NetworkGameList * | _network_game_list = nullptr |
Game list of this client. | |
int | _network_game_list_version = 0 |
Current version of all items in the list. | |
This file handles the GameList Also, it handles the request to a server for data about the server.
Definition in file network_gamelist.cpp.
NetworkGameList* NetworkGameListAddItem | ( | const std::string & | connection_string | ) |
Add a new item to the linked gamelist.
If the IP and Port match return the existing item instead of adding it again
connection_string | the address of the to-be added item |
Definition at line 32 of file network_gamelist.cpp.
References _network_game_list, _network_game_list_version, ServerAddress::connection_string, NetworkGameList::connection_string, NetworkServerGameInfo::gamescript_version, NetworkGameList::info, NETWORK_DEFAULT_PORT, NetworkGameList::next, ServerAddress::Parse(), UpdateNetworkGameWindow(), and NetworkGameList::version.
Referenced by QueryNetworkGameSocketHandler::CloseConnection(), NetworkAddServer(), NetworkQueryServer(), TCPQueryConnecter::OnFailure(), ClientNetworkCoordinatorSocketHandler::Receive_GC_LISTING(), QueryNetworkGameSocketHandler::Receive_SERVER_BANNED(), QueryNetworkGameSocketHandler::Receive_SERVER_ERROR(), QueryNetworkGameSocketHandler::Receive_SERVER_FULL(), and QueryNetworkGameSocketHandler::Receive_SERVER_GAME_INFO().
void NetworkGameListRemoveExpired | ( | ) |
Remove all servers that have not recently been updated.
Call this after you received all the servers from the Game Coordinator, so the ones that are no longer listed are removed.
Definition at line 92 of file network_gamelist.cpp.
References _network_game_list, _network_game_list_version, ClearGRFConfigList(), NetworkServerGameInfo::grfconfig, NetworkGameList::info, NetworkGameList::next, and UpdateNetworkGameWindow().
Referenced by ClientNetworkCoordinatorSocketHandler::Receive_GC_LISTING().
void NetworkGameListRemoveItem | ( | NetworkGameList * | remove | ) |
Remove an item from the gamelist linked list.
remove | pointer to the item to be removed |
Definition at line 64 of file network_gamelist.cpp.
References _network_game_list, ClearGRFConfigList(), NetworkServerGameInfo::grfconfig, NetworkGameList::info, and NetworkGameList::next.