mirror of https://github.com/OpenTTD/OpenTTD
(svn r14714) -Codechange: only allocate the company network "state" variables (password/months not used) when needed, i.e. only for servers.
parent
4511739377
commit
a687667448
|
@ -36,8 +36,8 @@
|
||||||
#include "../settings_type.h"
|
#include "../settings_type.h"
|
||||||
#include "../landscape_type.h"
|
#include "../landscape_type.h"
|
||||||
#include "../rev.h"
|
#include "../rev.h"
|
||||||
#ifdef DEBUG_DUMP_COMMANDS
|
|
||||||
#include "../core/alloc_func.hpp"
|
#include "../core/alloc_func.hpp"
|
||||||
|
#ifdef DEBUG_DUMP_COMMANDS
|
||||||
#include "../fileio_func.h"
|
#include "../fileio_func.h"
|
||||||
#endif /* DEBUG_DUMP_COMMANDS */
|
#endif /* DEBUG_DUMP_COMMANDS */
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
@ -51,7 +51,7 @@ bool _network_dedicated; ///< are we a dedicated server?
|
||||||
bool _is_network_server; ///< Does this client wants to be a network-server?
|
bool _is_network_server; ///< Does this client wants to be a network-server?
|
||||||
NetworkServerGameInfo _network_game_info;
|
NetworkServerGameInfo _network_game_info;
|
||||||
NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
|
NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
|
||||||
NetworkCompanyState _network_company_states[MAX_COMPANIES];
|
NetworkCompanyState *_network_company_states = NULL;
|
||||||
ClientID _network_own_client_id;
|
ClientID _network_own_client_id;
|
||||||
ClientID _redirect_console_to_client;
|
ClientID _redirect_console_to_client;
|
||||||
bool _network_need_advertise;
|
bool _network_need_advertise;
|
||||||
|
@ -675,6 +675,9 @@ static void NetworkClose()
|
||||||
|
|
||||||
_networking = false;
|
_networking = false;
|
||||||
_network_server = false;
|
_network_server = false;
|
||||||
|
|
||||||
|
free(_network_company_states);
|
||||||
|
_network_company_states = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inits the network (cleans sockets and stuff)
|
// Inits the network (cleans sockets and stuff)
|
||||||
|
@ -691,7 +694,6 @@ static void NetworkInitialize()
|
||||||
|
|
||||||
// Clean the client_info memory
|
// Clean the client_info memory
|
||||||
memset(&_network_client_info, 0, sizeof(_network_client_info));
|
memset(&_network_client_info, 0, sizeof(_network_client_info));
|
||||||
memset(&_network_company_states, 0, sizeof(_network_company_states));
|
|
||||||
|
|
||||||
_sync_frame = 0;
|
_sync_frame = 0;
|
||||||
_network_first_time = true;
|
_network_first_time = true;
|
||||||
|
@ -709,11 +711,8 @@ void NetworkTCPQueryServer(const char* host, unsigned short port)
|
||||||
if (!_network_available) return;
|
if (!_network_available) return;
|
||||||
|
|
||||||
NetworkDisconnect();
|
NetworkDisconnect();
|
||||||
|
|
||||||
NetworkInitialize();
|
NetworkInitialize();
|
||||||
|
|
||||||
_network_server = false;
|
|
||||||
|
|
||||||
// Try to connect
|
// Try to connect
|
||||||
_networking = NetworkConnect(host, port);
|
_networking = NetworkConnect(host, port);
|
||||||
|
|
||||||
|
@ -836,6 +835,7 @@ bool NetworkServerStart()
|
||||||
_network_udp_server = true;
|
_network_udp_server = true;
|
||||||
_network_udp_server = _udp_server_socket->Listen(_network_server_bind_ip, _settings_client.network.server_port, false);
|
_network_udp_server = _udp_server_socket->Listen(_network_server_bind_ip, _settings_client.network.server_port, false);
|
||||||
|
|
||||||
|
_network_company_states = CallocT<NetworkCompanyState>(MAX_COMPANIES);
|
||||||
_network_server = true;
|
_network_server = true;
|
||||||
_networking = true;
|
_networking = true;
|
||||||
_frame_counter = 0;
|
_frame_counter = 0;
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
extern NetworkServerGameInfo _network_game_info;
|
extern NetworkServerGameInfo _network_game_info;
|
||||||
extern NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
|
extern NetworkClientInfo _network_client_info[MAX_CLIENT_INFO];
|
||||||
extern NetworkCompanyState _network_company_states[MAX_COMPANIES];
|
extern NetworkCompanyState *_network_company_states;
|
||||||
|
|
||||||
extern ClientID _network_own_client_id;
|
extern ClientID _network_own_client_id;
|
||||||
extern ClientID _redirect_console_to_client;
|
extern ClientID _redirect_console_to_client;
|
||||||
|
|
Loading…
Reference in New Issue