Codechange: use the constructor for CompanyNewsItem to fill the data instead of a separate function

This commit is contained in:
rubidium42
2021-06-16 17:54:08 +02:00
committed by rubidium42
parent aa9818db90
commit 9a7750f14e
4 changed files with 14 additions and 21 deletions

View File

@@ -376,8 +376,7 @@ set_name:;
MarkWholeScreenDirty();
if (c->is_ai) {
CompanyNewsInformation *cni = new CompanyNewsInformation();
cni->FillData(c);
CompanyNewsInformation *cni = new CompanyNewsInformation(c);
SetDParam(0, STR_NEWS_COMPANY_LAUNCH_TITLE);
SetDParam(1, STR_NEWS_COMPANY_LAUNCH_DESCRIPTION);
SetDParamStr(2, cni->company_name);
@@ -755,21 +754,19 @@ void CompaniesYearlyLoop()
* @param c the current company.
* @param other the other company (use \c nullptr if not relevant).
*/
void CompanyNewsInformation::FillData(const Company *c, const Company *other)
CompanyNewsInformation::CompanyNewsInformation(const Company *c, const Company *other)
{
SetDParam(0, c->index);
GetString(this->company_name, STR_COMPANY_NAME, lastof(this->company_name));
this->company_name = GetString(STR_COMPANY_NAME);
if (other == nullptr) {
*this->other_company_name = '\0';
} else {
if (other != nullptr) {
SetDParam(0, other->index);
GetString(this->other_company_name, STR_COMPANY_NAME, lastof(this->other_company_name));
this->other_company_name = GetString(STR_COMPANY_NAME);
c = other;
}
SetDParam(0, c->index);
GetString(this->president_name, STR_PRESIDENT_NAME_MANAGER, lastof(this->president_name));
this->president_name = GetString(STR_PRESIDENT_NAME_MANAGER);
this->colour = c->colour;
this->face = c->face;
@@ -888,8 +885,7 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
/* Delete any open window of the company */
CloseCompanyWindows(c->index);
CompanyNewsInformation *cni = new CompanyNewsInformation();
cni->FillData(c);
CompanyNewsInformation *cni = new CompanyNewsInformation(c);
/* Show the bankrupt news */
SetDParam(0, STR_NEWS_COMPANY_BANKRUPT_TITLE);