* Determines the livery of an engine. * * This always uses dual company colours independent of GUI settings. So it is desync-safe. * * @param engine Engine type * @param v Vehicle, nullptr in purchase list. * @return Livery to use */
| 371 | * @return Livery to use |
| 372 | */ |
| 373 | static const Livery *LiveryHelper(EngineID engine, const Vehicle *v) |
| 374 | { |
| 375 | const Livery *l; |
| 376 | |
| 377 | if (v == nullptr) { |
| 378 | if (!Company::IsValidID(_current_company)) return nullptr; |
| 379 | l = GetEngineLivery(engine, _current_company, EngineID::Invalid(), nullptr, LIT_ALL); |
| 380 | } else if (v->IsGroundVehicle()) { |
| 381 | l = GetEngineLivery(v->engine_type, v->owner, v->GetGroundVehicleCache()->first_engine, v, LIT_ALL); |
| 382 | } else { |
| 383 | l = GetEngineLivery(v->engine_type, v->owner, EngineID::Invalid(), v, LIT_ALL); |
| 384 | } |
| 385 | |
| 386 | return l; |
| 387 | } |
| 388 | |
| 389 | /** |
| 390 | * Helper to get the position of a vehicle within a chain of vehicles. |
no test coverage detected