From db69c343f1c64601ad594bbf0e41b463b9d3a434 Mon Sep 17 00:00:00 2001 From: frosch Date: Mon, 13 Jul 2009 19:34:43 +0000 Subject: [PATCH] (svn r16818) -Feature(ette): Highlight whole articulated vehicles in traindepot instead of only the first part. --- src/train_gui.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 9ccf03eb03..6c5724af3f 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -86,6 +86,7 @@ void DrawTrainImage(const Train *v, int x, int y, VehicleID selection, int max_w _cur_dpi = &tmp_dpi; int px = -skip; + bool sel_articulated = false; for (; v != NULL && px < max_width; v = v->Next()) { int width = WagonLengthToPixels(Train::From(v)->tcache.cached_veh_length); @@ -94,11 +95,14 @@ void DrawTrainImage(const Train *v, int x, int y, VehicleID selection, int max_w DrawSprite(v->GetImage(DIR_W), pal, px + 16, 7 + (is_custom_sprite(RailVehInfo(v->engine_type)->image_index) ? _traininfo_vehicle_pitch : 0)); } + if (!v->IsArticulatedPart()) sel_articulated = false; + if (v->index == selection) { /* Set the highlight position */ highlight_l = px + 1; highlight_r = px + width + 1; - } else if (_cursor.vehchain && highlight_r != 0) { + sel_articulated = true; + } else if ((_cursor.vehchain && highlight_r != 0) || sel_articulated) { highlight_r += width; }