1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-25 15:39:09 +00:00

Add: AI functions to get/set company colours.

This commit is contained in:
2019-02-13 22:05:08 +00:00
committed by Niels Martin Hansen
parent 3c047b124e
commit e0c2ad1b65
6 changed files with 243 additions and 34 deletions

View File

@@ -296,3 +296,33 @@
return ::Company::Get((CompanyID)company)->settings.engine_renew_money;
}
/* static */ bool ScriptCompany::SetPrimaryLiveryColour(LiveryScheme scheme, Colours colour)
{
return ScriptObject::DoCommand(0, scheme, colour, CMD_SET_COMPANY_COLOUR);
}
/* static */ bool ScriptCompany::SetSecondaryLiveryColour(LiveryScheme scheme, Colours colour)
{
return ScriptObject::DoCommand(0, scheme | 1 << 8, colour, CMD_SET_COMPANY_COLOUR);
}
/* 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 == NULL) return COLOUR_INVALID;
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 == NULL) return COLOUR_INVALID;
return (ScriptCompany::Colours)c->livery[scheme].colour2;
}