mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
Change: New player companies use favorite manager face, if saved
This commit is contained in:
parent
f8c6034b93
commit
ca19a0dc2c
@ -562,7 +562,14 @@ Company *DoStartupNewCompany(bool is_ai, CompanyID company = INVALID_COMPANY)
|
|||||||
c->avail_railtypes = GetCompanyRailtypes(c->index);
|
c->avail_railtypes = GetCompanyRailtypes(c->index);
|
||||||
c->avail_roadtypes = GetCompanyRoadTypes(c->index);
|
c->avail_roadtypes = GetCompanyRoadTypes(c->index);
|
||||||
c->inaugurated_year = _cur_year;
|
c->inaugurated_year = _cur_year;
|
||||||
RandomCompanyManagerFaceBits(c->face, (GenderEthnicity)Random(), false, false); // create a random company manager face
|
|
||||||
|
/* If starting a player company in singleplayer and a favorite company manager face is selected, choose it. Otherwise, use a random face.
|
||||||
|
* In a network game, we'll choose the favorite face later in CmdCompanyCtrl to sync it to all clients. */
|
||||||
|
if (_company_manager_face != 0 && !is_ai && !_networking) {
|
||||||
|
c->face = _company_manager_face;
|
||||||
|
} else {
|
||||||
|
RandomCompanyManagerFaceBits(c->face, (GenderEthnicity)Random(), false, false);
|
||||||
|
}
|
||||||
|
|
||||||
SetDefaultCompanySettings(c->index);
|
SetDefaultCompanySettings(c->index);
|
||||||
ClearEnginesHiddenFlagOfCompany(c->index);
|
ClearEnginesHiddenFlagOfCompany(c->index);
|
||||||
@ -838,6 +845,10 @@ CommandCost CmdCompanyCtrl(DoCommandFlag flags, CompanyCtrlAction cca, CompanyID
|
|||||||
NetworkChangeCompanyPassword(_local_company, _settings_client.network.default_company_pass);
|
NetworkChangeCompanyPassword(_local_company, _settings_client.network.default_company_pass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* In network games, we need to try setting the company manager face here to sync it to all clients.
|
||||||
|
* If a favorite company manager face is selected, choose it. Otherwise, use a random face. */
|
||||||
|
if (_company_manager_face != 0) Command<CMD_SET_COMPANY_MANAGER_FACE>::Post(_company_manager_face);
|
||||||
|
|
||||||
/* Now that we have a new company, broadcast our company settings to
|
/* Now that we have a new company, broadcast our company settings to
|
||||||
* all clients so everything is in sync */
|
* all clients so everything is in sync */
|
||||||
SyncCompanySettings();
|
SyncCompanySettings();
|
||||||
|
Loading…
Reference in New Issue
Block a user