diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -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 til /* 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);