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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user