From 9f49ea417769f099865e2e71fd3a753ef9217f4d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 21 Jun 2026 09:05:41 +0100 Subject: [PATCH] Codechange: make EngineImageType a scoped enum (#15755) --- src/aircraft_cmd.cpp | 8 ++++---- src/build_vehicle_gui.cpp | 10 +++++----- src/depot_gui.cpp | 26 +++++++++++++------------- src/engine_gui.cpp | 4 ++-- src/group_gui.cpp | 2 +- src/newgrf_debug_gui.cpp | 6 +++--- src/newgrf_engine.cpp | 6 +++--- src/news_gui.cpp | 2 +- src/saveload/vehicle_sl.cpp | 6 +++--- src/ship_cmd.cpp | 2 +- src/train_gui.cpp | 2 +- src/vehicle.cpp | 2 +- src/vehicle_base.h | 2 +- src/vehicle_gui.cpp | 16 ++++++++-------- src/vehicle_type.h | 14 +++++++------- 15 files changed, 54 insertions(+), 54 deletions(-) diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index e87fcd9f39..c73ed14e56 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -504,13 +504,13 @@ static void HelicopterTickHandler(Aircraft *v) VehicleSpriteSeq seq; if (spd == 0) { u->state = HRS_ROTOR_STOPPED; - GetRotorImage(v, EIT_ON_MAP, &seq); + GetRotorImage(v, EngineImageType::OnMap, &seq); if (u->sprite_cache.sprite_seq == seq) return; } else if (tick >= spd) { u->tick_counter = 0; u->state++; if (u->state > HRS_ROTOR_MOVING_3) u->state = HRS_ROTOR_MOVING_1; - GetRotorImage(v, EIT_ON_MAP, &seq); + GetRotorImage(v, EngineImageType::OnMap, &seq); } else { return; } @@ -536,7 +536,7 @@ void SetAircraftPosition(Aircraft *v, int x, int y, int z) v->UpdatePosition(); v->UpdateViewport(true, false); if (v->subtype == AIR_HELICOPTER) { - GetRotorImage(v, EIT_ON_MAP, &v->Next()->Next()->sprite_cache.sprite_seq); + GetRotorImage(v, EngineImageType::OnMap, &v->Next()->Next()->sprite_cache.sprite_seq); } Aircraft *u = v->Next(); @@ -1323,7 +1323,7 @@ void Aircraft::MarkDirty() this->colourmap = PAL_NONE; this->UpdateViewport(true, false); if (this->subtype == AIR_HELICOPTER) { - GetRotorImage(this, EIT_ON_MAP, &this->Next()->Next()->sprite_cache.sprite_seq); + GetRotorImage(this, EngineImageType::OnMap, &this->Next()->Next()->sprite_cache.sprite_seq); } } diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 40356da024..ec4aff56a5 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -55,7 +55,7 @@ */ uint GetEngineListHeight(VehicleType type) { - return std::max(GetCharacterHeight(FontSize::Normal) + WidgetDimensions::scaled.matrix.Vertical(), GetVehicleImageCellSize(type, EIT_PURCHASE).height); + return std::max(GetCharacterHeight(FontSize::Normal) + WidgetDimensions::scaled.matrix.Vertical(), GetVehicleImageCellSize(type, EngineImageType::Purchase).height); } static constexpr std::initializer_list _nested_build_vehicle_widgets = { @@ -930,8 +930,8 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li bool rtl = _current_text_dir == TD_RTL; int step_size = GetEngineListHeight(type); - int sprite_left = GetVehicleImageCellSize(type, EIT_PURCHASE).extend_left; - int sprite_right = GetVehicleImageCellSize(type, EIT_PURCHASE).extend_right; + int sprite_left = GetVehicleImageCellSize(type, EngineImageType::Purchase).extend_left; + int sprite_right = GetVehicleImageCellSize(type, EngineImageType::Purchase).extend_right; int sprite_width = sprite_left + sprite_right; int circle_width = std::max(GetScaledSpriteSize(SPR_CIRCLE_FOLDED).width, GetScaledSpriteSize(SPR_CIRCLE_UNFOLDED).width); PixelColour linecolour = GetColourGradient(Colours::Orange, Shade::Normal); @@ -1005,7 +1005,7 @@ void DrawEngineList(VehicleType type, const Rect &r, const GUIEngineList &eng_li } int sprite_x = tr.WithWidth(sprite_width, rtl).left + sprite_left; - DrawVehicleEngine(r.left, r.right, sprite_x, tr.top + sprite_y_offset, item.engine_id, pal, EIT_PURCHASE); + DrawVehicleEngine(r.left, r.right, sprite_x, tr.top + sprite_y_offset, item.engine_id, pal, EngineImageType::Purchase); tr = tr.Indent(sprite_width + WidgetDimensions::scaled.hsep_wide, rtl); @@ -1870,7 +1870,7 @@ struct BuildVehicleWindow : Window { case WID_BV_LIST: fill.height = resize.height = GetEngineListHeight(this->vehicle_type); size.height = 3 * resize.height; - size.width = std::max(size.width, this->badge_classes.GetTotalColumnsWidth() + GetVehicleImageCellSize(this->vehicle_type, EIT_PURCHASE).extend_left + GetVehicleImageCellSize(this->vehicle_type, EIT_PURCHASE).extend_right + 165) + padding.width; + size.width = std::max(size.width, this->badge_classes.GetTotalColumnsWidth() + GetVehicleImageCellSize(this->vehicle_type, EngineImageType::Purchase).extend_left + GetVehicleImageCellSize(this->vehicle_type, EngineImageType::Purchase).extend_right + 165) + padding.width; break; case WID_BV_PANEL: diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 79e18c12f2..7db505b4c8 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -160,14 +160,14 @@ static uint _consistent_train_width; ///< Whether * Get the GUI cell size for a vehicle image. * @param type Vehicle type to get the size for. * @param image_type Image type to get size for. - * @pre image_type == EIT_IN_DEPOT || image_type == EIT_PURCHASE + * @pre image_type == EngineImageType::InDepot || image_type == EngineImageType::Purchase * @return Cell dimensions for the vehicle and image type. */ VehicleCellSize GetVehicleImageCellSize(VehicleType type, EngineImageType image_type) { switch (image_type) { - case EIT_IN_DEPOT: return _base_block_sizes_depot[type]; - case EIT_PURCHASE: return _base_block_sizes_purchase[type]; + case EngineImageType::InDepot: return _base_block_sizes_depot[type]; + case EngineImageType::Purchase: return _base_block_sizes_purchase[type]; default: NOT_REACHED(); } } @@ -201,12 +201,12 @@ static void InitBlocksizeForVehicles(VehicleType type, EngineImageType image_typ int max_extend = ScaleSpriteTrad(98); switch (image_type) { - case EIT_IN_DEPOT: + case EngineImageType::InDepot: _base_block_sizes_depot[type].height = std::max(ScaleSpriteTrad(GetVehicleHeight(type)), max_height); _base_block_sizes_depot[type].extend_left = Clamp(max_extend_left, min_extend, max_extend); _base_block_sizes_depot[type].extend_right = Clamp(max_extend_right, min_extend, max_extend); break; - case EIT_PURCHASE: + case EngineImageType::Purchase: _base_block_sizes_purchase[type].height = std::max(ScaleSpriteTrad(GetVehicleHeight(type)), max_height); _base_block_sizes_purchase[type].extend_left = Clamp(max_extend_left, min_extend, max_extend); _base_block_sizes_purchase[type].extend_right = Clamp(max_extend_right, min_extend, max_extend); @@ -223,8 +223,8 @@ static void InitBlocksizeForVehicles(VehicleType type, EngineImageType image_typ void InitDepotWindowBlockSizes() { for (VehicleType vt : EnumRange(VehicleType::CompanyEnd)) { - InitBlocksizeForVehicles(vt, EIT_IN_DEPOT); - InitBlocksizeForVehicles(vt, EIT_PURCHASE); + InitBlocksizeForVehicles(vt, EngineImageType::InDepot); + InitBlocksizeForVehicles(vt, EngineImageType::Purchase); } _consistent_train_width = TRAININFO_DEFAULT_VEHICLE_WIDTH; @@ -358,7 +358,7 @@ struct DepotWindow : Window { ScaleSpriteTrad(_consistent_train_width != 0 ? _consistent_train_width : TRAININFO_DEFAULT_VEHICLE_WIDTH) : 0; - DrawTrainImage(u, image.Indent(x_space, rtl), this->sel, EIT_IN_DEPOT, free_wagon ? 0 : this->hscroll->GetPosition(), this->vehicle_over); + DrawTrainImage(u, image.Indent(x_space, rtl), this->sel, EngineImageType::InDepot, free_wagon ? 0 : this->hscroll->GetPosition(), this->vehicle_over); /* Length of consist in tiles with 1 fractional digit (rounded up) */ uint length = u->gcache.cached_total_length + this->CountDraggedLength(u); @@ -369,9 +369,9 @@ struct DepotWindow : Window { break; } - case VehicleType::Road: DrawRoadVehImage(v, image, this->sel, EIT_IN_DEPOT); break; - case VehicleType::Ship: DrawShipImage(v, image, this->sel, EIT_IN_DEPOT); break; - case VehicleType::Aircraft: DrawAircraftImage(v, image, this->sel, EIT_IN_DEPOT); break; + case VehicleType::Road: DrawRoadVehImage(v, image, this->sel, EngineImageType::InDepot); break; + case VehicleType::Ship: DrawShipImage(v, image, this->sel, EngineImageType::InDepot); break; + case VehicleType::Aircraft: DrawAircraftImage(v, image, this->sel, EngineImageType::InDepot); break; default: NOT_REACHED(); } @@ -595,7 +595,7 @@ struct DepotWindow : Window { TrainDepotMoveVehicle(v, sel, result.vehicle); } else if (v != nullptr) { SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this); - SetMouseCursorVehicle(v, EIT_IN_DEPOT); + SetMouseCursorVehicle(v, EngineImageType::InDepot); _cursor.vehchain = _ctrl_pressed; this->sel = v->index; @@ -681,7 +681,7 @@ struct DepotWindow : Window { void OnInit() override { - this->cell_size = GetVehicleImageCellSize(this->type, EIT_IN_DEPOT); + this->cell_size = GetVehicleImageCellSize(this->type, EngineImageType::InDepot); this->flag_size = maxdim(GetScaledSpriteSize(SPR_FLAG_VEH_STOPPED), GetScaledSpriteSize(SPR_FLAG_VEH_RUNNING)); } diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp index 028bebb229..6053953a2c 100644 --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -116,7 +116,7 @@ struct EnginePreviewWindow : Window { switch (widget) { case WID_EP_QUESTION: { /* Get size of engine sprite, on loan from depot_gui.cpp */ - EngineImageType image_type = EIT_PREVIEW; + EngineImageType image_type = EngineImageType::Preview; /* First determine required the horizontal size. */ this->vehicle_space = ScaleSpriteTrad(40); @@ -174,7 +174,7 @@ struct EnginePreviewWindow : Window { DrawString(r.left, r.right, y, GetString(STR_ENGINE_NAME, PackEngineNameDParam(engine, EngineNameContext::PreviewNews)), TextColour::Black, SA_HOR_CENTER); y += GetCharacterHeight(FontSize::Normal); - DrawVehicleEngine(r.left, r.right, this->width >> 1, y + this->vehicle_space / 2, engine, GetEnginePalette(engine, _local_company), EIT_PREVIEW); + DrawVehicleEngine(r.left, r.right, this->width >> 1, y + this->vehicle_space / 2, engine, GetEnginePalette(engine, _local_company), EngineImageType::Preview); y += this->vehicle_space; DrawStringMultiLine(r.left, r.right, y, r.bottom, GetEngineInfoString(engine), TextColour::Black, SA_CENTER); diff --git a/src/group_gui.cpp b/src/group_gui.cpp index c61d0a0ddc..e9315cd2dd 100644 --- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -858,7 +858,7 @@ public: } SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this); - SetMouseCursorVehicle(v, EIT_IN_LIST); + SetMouseCursorVehicle(v, EngineImageType::InList); _cursor.vehchain = true; this->SetDirty(); diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index 82b979221f..694bbc220e 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -370,7 +370,7 @@ struct NewGRFInspectWindow : Window { switch (widget) { case WID_NGRFI_VEH_CHAIN: assert(this->HasChainIndex()); - size.height = std::max(size.height, GetVehicleImageCellSize(this->GetVehicleTypeForWindow(), EIT_IN_DEPOT).height + 2 + WidgetDimensions::scaled.bevel.Vertical()); + size.height = std::max(size.height, GetVehicleImageCellSize(this->GetVehicleTypeForWindow(), EngineImageType::InDepot).height + 2 + WidgetDimensions::scaled.bevel.Vertical()); break; case WID_NGRFI_MAINPANEL: @@ -424,9 +424,9 @@ struct NewGRFInspectWindow : Window { if (sel_center > width / 2) skip = std::min(total_width - width, sel_center - width / 2); } - int h = GetVehicleImageCellSize(this->GetVehicleTypeForWindow(), EIT_IN_DEPOT).height; + int h = GetVehicleImageCellSize(this->GetVehicleTypeForWindow(), EngineImageType::InDepot).height; int y = CentreBounds(br.top, br.bottom, h); - DrawVehicleImage(v->First(), br, VehicleID::Invalid(), EIT_IN_DETAILS, skip); + DrawVehicleImage(v->First(), br, VehicleID::Invalid(), EngineImageType::InDetails, skip); /* Highlight the articulated part (this is different to the whole-vehicle highlighting of DrawVehicleImage */ if (_current_text_dir == TD_RTL) { diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 9122c18320..14f6a4b97f 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -1116,7 +1116,7 @@ static void GetCustomEngineSprite(EngineID engine, const Vehicle *v, Direction d bool sprite_stack = EngInfo(engine)->misc_flags.Test(EngineMiscFlag::SpriteStack); uint max_stack = sprite_stack ? static_cast(std::size(result->seq)) : 1; for (uint stack = 0; stack < max_stack; ++stack) { - object.callback_param1 = image_type | (stack << 8); + object.callback_param1 = to_underlying(image_type) | (stack << 8); const auto *group = object.Resolve(); int32_t reg100 = sprite_stack ? object.GetRegister(0x100) : 0; if (group != nullptr && group->num_sprites != 0) { @@ -1150,7 +1150,7 @@ static void GetRotorOverrideSprite(EngineID engine, const struct Aircraft *v, En * TTDPatch copies some variables between the vehicles each time, to somehow synchronize the rotor vehicle with the primary vehicle. * We use 'rotor_in_gui' to replicate when the variables differ. * But some other variables like 'rotor state' and 'rotor speed' are not available in OpenTTD, while they are in TTDPatch. */ - bool rotor_in_gui = image_type != EIT_ON_MAP; + bool rotor_in_gui = image_type != EngineImageType::OnMap; VehicleResolverObject object(engine, v, VehicleResolverObject::WagonOverride::Self, rotor_in_gui, CBID_NO_CALLBACK); result->Clear(); uint rotor_pos = v == nullptr || rotor_in_gui ? 0 : v->Next()->Next()->state; @@ -1158,7 +1158,7 @@ static void GetRotorOverrideSprite(EngineID engine, const struct Aircraft *v, En bool sprite_stack = e->info.misc_flags.Test(EngineMiscFlag::SpriteStack); uint max_stack = sprite_stack ? static_cast(std::size(result->seq)) : 1; for (uint stack = 0; stack < max_stack; ++stack) { - object.callback_param1 = image_type | (stack << 8); + object.callback_param1 = to_underlying(image_type) | (stack << 8); const auto *group = object.Resolve(); int32_t reg100 = sprite_stack ? object.GetRegister(0x100) : 0; if (group != nullptr && group->num_sprites != 0) { diff --git a/src/news_gui.cpp b/src/news_gui.cpp index d6b5682d29..e515f8112b 100644 --- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -551,7 +551,7 @@ struct NewsWindow : Window { case WID_N_VEH_SPR: { assert(std::holds_alternative(ni->ref1)); EngineID engine = std::get(this->ni->ref1); - DrawVehicleEngine(r.left, r.right, CentreBounds(r.left, r.right, 0), CentreBounds(r.top, r.bottom, 0), engine, GetEnginePalette(engine, _local_company), EIT_PREVIEW); + DrawVehicleEngine(r.left, r.right, CentreBounds(r.left, r.right, 0), CentreBounds(r.top, r.bottom, 0), engine, GetEnginePalette(engine, _local_company), EngineImageType::Preview); GfxFillRect(r, PALETTE_NEWSPAPER, FillRectMode::Recolour); break; } diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 488105dc17..5c28c7dcf5 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -503,12 +503,12 @@ void AfterLoadVehiclesPhase2(bool part_of_load) case VehicleType::Road: case VehicleType::Train: case VehicleType::Ship: - v->GetImage(v->direction, EIT_ON_MAP, &v->sprite_cache.sprite_seq); + v->GetImage(v->direction, EngineImageType::OnMap, &v->sprite_cache.sprite_seq); break; case VehicleType::Aircraft: if (Aircraft::From(v)->IsNormalAircraft()) { - v->GetImage(v->direction, EIT_ON_MAP, &v->sprite_cache.sprite_seq); + v->GetImage(v->direction, EngineImageType::OnMap, &v->sprite_cache.sprite_seq); /* The aircraft's shadow will have the same image as the aircraft, but no colour */ Vehicle *shadow = v->Next(); @@ -521,7 +521,7 @@ void AfterLoadVehiclesPhase2(bool part_of_load) Vehicle *rotor = shadow->Next(); if (rotor == nullptr) SlErrorCorrupt("Missing rotor for helicopter"); - GetRotorImage(Aircraft::From(v), EIT_ON_MAP, &rotor->sprite_cache.sprite_seq); + GetRotorImage(Aircraft::From(v), EngineImageType::OnMap, &rotor->sprite_cache.sprite_seq); } UpdateAircraftCache(Aircraft::From(v), true); diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index e049270d49..650fc8a5ca 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -135,7 +135,7 @@ void Ship::GetImage(Direction direction, EngineImageType image_type, VehicleSpri { uint8_t spritenum = this->spritenum; - if (image_type == EIT_ON_MAP) direction = this->rotation; + if (image_type == EngineImageType::OnMap) direction = this->rotation; if (IsCustomVehicleSpriteNum(spritenum)) { GetCustomVehicleSprite(this, direction, image_type, result); diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 449faeb90c..e21cdfa69f 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -385,7 +385,7 @@ void DrawTrainDetails(const Train *v, const Rect &r, int vscroll_pos, uint16_t v } PaletteID pal = v->vehstatus.Test(VehState::Crashed) ? PALETTE_CRASH : GetVehiclePalette(u); VehicleSpriteSeq seq; - u->GetImage(dir, EIT_IN_DETAILS, &seq); + u->GetImage(dir, EngineImageType::InDetails, &seq); seq.Draw(px + (rtl ? -offset.x : offset.x), r.top - line_height * vscroll_pos + sprite_y_offset + pitch, pal, v->vehstatus.Test(VehState::Crashed)); } px += rtl ? -width : width; diff --git a/src/vehicle.cpp b/src/vehicle.cpp index c1d0d214ee..08aefa8b95 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1196,7 +1196,7 @@ void ViewportAddVehicles(DrawPixelInfo *dpi) */ if (v->sprite_cache.revalidate_before_draw) { VehicleSpriteSeq seq; - v->GetImage(v->direction, EIT_ON_MAP, &seq); + v->GetImage(v->direction, EngineImageType::OnMap, &seq); if (seq.IsValid() && v->sprite_cache.sprite_seq != seq) { v->sprite_cache.sprite_seq = seq; diff --git a/src/vehicle_base.h b/src/vehicle_base.h index c6a7785edf..e04e18365a 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -1244,7 +1244,7 @@ struct SpecializedVehicle : public Vehicle { if (this->direction != this->sprite_cache.last_direction || this->sprite_cache.is_viewport_candidate) { VehicleSpriteSeq seq; - ((T*)this)->T::GetImage(this->direction, EIT_ON_MAP, &seq); + ((T*)this)->T::GetImage(this->direction, EngineImageType::OnMap, &seq); if (this->sprite_cache.sprite_seq != seq) { sprite_has_changed = true; this->sprite_cache.sprite_seq = seq; diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index a350bca7f2..aca3f4ce47 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -1050,7 +1050,7 @@ struct RefitWindow : public Window { case WID_VR_VEHICLE_PANEL_DISPLAY: { Vehicle *v = Vehicle::Get(this->window_number); DrawVehicleImage(v, r.WithX(this->sprite_left, this->sprite_right), - VehicleID::Invalid(), EIT_IN_DETAILS, this->hscroll != nullptr ? this->hscroll->GetPosition() : 0); + VehicleID::Invalid(), EngineImageType::InDetails, this->hscroll != nullptr ? this->hscroll->GetPosition() : 0); /* Highlight selected vehicles. */ if (this->order != INVALID_VEH_ORDER_ID) break; @@ -1149,7 +1149,7 @@ struct RefitWindow : public Window { this->BuildRefitList(); /* The vehicle width has changed too. */ - this->vehicle_width = GetVehicleWidth(Vehicle::Get(this->window_number), EIT_IN_DETAILS); + this->vehicle_width = GetVehicleWidth(Vehicle::Get(this->window_number), EngineImageType::InDetails); uint max_width = 0; /* Check the width of all cargo information strings. */ @@ -1309,7 +1309,7 @@ struct RefitWindow : public Window { void OnResize() override { - this->vehicle_width = GetVehicleWidth(Vehicle::Get(this->window_number), EIT_IN_DETAILS); + this->vehicle_width = GetVehicleWidth(Vehicle::Get(this->window_number), EngineImageType::InDetails); this->vscroll->SetCapacityFromWidget(this, WID_VR_MATRIX); if (this->hscroll != nullptr) this->hscroll->SetCapacityFromWidget(this, WID_VR_VEHICLE_PANEL_DISPLAY); } @@ -1817,7 +1817,7 @@ void BaseVehicleListWindow::DrawVehicleListItems(VehicleID selected_vehicle, int DrawSprite(SPR_WARNING_SIGN, PAL_NONE, vehicle_button_x, ir.top + GetCharacterHeight(FontSize::Normal) + WidgetDimensions::scaled.vsep_normal + profit.height); } - DrawVehicleImage(v, ir.WithX(image_left, image_right), selected_vehicle, EIT_IN_LIST, 0); + DrawVehicleImage(v, ir.WithX(image_left, image_right), selected_vehicle, EngineImageType::InList, 0); if (_settings_client.gui.show_cargo_in_vehicle_lists) { /* Get the cargoes the vehicle can carry */ @@ -1869,7 +1869,7 @@ void BaseVehicleListWindow::DrawVehicleListItems(VehicleID selected_vehicle, int for (int i = 0; i < static_cast(vehgroup.NumVehicles()); ++i) { if (image_left + WidgetDimensions::scaled.hsep_wide * i >= image_right) break; // Break if there is no more space to draw any more vehicles anyway. - DrawVehicleImage(vehgroup.vehicles_begin[i], ir.WithX(image_left + WidgetDimensions::scaled.hsep_wide * i, image_right), selected_vehicle, EIT_IN_LIST, 0); + DrawVehicleImage(vehgroup.vehicles_begin[i], ir.WithX(image_left + WidgetDimensions::scaled.hsep_wide * i, image_right), selected_vehicle, EngineImageType::InList, 0); } if (show_orderlist) DrawSmallOrderList(vehgroup.vehicles_begin[0]->orders, olr.left, olr.right, ir.top + GetCharacterHeight(FontSize::Small), this->order_arrow_width); @@ -2683,15 +2683,15 @@ struct VehicleDetailsWindow : Window { case WID_VD_MIDDLE_DETAILS: { /* For other vehicles, at the place of the matrix. */ bool rtl = _current_text_dir == TD_RTL; - uint sprite_width = GetSingleVehicleWidth(v, EIT_IN_DETAILS) + WidgetDimensions::scaled.framerect.Horizontal(); + uint sprite_width = GetSingleVehicleWidth(v, EngineImageType::InDetails) + WidgetDimensions::scaled.framerect.Horizontal(); Rect tr = r.Shrink(WidgetDimensions::scaled.framerect); /* Articulated road vehicles use a complete line. */ if (v->type == VehicleType::Road && v->HasArticulatedPart()) { - DrawVehicleImage(v, tr.WithHeight(ScaleGUITrad(GetVehicleHeight(v->type)), false), VehicleID::Invalid(), EIT_IN_DETAILS, 0); + DrawVehicleImage(v, tr.WithHeight(ScaleGUITrad(GetVehicleHeight(v->type)), false), VehicleID::Invalid(), EngineImageType::InDetails, 0); } else { Rect sr = tr.WithWidth(sprite_width, rtl); - DrawVehicleImage(v, sr.WithHeight(ScaleGUITrad(GetVehicleHeight(v->type)), false), VehicleID::Invalid(), EIT_IN_DETAILS, 0); + DrawVehicleImage(v, sr.WithHeight(ScaleGUITrad(GetVehicleHeight(v->type)), false), VehicleID::Invalid(), EngineImageType::InDetails, 0); } DrawVehicleDetails(v, tr.Indent(sprite_width, rtl), 0, 0, this->tab); diff --git a/src/vehicle_type.h b/src/vehicle_type.h index f5b3d3b585..17d96e2e50 100644 --- a/src/vehicle_type.h +++ b/src/vehicle_type.h @@ -73,13 +73,13 @@ enum AccelerationModel : uint8_t { }; /** Visualisation contexts of vehicles and engines. */ -enum EngineImageType : uint8_t { - EIT_ON_MAP = 0x00, ///< Vehicle drawn in viewport. - EIT_IN_DEPOT = 0x10, ///< Vehicle drawn in depot. - EIT_IN_DETAILS = 0x11, ///< Vehicle drawn in vehicle details, refit window, ... - EIT_IN_LIST = 0x12, ///< Vehicle drawn in vehicle list, group list, ... - EIT_PURCHASE = 0x20, ///< Vehicle drawn in purchase list, autoreplace gui, ... - EIT_PREVIEW = 0x21, ///< Vehicle drawn in preview window, news, ... +enum class EngineImageType : uint8_t { + OnMap = 0x00, ///< Vehicle drawn in viewport. + InDepot = 0x10, ///< Vehicle drawn in depot. + InDetails = 0x11, ///< Vehicle drawn in vehicle details, refit window, ... + InList = 0x12, ///< Vehicle drawn in vehicle list, group list, ... + Purchase = 0x20, ///< Vehicle drawn in purchase list, autoreplace gui, ... + Preview = 0x21, ///< Vehicle drawn in preview window, news, ... }; /** Randomisation triggers for vehicles */