1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-21 19:32:54 +01:00

Codechange: Use enum/EnumBitSet for livery in use flags. (#14746)

Replaces magic numbers.
This commit is contained in:
Peter Nelson
2025-11-01 14:25:24 +00:00
committed by GitHub
parent 7c855c69fa
commit 34bbae05db
7 changed files with 40 additions and 33 deletions

View File

@@ -2052,16 +2052,16 @@ const Livery *GetEngineLivery(EngineID engine_type, CompanyID company, EngineID
const Group *g = Group::GetIfValid(v->First()->group_id);
if (g != nullptr) {
/* Traverse parents until we find a livery or reach the top */
while (g->livery.in_use == 0 && g->parent != GroupID::Invalid()) {
while (!g->livery.in_use.Any({Livery::Flag::Primary, Livery::Flag::Secondary}) && g->parent != GroupID::Invalid()) {
g = Group::Get(g->parent);
}
if (g->livery.in_use != 0) return &g->livery;
if (g->livery.in_use.Any({Livery::Flag::Primary, Livery::Flag::Secondary})) return &g->livery;
}
}
/* The default livery is always available for use, but its in_use flag determines
* whether any _other_ liveries are in use. */
if (c->livery[LS_DEFAULT].in_use != 0) {
if (c->livery[LS_DEFAULT].in_use.Any({Livery::Flag::Primary, Livery::Flag::Secondary})) {
/* Determine the livery scheme to use */
scheme = GetEngineLiveryScheme(engine_type, parent_engine_type, v);
}