diff --git a/src/script/api/script_industry.cpp b/src/script/api/script_industry.cpp --- a/src/script/api/script_industry.cpp +++ b/src/script/api/script_industry.cpp @@ -15,6 +15,7 @@ #include "script_map.hpp" #include "../../company_base.h" #include "../../industry.h" +#include "../../string_func.h" #include "../../strings_func.h" #include "../../station_base.h" #include "../../newgrf_industries.h" @@ -47,6 +48,20 @@ return GetString(STR_INDUSTRY_NAME); } +/* static */ bool ScriptIndustry::SetText(IndustryID industry_id, Text *text) +{ + CCountedPtr counter(text); + + const char *encoded_text = nullptr; + if (text != nullptr) { + encoded_text = text->GetEncodedText(); + EnforcePreconditionEncodedText(false, encoded_text); + } + EnforcePrecondition(false, IsValidIndustry(industry_id)); + + return ScriptObject::DoCommand(0, industry_id, static_cast(IndustryAction::SetText), CMD_INDUSTRY_CTRL, encoded_text); +} + /* static */ ScriptIndustry::CargoAcceptState ScriptIndustry::IsCargoAccepted(IndustryID industry_id, CargoID cargo_id) { if (!IsValidIndustry(industry_id)) return CAS_NOT_ACCEPTED;