diff --git a/src/script/api/script_company.cpp b/src/script/api/script_company.cpp index 117f647ddd..4b85b33b61 100644 --- a/src/script/api/script_company.cpp +++ b/src/script/api/script_company.cpp @@ -373,20 +373,20 @@ /* static */ ScriptCompany::Colours ScriptCompany::GetPrimaryLiveryColour(ScriptCompany::LiveryScheme scheme) { - if ((::LiveryScheme)scheme < LS_BEGIN || (::LiveryScheme)scheme >= LS_END) return COLOUR_INVALID; - - const Company *c = ::Company::GetIfValid(_current_company); - if (c == nullptr) return COLOUR_INVALID; + EnforceCompanyModeValid(COLOUR_INVALID); + EnforcePrecondition(COLOUR_INVALID, static_cast<::LiveryScheme>(scheme) >= LS_BEGIN); + EnforcePrecondition(COLOUR_INVALID, static_cast<::LiveryScheme>(scheme) < LS_END); + const Company *c = ::Company::Get(ScriptObject::GetCompany()); return (ScriptCompany::Colours)c->livery[scheme].colour1; } /* static */ ScriptCompany::Colours ScriptCompany::GetSecondaryLiveryColour(ScriptCompany::LiveryScheme scheme) { - if ((::LiveryScheme)scheme < LS_BEGIN || (::LiveryScheme)scheme >= LS_END) return COLOUR_INVALID; - - const Company *c = ::Company::GetIfValid(_current_company); - if (c == nullptr) return COLOUR_INVALID; + EnforceCompanyModeValid(COLOUR_INVALID); + EnforcePrecondition(COLOUR_INVALID, static_cast<::LiveryScheme>(scheme) >= LS_BEGIN); + EnforcePrecondition(COLOUR_INVALID, static_cast<::LiveryScheme>(scheme) < LS_END); + const Company *c = ::Company::Get(ScriptObject::GetCompany()); return (ScriptCompany::Colours)c->livery[scheme].colour2; } diff --git a/src/script/api/script_company.hpp b/src/script/api/script_company.hpp index 52aea64f26..3d22d9f0e9 100644 --- a/src/script/api/script_company.hpp +++ b/src/script/api/script_company.hpp @@ -450,6 +450,9 @@ public: /** * Get primary colour of a livery for your company. * @param scheme Livery scheme to get. + * @game @pre ScriptCompanyMode::IsValid(). + * @pre scheme >= LS_DEFAULT. + * @pre scheme <= LS_LS_FREIGHT_TRAM. * @return Primary colour of livery. */ static ScriptCompany::Colours GetPrimaryLiveryColour(LiveryScheme scheme); @@ -457,6 +460,9 @@ public: /** * Get secondary colour of a livery for your company. * @param scheme Livery scheme to get. + * @game @pre ScriptCompanyMode::IsValid(). + * @pre scheme >= LS_DEFAULT. + * @pre scheme <= LS_LS_FREIGHT_TRAM. * @return Secondary colour of livery. */ static ScriptCompany::Colours GetSecondaryLiveryColour(LiveryScheme scheme);