mirror of
https://github.com/OpenTTD/OpenTTD
synced 2026-01-30 15:44:31 +01:00
(svn r26595) [1.4] -Backport from trunk:
- Fix: Transfer stations also should have a cargo rating [FS#5989] (r26581, r26580) - Fix: [Network] AIs would not reset certain network state information upon creation of their company [FS#6003] (r26578, r26576) - Fix: [Network] Client of non-dedicated server was not correctly put into the first company for all state variables [FS#6001] (r26577)
This commit is contained in:
@@ -2171,4 +2171,31 @@ void NetworkPrintClients()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform all the server specific administration of a new company.
|
||||
* @param c The newly created company; can't be NULL.
|
||||
* @param ci The client information of the client that made the company; can be NULL.
|
||||
*/
|
||||
void NetworkServerNewCompany(const Company *c, NetworkClientInfo *ci)
|
||||
{
|
||||
assert(c != NULL);
|
||||
|
||||
if (!_network_server) return;
|
||||
|
||||
_network_company_states[c->index].months_empty = 0;
|
||||
_network_company_states[c->index].password[0] = '\0';
|
||||
NetworkServerUpdateCompanyPassworded(c->index, false);
|
||||
|
||||
if (ci != NULL) {
|
||||
/* ci is NULL when replaying, or for AIs. In neither case there is a client. */
|
||||
ci->client_playas = c->index;
|
||||
NetworkUpdateClientInfo(ci->client_id);
|
||||
NetworkSendCommand(0, 0, 0, CMD_RENAME_PRESIDENT, NULL, ci->client_name, c->index);
|
||||
NetworkServerSendChat(NETWORK_ACTION_COMPANY_NEW, DESTTYPE_BROADCAST, 0, "", ci->client_id, c->index + 1);
|
||||
}
|
||||
|
||||
/* Announce new company on network. */
|
||||
NetworkAdminCompanyInfo(c, true);
|
||||
}
|
||||
|
||||
#endif /* ENABLE_NETWORK */
|
||||
|
||||
Reference in New Issue
Block a user