diff options
author | rubidium42 <rubidium@openttd.org> | 2021-06-16 17:54:08 +0200 |
---|---|---|
committer | rubidium42 <rubidium42@users.noreply.github.com> | 2021-07-01 19:04:38 +0200 |
commit | 9a7750f14eccd8afb6e8bb608ec421c09a486d53 (patch) | |
tree | e77f49a9225f414939961fd5b2794147b2aa25f6 | |
parent | aa9818db90b910b1b3d62d080f4a670a6a9d14af (diff) | |
download | openttd-9a7750f14eccd8afb6e8bb608ec421c09a486d53.tar.xz |
Codechange: use the constructor for CompanyNewsItem to fill the data instead of a separate function
-rw-r--r-- | src/company_cmd.cpp | 18 | ||||
-rw-r--r-- | src/economy.cpp | 6 | ||||
-rw-r--r-- | src/news_type.h | 8 | ||||
-rw-r--r-- | src/town_cmd.cpp | 3 |
4 files changed, 14 insertions, 21 deletions
diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index 3c5e5f5c7..754921284 100644 --- 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 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); diff --git a/src/economy.cpp b/src/economy.cpp index cb45d55b7..0c2e73cbd 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -580,8 +580,7 @@ static void CompanyCheckBankrupt(Company *c) /* Warn about bankruptcy after 3 months */ case 4: { - CompanyNewsInformation *cni = new CompanyNewsInformation(); - cni->FillData(c); + CompanyNewsInformation *cni = new CompanyNewsInformation(c); SetDParam(0, STR_NEWS_COMPANY_IN_TROUBLE_TITLE); SetDParam(1, STR_NEWS_COMPANY_IN_TROUBLE_DESCRIPTION); SetDParamStr(2, cni->company_name); @@ -1975,8 +1974,7 @@ static void DoAcquireCompany(Company *c) { CompanyID ci = c->index; - CompanyNewsInformation *cni = new CompanyNewsInformation(); - cni->FillData(c, Company::Get(_current_company)); + CompanyNewsInformation *cni = new CompanyNewsInformation(c, Company::Get(_current_company)); SetDParam(0, STR_NEWS_COMPANY_MERGER_TITLE); SetDParam(1, c->bankrupt_value == 0 ? STR_NEWS_MERGER_TAKEOVER_TITLE : STR_NEWS_COMPANY_MERGER_DESCRIPTION); diff --git a/src/news_type.h b/src/news_type.h index bed8f16e7..8045a58fa 100644 --- a/src/news_type.h +++ b/src/news_type.h @@ -158,14 +158,14 @@ struct NewsStringData : NewsAllocatedData { * resulting in wrong names and such. */ struct CompanyNewsInformation : NewsAllocatedData { - char company_name[64]; ///< The name of the company - char president_name[64]; ///< The name of the president - char other_company_name[64]; ///< The name of the company taking over this one + std::string company_name; ///< The name of the company + std::string president_name; ///< The name of the president + std::string other_company_name; ///< The name of the company taking over this one uint32 face; ///< The face of the president byte colour; ///< The colour related to the company - void FillData(const struct Company *c, const struct Company *other = nullptr); + CompanyNewsInformation(const struct Company *c, const struct Company *other = nullptr); }; #endif /* NEWS_TYPE_H */ diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index b21d0ab71..d53cd5783 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -3231,8 +3231,7 @@ static CommandCost TownActionBuyRights(Town *t, DoCommandFlag flags) SetWindowClassesDirty(WC_STATION_VIEW); /* Spawn news message */ - CompanyNewsInformation *cni = new CompanyNewsInformation(); - cni->FillData(Company::Get(_current_company)); + CompanyNewsInformation *cni = new CompanyNewsInformation(Company::Get(_current_company)); SetDParam(0, STR_NEWS_EXCLUSIVE_RIGHTS_TITLE); SetDParam(1, STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION); SetDParam(2, t->index); |