1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-27 22:24:28 +01:00

Fix e0c2ad1: [Script] Give GetPrimary/SecondaryLiveryColour preconditions (#15169)

These calls ignored existing API conventions and did not document them.
This commit is contained in:
Peter Nelson
2026-01-26 18:45:22 +00:00
committed by GitHub
parent 402ab7cf5f
commit 24a4f3b1a6
2 changed files with 14 additions and 8 deletions

View File

@@ -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;
}

View File

@@ -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);