OpenTTD Source: src/network/network_gui.cpp File Reference

OpenTTD Source 15.0-beta1

Data Structures | Typedefs | Enumerations | Functions | Variables
network_gui.cpp File Reference

Implementation of the Network related GUIs. More...

`#include "../stdafx.h"`
`#include "../strings_func.h"`
`#include "../fios.h"`
`#include "network_client.h"`
`#include "network_gui.h"`
`#include "network_gamelist.h"`
`#include "network.h"`
`#include "network_base.h"`
`#include "network_content.h"`
`#include "network_server.h"`
`#include "network_coordinator.h"`
`#include "network_survey.h"`
`#include "../gui.h"`
`#include "network_udp.h"`
`#include "../window_func.h"`
`#include "../gfx_func.h"`
`#include "../dropdown_type.h"`
`#include "../dropdown_func.h"`
`#include "../querystring_gui.h"`
`#include "../sortlist_type.h"`
`#include "../company_func.h"`
`#include "../command_func.h"`
`#include "../core/geometry_func.hpp"`
`#include "../genworld.h"`
`#include "../map_type.h"`
`#include "../zoom_func.h"`
`#include "../sprite.h"`
`#include "../settings_internal.h"`
`#include "../company_cmd.h"`
`#include "../timer/timer.h"`
`#include "../timer/timer_window.h"`
`#include "../timer/timer_game_calendar.h"`
`#include "../textfile_gui.h"`
`#include "../widgets/network_widget.h"`
`#include "table/strings.h"`
`#include "../table/sprites.h"`
`#include "../stringfilter_type.h"`
`#include "../safeguards.h"`

Go to the source code of this file.

## Data Structures
class | NWidgetServerListHeader
| Full blown container to make it behave exactly as we want :) More...
class | NetworkGameWindow
struct | NetworkStartServerWindow
class | ButtonCommon
| Button shown for either a company or client in the client-list. More...
class | Button< T >
| Template version of Button, with callback support. More...
struct | NetworkClientListWindow
| Main handle for clientlist. More...
struct | NetworkJoinStatusWindow
struct | NetworkAskRelayWindow
| Window used for asking the user if he is okay using a relay server. More...
struct | NetworkAskSurveyWindow
| Window used for asking if the user wants to participate in the automated survey. More...
struct | SurveyResultTextfileWindow
| Window for displaying the textfile of a survey result. More...

## Typedefs
typedef GUIList< NetworkGameList *, std::nullptr_t, StringFilter & > | GUIGameServerList
typedef int | ServerListPosition
using | CompanyButton = Button< CompanyID >
using | ClientButton = Button< ClientID >

## Enumerations
enum | DropDownAdmin { DD_CLIENT_ADMIN_KICK , DD_CLIENT_ADMIN_BAN , DD_COMPANY_ADMIN_RESET }
| The possibly entries in a DropDown for an admin. More...

## Functions
static void | ShowNetworkStartServerWindow ()
void | UpdateNetworkGameWindow ()
| Update the network new window because a new server is found on the network.
static DropDownList | BuildVisibilityDropDownList ()
static std::unique_ptr< NWidgetBase > | MakeResizableHeader ()
void | ShowNetworkGameWindow ()
void | DrawCompanyIcon (CompanyID cid, int x, int y)
| Draw the icon of a company.
static void | AdminClientKickCallback (Window *, bool confirmed)
| Callback function for admin command to kick client.
static void | AdminClientBanCallback (Window *, bool confirmed)
| Callback function for admin command to ban client.
static void | AdminCompanyResetCallback (Window *, bool confirmed)
| Callback function for admin command to reset company.
void | ShowClientList ()
void | ShowJoinStatusWindow ()
void | ShowNetworkNeedPassword (std::shared_ptr< NetworkAuthenticationPasswordRequest > request)
void | ShowNetworkAskRelay (const std::string &server_connection_string, const std::string &relay_connection_string, const std::string &token)
| Show a modal confirmation window with "no" / "yes, once" / "yes, always" buttons.
void | ShowNetworkAskSurvey ()
| Show a modal confirmation window with "no" / "preview" / "yes" buttons.
void | ShowSurveyResultTextfileWindow ()

## Variables
static ClientID | _admin_client_id = INVALID_CLIENT_ID
| For what client a confirmation window is open.
static CompanyID | _admin_company_id = INVALID_COMPANY
| For what company a confirmation window is open.
static const ServerListPosition | SLP_INVALID = -1
static constexpr NWidgetPart | _nested_network_game_widgets []
static WindowDesc | _network_game_window_desc (WDP_CENTER, "list_servers", 1000, 730, WC_NETWORK_WINDOW, WC_NONE, 0, _nested_network_game_widgets)
static constexpr NWidgetPart | _nested_network_start_server_window_widgets []
static WindowDesc | _network_start_server_window_desc (WDP_CENTER, nullptr, 0, 0, WC_NETWORK_WINDOW, WC_NONE, 0, _nested_network_start_server_window_widgets)
static constexpr NWidgetPart | _nested_client_list_widgets []
static WindowDesc | _client_list_desc (WDP_AUTO, "list_clients", 220, 300, WC_CLIENT_LIST, WC_NONE, 0, _nested_client_list_widgets)
NetworkJoinStatus | _network_join_status
| The status of joining.
uint8_t | _network_join_waiting
| The number of clients waiting in front of us.
uint32_t | _network_join_bytes
| The number of bytes we already downloaded.
uint32_t | _network_join_bytes_total
| The total number of bytes to download.
static constexpr NWidgetPart | _nested_network_join_status_window_widgets []
static WindowDesc | _network_join_status_window_desc (WDP_CENTER, nullptr, 0, 0, WC_NETWORK_STATUS_WINDOW, WC_NONE, WDF_MODAL, _nested_network_join_status_window_widgets)
static constexpr NWidgetPart | _nested_network_ask_relay_widgets []
static WindowDesc | _network_ask_relay_desc (WDP_CENTER, nullptr, 0, 0, WC_NETWORK_ASK_RELAY, WC_NONE, WDF_MODAL, _nested_network_ask_relay_widgets)
static constexpr NWidgetPart | _nested_network_ask_survey_widgets []
static WindowDesc | _network_ask_survey_desc (WDP_CENTER, nullptr, 0, 0, WC_NETWORK_ASK_SURVEY, WC_NONE, WDF_MODAL, _nested_network_ask_survey_widgets)

## Detailed Description

Implementation of the Network related GUIs.

Definition in file network_gui.cpp.

## Typedef Documentation

## ◆ ClientButton

using ClientButton = Button<ClientID>

Definition at line 1415 of file network_gui.cpp.

## ◆ CompanyButton

using CompanyButton = Button<CompanyID>

Definition at line 1414 of file network_gui.cpp.

## ◆ GUIGameServerList

typedef GUIList<NetworkGameList*, std::nullptr_t, StringFilter&> GUIGameServerList

Definition at line 82 of file network_gui.cpp.

## ◆ ServerListPosition

typedef int ServerListPosition

Definition at line 83 of file network_gui.cpp.

## Enumeration Type Documentation

## ◆ DropDownAdmin

enum DropDownAdmin

The possibly entries in a DropDown for an admin.

Client and companies are mixed; they just have to be unique.

Definition at line 1317 of file network_gui.cpp.

## Function Documentation

## ◆ AdminClientBanCallback()

static void AdminClientBanCallback | ( | Window * | ,
|  | bool | confirmed
| ) |  |
| static

Callback function for admin command to ban client.

Parameters

  confirmed | Iff the user pressed Yes.

Definition at line 1336 of file network_gui.cpp.

References _admin_client_id, and NetworkServerKickOrBanIP().

Referenced by NetworkClientListWindow::OnDropdownSelect().

## ◆ AdminClientKickCallback()

static void AdminClientKickCallback | ( | Window * | ,
|  | bool | confirmed
| ) |  |
| static

Callback function for admin command to kick client.

Parameters

  confirmed | Iff the user pressed Yes.

Definition at line 1327 of file network_gui.cpp.

References _admin_client_id, and NetworkServerKickClient().

Referenced by NetworkClientListWindow::OnDropdownSelect().

## ◆ AdminCompanyResetCallback()

static void AdminCompanyResetCallback | ( | Window * | ,
|  | bool | confirmed
| ) |  |
| static

Callback function for admin command to reset company.

Parameters

  confirmed | Iff the user pressed Yes.

Definition at line 1345 of file network_gui.cpp.

References _admin_company_id, CCA_DELETE, CRR_MANUAL, INVALID_CLIENT_ID, and NetworkCompanyHasClients().

Referenced by NetworkClientListWindow::OnDropdownSelect().

## ◆ BuildVisibilityDropDownList()

static DropDownList BuildVisibilityDropDownList | ( |  | ) |
| static

Definition at line 71 of file network_gui.cpp.

## ◆ DrawCompanyIcon()

void DrawCompanyIcon | ( | CompanyID | c,
|  | int | x,
|  | int | y
| ) |  |
| extern

Draw the icon of a company.

Parameters

  c | Company that needs its icon drawn.
  x | Horizontal coordinate of the icon.
  y | Vertical coordinate of the icon.

Definition at line 161 of file company_cmd.cpp.

References DrawSprite().

Referenced by NetworkClientListWindow::DrawCompany(), TownAuthorityWindow::DrawRatings(), CheatWindow::DrawWidget(), GraphLegendWindow::DrawWidget(), PerformanceRatingDetailWindow::DrawWidget(), PerformanceLeagueWindow::DrawWidget(), ScriptLeagueWindow::DrawWidget(), LinkGraphLegendWindow::DrawWidget(), SignListWindow::DrawWidget(), and ScriptDebugWindow::DrawWidgetCompanyButton().

## ◆ MakeResizableHeader()

static std::unique_ptr< NWidgetBase > MakeResizableHeader | ( |  | ) |
| static

Definition at line 882 of file network_gui.cpp.

## ◆ ShowClientList()

void ShowClientList | ( |  | ) |

Definition at line 2074 of file network_gui.cpp.

## ◆ ShowJoinStatusWindow()

void ShowJoinStatusWindow | ( |  | ) |

Definition at line 2208 of file network_gui.cpp.

## ◆ ShowNetworkAskRelay()

void ShowNetworkAskRelay | ( | const std::string & | server_connection_string,
|  | const std::string & | relay_connection_string,
|  | const std::string & | token
| ) |  |

Show a modal confirmation window with "no" / "yes, once" / "yes, always" buttons.

Parameters

  server_connection_string | The game server we want to connect to.
  relay_connection_string | The relay server we want to connect to.
  token | The token for this connection.

Definition at line 2331 of file network_gui.cpp.

References CloseWindowByClass(), GetMainWindow(), NRWCD_HANDLED, and WC_NETWORK_ASK_RELAY.

Referenced by ClientNetworkCoordinatorSocketHandler::Receive_GC_TURN_CONNECT().

## ◆ ShowNetworkAskSurvey()

void ShowNetworkAskSurvey | ( |  | ) |

Show a modal confirmation window with "no" / "preview" / "yes" buttons.

Definition at line 2426 of file network_gui.cpp.

References CloseWindowByClass(), GetMainWindow(), and WC_NETWORK_ASK_SURVEY.

## ◆ ShowNetworkGameWindow()

void ShowNetworkGameWindow | ( |  | ) |

Definition at line 972 of file network_gui.cpp.

## ◆ ShowNetworkNeedPassword()

void ShowNetworkNeedPassword | ( | std::shared_ptr< NetworkAuthenticationPasswordRequest > | request | ) |

Definition at line 2214 of file network_gui.cpp.

## ◆ ShowNetworkStartServerWindow()

static void ShowNetworkStartServerWindow | ( |  | ) |
| static

Definition at line 1239 of file network_gui.cpp.

## ◆ ShowSurveyResultTextfileWindow()

void ShowSurveyResultTextfileWindow | ( |  | ) |

Definition at line 2451 of file network_gui.cpp.

## ◆ UpdateNetworkGameWindow()

void UpdateNetworkGameWindow | ( |  | ) |

Update the network new window because a new server is found on the network.

Definition at line 66 of file network_gui.cpp.

References InvalidateWindowData(), WC_NETWORK_WINDOW, and WN_NETWORK_WINDOW_GAME.

Referenced by QueryNetworkGameSocketHandler::CloseConnection(), NetworkAddServer(), NetworkGameListAddItem(), NetworkGameListRemoveExpired(), NetworkGameListRemoveItem(), TCPQueryConnecter::OnFailure(), ClientNetworkCoordinatorSocketHandler::Receive_GC_ERROR(), ClientNetworkCoordinatorSocketHandler::Receive_GC_LISTING(), QueryNetworkGameSocketHandler::Receive_SERVER_BANNED(), QueryNetworkGameSocketHandler::Receive_SERVER_ERROR(), QueryNetworkGameSocketHandler::Receive_SERVER_FULL(), and QueryNetworkGameSocketHandler::Receive_SERVER_GAME_INFO().

## Variable Documentation

## ◆ _admin_client_id

ClientID _admin_client_id = INVALID_CLIENT_ID
| static

For what client a confirmation window is open.

Definition at line 59 of file network_gui.cpp.

Referenced by AdminClientBanCallback(), AdminClientKickCallback(), and NetworkClientListWindow::OnDropdownSelect().

## ◆ _admin_company_id

CompanyID _admin_company_id = INVALID_COMPANY
| static

For what company a confirmation window is open.

Definition at line 60 of file network_gui.cpp.

Referenced by AdminCompanyResetCallback(), and NetworkClientListWindow::OnDropdownSelect().

## ◆ _nested_client_list_widgets

constexpr NWidgetPart _nested_client_list_widgets[]
| staticconstexpr

Definition at line 1253 of file network_gui.cpp.

## ◆ _nested_network_ask_relay_widgets

constexpr NWidgetPart _nested_network_ask_relay_widgets[]
| staticconstexpr

Initial value:
= {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_RED),
NWidget(WWT_CAPTION, COLOUR_RED, WID_NAR_CAPTION), SetDataTip(STR_NETWORK_ASK_RELAY_CAPTION, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_RED),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.modalpopup),
NWidget(WWT_TEXT, COLOUR_RED, WID_NAR_TEXT), SetAlignment(SA_HOR_CENTER), SetFill(1, 1),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NAR_NO), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_NETWORK_ASK_RELAY_NO, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NAR_YES_ONCE), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_NETWORK_ASK_RELAY_YES_ONCE, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_NAR_YES_ALWAYS), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_NETWORK_ASK_RELAY_YES_ALWAYS, STR_NULL),
EndContainer(),
EndContainer(),
EndContainer(),
}
WidgetDimensions::unscaled
static const WidgetDimensions unscaled
Unscaled widget dimensions.
Definition window_gui.h:96
SA_HOR_CENTER
@ SA_HOR_CENTER
Horizontally center the text.
Definition gfx_type.h:344
SetFill
constexpr NWidgetPart SetFill(uint16_t fill_x, uint16_t fill_y)
Widget part function for setting filling.
Definition widget_type.h:1181
SetPIP
constexpr NWidgetPart SetPIP(uint8_t pre, uint8_t inter, uint8_t post)
Widget part function for setting a pre/inter/post spaces.
Definition widget_type.h:1271
SetPadding
constexpr NWidgetPart SetPadding(uint8_t top, uint8_t right, uint8_t bottom, uint8_t left)
Widget part function for setting additional space around a widget.
Definition widget_type.h:1228
SetDataTip
constexpr NWidgetPart SetDataTip(uint32_t data, StringID tip)
Widget part function for setting the data and tooltip.
Definition widget_type.h:1202
SetMinimalSize
constexpr NWidgetPart SetMinimalSize(int16_t x, int16_t y)
Widget part function for setting the minimal size.
Definition widget_type.h:1137
NWidget
constexpr NWidgetPart NWidget(WidgetType tp, Colours col, WidgetID idx=-1)
Widget part function for starting a new 'real' widget.
Definition widget_type.h:1320
EndContainer
constexpr NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME,...
Definition widget_type.h:1191
SetAlignment
constexpr NWidgetPart SetAlignment(StringAlignment align)
Widget part function for setting the alignment of text/images.
Definition widget_type.h:1170
WID_NAR_YES_ALWAYS
@ WID_NAR_YES_ALWAYS
"Yes, always" button.
Definition network_widget.h:105
WID_NAR_TEXT
@ WID_NAR_TEXT
Text in the window.
Definition network_widget.h:102
WID_NAR_YES_ONCE
@ WID_NAR_YES_ONCE
"Yes, once" button.
Definition network_widget.h:104
WID_NAR_NO
@ WID_NAR_NO
"No" button.
Definition network_widget.h:103
WID_NAR_CAPTION
@ WID_NAR_CAPTION
Caption of the window.
Definition network_widget.h:101
NC_EQUALSIZE
@ NC_EQUALSIZE
Value of the NCB_EQUALSIZE flag.
Definition widget_type.h:524
WWT_PUSHTXTBTN
@ WWT_PUSHTXTBTN
Normal push-button (no toggle button) with text caption.
Definition widget_type.h:113
NWID_HORIZONTAL
@ NWID_HORIZONTAL
Horizontal container.
Definition widget_type.h:75
WWT_PANEL
@ WWT_PANEL
Simple depressed panel.
Definition widget_type.h:50
WWT_CAPTION
@ WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition widget_type.h:61
NWID_VERTICAL
@ NWID_VERTICAL
Vertical container.
Definition widget_type.h:77
WWT_CLOSEBOX
@ WWT_CLOSEBOX
Close box (at top-left of a window)
Definition widget_type.h:69
WWT_TEXT
@ WWT_TEXT
Pure simple text.
Definition widget_type.h:58

Definition at line 2301 of file network_gui.cpp.

## ◆ _nested_network_ask_survey_widgets

constexpr NWidgetPart _nested_network_ask_survey_widgets[]
| staticconstexpr

Initial value:
= {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
NWidget(WWT_CAPTION, COLOUR_GREY, WID_NAS_CAPTION), SetDataTip(STR_NETWORK_ASK_SURVEY_CAPTION, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.modalpopup),
NWidget(WWT_TEXT, COLOUR_GREY, WID_NAS_TEXT), SetAlignment(SA_HOR_CENTER), SetFill(1, 1),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NAS_PREVIEW), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_NETWORK_ASK_SURVEY_PREVIEW, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NAS_LINK), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_NETWORK_ASK_SURVEY_LINK, STR_NULL),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(0, WidgetDimensions::unscaled.hsep_wide, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_NAS_NO), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_NETWORK_ASK_SURVEY_NO, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_NAS_YES), SetMinimalSize(71, 12), SetFill(1, 1), SetDataTip(STR_NETWORK_ASK_SURVEY_YES, STR_NULL),
EndContainer(),
EndContainer(),
EndContainer(),
}
WID_NAS_YES
@ WID_NAS_YES
"Yes" button.
Definition network_widget.h:115
WID_NAS_LINK
@ WID_NAS_LINK
"Details & Privacy" button.
Definition network_widget.h:113
WID_NAS_TEXT
@ WID_NAS_TEXT
Text in the window.
Definition network_widget.h:111
WID_NAS_CAPTION
@ WID_NAS_CAPTION
Caption of the window.
Definition network_widget.h:110
WID_NAS_NO
@ WID_NAS_NO
"No" button.
Definition network_widget.h:114
WID_NAS_PREVIEW
@ WID_NAS_PREVIEW
"Preview" button.
Definition network_widget.h:112

Definition at line 2396 of file network_gui.cpp.

## ◆ _nested_network_game_widgets

constexpr NWidgetPart _nested_network_game_widgets[]
| staticconstexpr

Definition at line 887 of file network_gui.cpp.

## ◆ _nested_network_join_status_window_widgets

constexpr NWidgetPart _nested_network_join_status_window_widgets[]
| staticconstexpr

Initial value:
= {
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_NETWORK_CONNECTING_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_wide, 0), SetPadding(WidgetDimensions::unscaled.modalpopup),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NJS_PROGRESS_BAR), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NJS_PROGRESS_TEXT), SetFill(1, 0), SetMinimalSize(350, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NJS_CANCELOK), SetMinimalSize(101, 12), SetDataTip(STR_NETWORK_CONNECTION_DISCONNECT, STR_NULL), SetFill(1, 0),
EndContainer(),
EndContainer(),
}
WID_NJS_PROGRESS_BAR
@ WID_NJS_PROGRESS_BAR
Simple progress bar.
Definition network_widget.h:94
WID_NJS_PROGRESS_TEXT
@ WID_NJS_PROGRESS_TEXT
Text explaining what is happening.
Definition network_widget.h:95
WID_NJS_CANCELOK
@ WID_NJS_CANCELOK
Cancel / OK button.
Definition network_widget.h:96
WWT_EMPTY
@ WWT_EMPTY
Empty widget, place holder to reserve space in widget tree.
Definition widget_type.h:48

Definition at line 2190 of file network_gui.cpp.

## ◆ _nested_network_start_server_window_widgets

constexpr NWidgetPart _nested_network_start_server_window_widgets[]
| staticconstexpr

Definition at line 1165 of file network_gui.cpp.

## ◆ _network_join_bytes

uint32_t _network_join_bytes

The number of bytes we already downloaded.

Definition at line 2081 of file network_gui.cpp.

Referenced by NetworkJoinStatusWindow::DrawWidget(), ClientNetworkGameSocketHandler::Receive_SERVER_MAP_BEGIN(), and ClientNetworkGameSocketHandler::Receive_SERVER_MAP_DATA().

## ◆ _network_join_bytes_total

uint32_t _network_join_bytes_total

The total number of bytes to download.

Definition at line 2082 of file network_gui.cpp.

Referenced by NetworkJoinStatusWindow::DrawWidget(), ClientNetworkGameSocketHandler::Receive_SERVER_MAP_BEGIN(), and ClientNetworkGameSocketHandler::Receive_SERVER_MAP_SIZE().

## ◆ _network_join_status

NetworkJoinStatus _network_join_status

The status of joining.

Definition at line 2079 of file network_gui.cpp.

Referenced by NetworkJoinStatusWindow::DrawWidget(), NetworkClientJoinGame(), ClientNetworkGameSocketHandler::Receive_SERVER_MAP_BEGIN(), ClientNetworkGameSocketHandler::Receive_SERVER_MAP_DONE(), ClientNetworkGameSocketHandler::Receive_SERVER_WAIT(), and ClientNetworkGameSocketHandler::SendJoin().

## ◆ _network_join_waiting

uint8_t _network_join_waiting

The number of clients waiting in front of us.

Definition at line 2080 of file network_gui.cpp.

Referenced by NetworkJoinStatusWindow::DrawWidget(), and ClientNetworkGameSocketHandler::Receive_SERVER_WAIT().

## ◆ SLP_INVALID

const ServerListPosition SLP_INVALID = -1
| static

Definition at line 84 of file network_gui.cpp.