OpenTTD Source 20241224-master-gf74b0cf984
network_gamelist.cpp File Reference

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

NetworkGameListNetworkGameListAddItem (const std::string &connection_string)
 Add a new item to the linked gamelist.
 
void NetworkGameListRemoveItem (NetworkGameList *remove)
 Remove an item from the gamelist linked list.
 
void NetworkGameListRemoveExpired ()
 Remove all servers that have not recently been updated.
 
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.
 

Detailed Description

This file handles the GameList Also, it handles the request to a server for data about the server.

Definition in file network_gamelist.cpp.

Function Documentation

◆ NetworkAfterNewGRFScan()

void NetworkAfterNewGRFScan ( )

Rebuild the GRFConfig's of the servers in the game list as we did a rescan and might have found new NewGRFs.

Definition at line 118 of file network_gamelist.cpp.

References _network_game_list, FGCM_EXACT, GRFConfig::filename, FindGRFConfig(), GCF_COPY, GCS_NOT_FOUND, GCS_UNKNOWN, HasBit(), GRFConfig::info, InvalidateWindowClassesData(), GRFConfig::name, NetworkGameList::next, and WC_NETWORK_WINDOW.

Referenced by DoScanNewGRFFiles().

◆ NetworkGameListAddItem()

◆ NetworkGameListRemoveExpired()

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().

◆ NetworkGameListRemoveItem()

void NetworkGameListRemoveItem ( NetworkGameList remove)

Remove an item from the gamelist linked list.

Parameters
removepointer to the item to be removed

Definition at line 64 of file network_gamelist.cpp.

References _network_game_list, ClearGRFConfigList(), NetworkServerGameInfo::grfconfig, NetworkGameList::info, NetworkGameList::next, and UpdateNetworkGameWindow().

Referenced by NetworkGameWindow::OnKeyPress().

Variable Documentation

◆ _network_game_list

◆ _network_game_list_version

int _network_game_list_version = 0