mirror of https://github.com/OpenTTD/OpenTTD
Codechange: [Network] Do not leak os_abstraction.h via network_func
parent
cf8c1aa860
commit
cbad518bf3
|
@ -900,7 +900,7 @@ DEF_CONSOLE_CMD(ConNetworkReconnect)
|
||||||
/* Don't resolve the address first, just print it directly as it comes from the config file. */
|
/* Don't resolve the address first, just print it directly as it comes from the config file. */
|
||||||
IConsolePrintF(CC_DEFAULT, "Reconnecting to %s:%d...", _settings_client.network.last_host, _settings_client.network.last_port);
|
IConsolePrintF(CC_DEFAULT, "Reconnecting to %s:%d...", _settings_client.network.last_host, _settings_client.network.last_port);
|
||||||
|
|
||||||
NetworkClientConnectGame(NetworkAddress(_settings_client.network.last_host, _settings_client.network.last_port), playas);
|
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port, playas);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -942,7 +942,7 @@ DEF_CONSOLE_CMD(ConNetworkConnect)
|
||||||
IConsolePrintF(CC_DEFAULT, " port: %s", port);
|
IConsolePrintF(CC_DEFAULT, " port: %s", port);
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkClientConnectGame(NetworkAddress(ip, rport), join_as);
|
NetworkClientConnectGame(ip, rport, join_as);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -688,16 +688,16 @@ public:
|
||||||
|
|
||||||
|
|
||||||
/* Used by clients, to connect to a server */
|
/* Used by clients, to connect to a server */
|
||||||
void NetworkClientConnectGame(NetworkAddress address, CompanyID join_as, const char *join_server_password, const char *join_company_password)
|
void NetworkClientConnectGame(const char *hostname, uint16 port, CompanyID join_as, const char *join_server_password, const char *join_company_password)
|
||||||
{
|
{
|
||||||
if (!_network_available) return;
|
if (!_network_available) return;
|
||||||
|
|
||||||
if (address.GetPort() == 0) return;
|
if (port == 0) return;
|
||||||
|
|
||||||
if (!NetworkValidateClientName()) return;
|
if (!NetworkValidateClientName()) return;
|
||||||
|
|
||||||
strecpy(_settings_client.network.last_host, address.GetHostname(), lastof(_settings_client.network.last_host));
|
strecpy(_settings_client.network.last_host, hostname, lastof(_settings_client.network.last_host));
|
||||||
_settings_client.network.last_port = address.GetPort();
|
_settings_client.network.last_port = port;
|
||||||
_network_join_as = join_as;
|
_network_join_as = join_as;
|
||||||
_network_join_server_password = join_server_password;
|
_network_join_server_password = join_server_password;
|
||||||
_network_join_company_password = join_company_password;
|
_network_join_company_password = join_company_password;
|
||||||
|
@ -708,7 +708,7 @@ void NetworkClientConnectGame(NetworkAddress address, CompanyID join_as, const c
|
||||||
_network_join_status = NETWORK_JOIN_STATUS_CONNECTING;
|
_network_join_status = NETWORK_JOIN_STATUS_CONNECTING;
|
||||||
ShowJoinStatusWindow();
|
ShowJoinStatusWindow();
|
||||||
|
|
||||||
new TCPClientConnecter(address);
|
new TCPClientConnecter(NetworkAddress(hostname, port));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void NetworkInitGameInfo()
|
static void NetworkInitGameInfo()
|
||||||
|
@ -1059,12 +1059,13 @@ static void NetworkGenerateServerId()
|
||||||
seprintf(_settings_client.network.network_id, lastof(_settings_client.network.network_id), "%s", hex_output);
|
seprintf(_settings_client.network.network_id, lastof(_settings_client.network.network_id), "%s", hex_output);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkStartDebugLog(NetworkAddress address)
|
void NetworkStartDebugLog(const char *hostname, uint16 port)
|
||||||
{
|
{
|
||||||
extern SOCKET _debug_socket; // Comes from debug.c
|
extern SOCKET _debug_socket; // Comes from debug.c
|
||||||
|
|
||||||
DEBUG(net, 0, "Redirecting DEBUG() to %s:%d", address.GetHostname(), address.GetPort());
|
DEBUG(net, 0, "Redirecting DEBUG() to %s:%d", hostname, port);
|
||||||
|
|
||||||
|
NetworkAddress address(hostname, port);
|
||||||
SOCKET s = address.Connect();
|
SOCKET s = address.Connect();
|
||||||
if (s == INVALID_SOCKET) {
|
if (s == INVALID_SOCKET) {
|
||||||
DEBUG(net, 0, "Failed to open socket for redirection DEBUG()");
|
DEBUG(net, 0, "Failed to open socket for redirection DEBUG()");
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
// #define DEBUG_DUMP_COMMANDS
|
// #define DEBUG_DUMP_COMMANDS
|
||||||
// #define DEBUG_FAILED_DUMP_COMMANDS
|
// #define DEBUG_FAILED_DUMP_COMMANDS
|
||||||
|
|
||||||
#include "core/address.h"
|
|
||||||
#include "network_type.h"
|
#include "network_type.h"
|
||||||
#include "../console_type.h"
|
#include "../console_type.h"
|
||||||
#include "../gfx_type.h"
|
#include "../gfx_type.h"
|
||||||
|
@ -48,12 +47,12 @@ void NetworkGameLoop();
|
||||||
void NetworkBackgroundLoop();
|
void NetworkBackgroundLoop();
|
||||||
void ParseConnectionString(const char **port, char *connection_string);
|
void ParseConnectionString(const char **port, char *connection_string);
|
||||||
void ParseGameConnectionString(const char **company, const char **port, char *connection_string);
|
void ParseGameConnectionString(const char **company, const char **port, char *connection_string);
|
||||||
void NetworkStartDebugLog(NetworkAddress address);
|
void NetworkStartDebugLog(const char *hostname, uint16 port);
|
||||||
void NetworkPopulateCompanyStats(NetworkCompanyStats *stats);
|
void NetworkPopulateCompanyStats(NetworkCompanyStats *stats);
|
||||||
|
|
||||||
void NetworkUpdateClientInfo(ClientID client_id);
|
void NetworkUpdateClientInfo(ClientID client_id);
|
||||||
void NetworkClientsToSpectators(CompanyID cid);
|
void NetworkClientsToSpectators(CompanyID cid);
|
||||||
void NetworkClientConnectGame(NetworkAddress address, CompanyID join_as, const char *join_server_password = nullptr, const char *join_company_password = nullptr);
|
void NetworkClientConnectGame(const char *hostname, uint16 port, CompanyID join_as, const char *join_server_password = nullptr, const char *join_company_password = nullptr);
|
||||||
void NetworkClientRequestMove(CompanyID company, const char *pass = "");
|
void NetworkClientRequestMove(CompanyID company, const char *pass = "");
|
||||||
void NetworkClientSendRcon(const char *password, const char *command);
|
void NetworkClientSendRcon(const char *password, const char *command);
|
||||||
void NetworkClientSendChat(NetworkAction action, DestType type, int dest, const char *msg, int64 data = 0);
|
void NetworkClientSendChat(NetworkAction action, DestType type, int dest, const char *msg, int64 data = 0);
|
||||||
|
|
|
@ -1470,15 +1470,15 @@ struct NetworkLobbyWindow : public Window {
|
||||||
|
|
||||||
case WID_NL_JOIN: // Join company
|
case WID_NL_JOIN: // Join company
|
||||||
/* Button can be clicked only when it is enabled. */
|
/* Button can be clicked only when it is enabled. */
|
||||||
NetworkClientConnectGame(NetworkAddress(_settings_client.network.last_host, _settings_client.network.last_port), this->company);
|
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port, this->company);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WID_NL_NEW: // New company
|
case WID_NL_NEW: // New company
|
||||||
NetworkClientConnectGame(NetworkAddress(_settings_client.network.last_host, _settings_client.network.last_port), COMPANY_NEW_COMPANY);
|
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port, COMPANY_NEW_COMPANY);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WID_NL_SPECTATE: // Spectate game
|
case WID_NL_SPECTATE: // Spectate game
|
||||||
NetworkClientConnectGame(NetworkAddress(_settings_client.network.last_host, _settings_client.network.last_port), COMPANY_SPECTATOR);
|
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port, COMPANY_SPECTATOR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WID_NL_REFRESH: // Refresh
|
case WID_NL_REFRESH: // Refresh
|
||||||
|
|
|
@ -495,7 +495,7 @@ struct AfterNewGRFScan : NewGRFScanCallback {
|
||||||
|
|
||||||
LoadIntroGame();
|
LoadIntroGame();
|
||||||
_switch_mode = SM_NONE;
|
_switch_mode = SM_NONE;
|
||||||
NetworkClientConnectGame(NetworkAddress(network_conn, rport), join_as, join_server_password, join_company_password);
|
NetworkClientConnectGame(network_conn, rport, join_as, join_server_password, join_company_password);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* After the scan we're not used anymore. */
|
/* After the scan we're not used anymore. */
|
||||||
|
@ -779,7 +779,7 @@ int openttd_main(int argc, char *argv[])
|
||||||
ParseConnectionString(&port, debuglog_conn);
|
ParseConnectionString(&port, debuglog_conn);
|
||||||
if (port != nullptr) rport = atoi(port);
|
if (port != nullptr) rport = atoi(port);
|
||||||
|
|
||||||
NetworkStartDebugLog(NetworkAddress(debuglog_conn, rport));
|
NetworkStartDebugLog(debuglog_conn, rport);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!HandleBootstrap()) {
|
if (!HandleBootstrap()) {
|
||||||
|
@ -1491,7 +1491,7 @@ void GameLoop()
|
||||||
if (_network_reconnect > 0 && --_network_reconnect == 0) {
|
if (_network_reconnect > 0 && --_network_reconnect == 0) {
|
||||||
/* This means that we want to reconnect to the last host
|
/* This means that we want to reconnect to the last host
|
||||||
* We do this here, because it means that the network is really closed */
|
* We do this here, because it means that the network is really closed */
|
||||||
NetworkClientConnectGame(NetworkAddress(_settings_client.network.last_host, _settings_client.network.last_port), COMPANY_SPECTATOR);
|
NetworkClientConnectGame(_settings_client.network.last_host, _settings_client.network.last_port, COMPANY_SPECTATOR);
|
||||||
}
|
}
|
||||||
/* Singleplayer */
|
/* Singleplayer */
|
||||||
StateGameLoop();
|
StateGameLoop();
|
||||||
|
|
Loading…
Reference in New Issue