mirror of https://github.com/OpenTTD/OpenTTD
(svn r20934) -Codechange: move NetworkGetClientName to the server's socket
parent
f555e6d72e
commit
bda26d03b5
|
@ -137,19 +137,6 @@ NetworkClientSocket *NetworkFindClientStateFromClientID(ClientID client_id)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NetworkGetClientName is a server-safe function to get the name of the client
|
|
||||||
* if the user did not send it yet, Client #<no> is used. */
|
|
||||||
void NetworkGetClientName(char *client_name, size_t size, const NetworkClientSocket *cs)
|
|
||||||
{
|
|
||||||
const NetworkClientInfo *ci = cs->GetInfo();
|
|
||||||
|
|
||||||
if (StrEmpty(ci->client_name)) {
|
|
||||||
snprintf(client_name, size, "Client #%4d", cs->client_id);
|
|
||||||
} else {
|
|
||||||
ttd_strlcpy(client_name, ci->client_name, size);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
byte NetworkSpectatorCount()
|
byte NetworkSpectatorCount()
|
||||||
{
|
{
|
||||||
const NetworkClientInfo *ci;
|
const NetworkClientInfo *ci;
|
||||||
|
|
|
@ -168,7 +168,6 @@ void NetworkSyncCommandQueue(NetworkClientSocket *cs);
|
||||||
/* from network.c */
|
/* from network.c */
|
||||||
void NetworkError(StringID error_string);
|
void NetworkError(StringID error_string);
|
||||||
void NetworkTextMessage(NetworkAction action, ConsoleColour colour, bool self_send, const char *name, const char *str = "", int64 data = 0);
|
void NetworkTextMessage(NetworkAction action, ConsoleColour colour, bool self_send, const char *name, const char *str = "", int64 data = 0);
|
||||||
void NetworkGetClientName(char *clientname, size_t size, const NetworkClientSocket *cs);
|
|
||||||
uint NetworkCalculateLag(const NetworkClientSocket *cs);
|
uint NetworkCalculateLag(const NetworkClientSocket *cs);
|
||||||
NetworkClientSocket *NetworkFindClientStateFromClientID(ClientID client_id);
|
NetworkClientSocket *NetworkFindClientStateFromClientID(ClientID client_id);
|
||||||
StringID GetNetworkErrorMsg(NetworkErrorCode err);
|
StringID GetNetworkErrorMsg(NetworkErrorCode err);
|
||||||
|
|
|
@ -80,7 +80,7 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::CloseConnection(NetworkRecvSta
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
NetworkClientSocket *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), this);
|
this->GetClientName(client_name, sizeof(client_name));
|
||||||
|
|
||||||
NetworkTextMessage(NETWORK_ACTION_LEAVE, CC_DEFAULT, false, client_name, NULL, STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST);
|
NetworkTextMessage(NETWORK_ACTION_LEAVE, CC_DEFAULT, false, client_name, NULL, STR_NETWORK_ERROR_CLIENT_CONNECTION_LOST);
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_COMPANY_INFO)
|
||||||
FOR_ALL_CLIENT_SOCKETS(csi) {
|
FOR_ALL_CLIENT_SOCKETS(csi) {
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), csi);
|
((ServerNetworkGameSocketHandler*)csi)->GetClientName(client_name, sizeof(client_name));
|
||||||
|
|
||||||
ci = csi->GetInfo();
|
ci = csi->GetInfo();
|
||||||
if (ci != NULL && Company::IsValidID(ci->client_playas)) {
|
if (ci != NULL && Company::IsValidID(ci->client_playas)) {
|
||||||
|
@ -229,7 +229,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkClientSocket *cs, Netw
|
||||||
NetworkClientSocket *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), cs);
|
((ServerNetworkGameSocketHandler*)cs)->GetClientName(client_name, sizeof(client_name));
|
||||||
|
|
||||||
DEBUG(net, 1, "'%s' made an error and has been disconnected. Reason: '%s'", client_name, str);
|
DEBUG(net, 1, "'%s' made an error and has been disconnected. Reason: '%s'", client_name, str);
|
||||||
|
|
||||||
|
@ -923,7 +923,7 @@ DEF_GAME_RECEIVE_COMMAND(Server, PACKET_CLIENT_MAP_OK)
|
||||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||||
NetworkClientSocket *new_cs;
|
NetworkClientSocket *new_cs;
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), this);
|
this->GetClientName(client_name, sizeof(client_name));
|
||||||
|
|
||||||
NetworkTextMessage(NETWORK_ACTION_JOIN, CC_DEFAULT, false, client_name, NULL, this->client_id);
|
NetworkTextMessage(NETWORK_ACTION_JOIN, CC_DEFAULT, false, client_name, NULL, this->client_id);
|
||||||
|
|
||||||
|
@ -1039,7 +1039,7 @@ DEF_GAME_RECEIVE_COMMAND(Server, PACKET_CLIENT_ERROR)
|
||||||
return this->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST);
|
return this->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST);
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), this);
|
this->GetClientName(client_name, sizeof(client_name));
|
||||||
|
|
||||||
StringID strid = GetNetworkErrorMsg(errorno);
|
StringID strid = GetNetworkErrorMsg(errorno);
|
||||||
GetString(str, strid, lastof(str));
|
GetString(str, strid, lastof(str));
|
||||||
|
@ -1069,7 +1069,7 @@ DEF_GAME_RECEIVE_COMMAND(Server, PACKET_CLIENT_QUIT)
|
||||||
return this->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST);
|
return this->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST);
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkGetClientName(client_name, sizeof(client_name), this);
|
this->GetClientName(client_name, sizeof(client_name));
|
||||||
|
|
||||||
NetworkTextMessage(NETWORK_ACTION_LEAVE, CC_DEFAULT, false, client_name, NULL, STR_NETWORK_MESSAGE_CLIENT_LEAVING);
|
NetworkTextMessage(NETWORK_ACTION_LEAVE, CC_DEFAULT, false, client_name, NULL, STR_NETWORK_MESSAGE_CLIENT_LEAVING);
|
||||||
|
|
||||||
|
@ -1810,4 +1810,21 @@ bool NetworkCompanyHasClients(CompanyID company)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the name of the client, if the user did not send it yet, Client #<no> is used.
|
||||||
|
* @param client_name The variable to write the name to.
|
||||||
|
* @param size The amount of bytes we can write.
|
||||||
|
*/
|
||||||
|
void ServerNetworkGameSocketHandler::GetClientName(char *client_name, size_t size) const
|
||||||
|
{
|
||||||
|
const NetworkClientInfo *ci = this->GetInfo();
|
||||||
|
|
||||||
|
if (StrEmpty(ci->client_name)) {
|
||||||
|
snprintf(client_name, size, "Client #%4d", this->client_id);
|
||||||
|
} else {
|
||||||
|
ttd_strlcpy(client_name, ci->client_name, size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* ENABLE_NETWORK */
|
#endif /* ENABLE_NETWORK */
|
||||||
|
|
|
@ -40,6 +40,7 @@ public:
|
||||||
~ServerNetworkGameSocketHandler();
|
~ServerNetworkGameSocketHandler();
|
||||||
|
|
||||||
NetworkRecvStatus CloseConnection(NetworkRecvStatus status);
|
NetworkRecvStatus CloseConnection(NetworkRecvStatus status);
|
||||||
|
void GetClientName(char *client_name, size_t size) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP);
|
DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP);
|
||||||
|
|
Loading…
Reference in New Issue