diff --git a/src/roadveh_gui.cpp b/src/roadveh_gui.cpp --- a/src/roadveh_gui.cpp +++ b/src/roadveh_gui.cpp @@ -128,8 +128,9 @@ void DrawRoadVehDetails(const Vehicle *v * @param right The maximum horizontal position * @param y Vertical position to draw at * @param selection Selected vehicle to draw a frame around + * @param skip Number of pixels to skip at the front (for scrolling) */ -void DrawRoadVehImage(const Vehicle *v, int left, int right, int y, VehicleID selection) +void DrawRoadVehImage(const Vehicle *v, int left, int right, int y, VehicleID selection, int skip) { bool rtl = _current_text_dir == TD_RTL; Direction dir = rtl ? DIR_E : DIR_W; @@ -143,7 +144,7 @@ void DrawRoadVehImage(const Vehicle *v, old_dpi = _cur_dpi; _cur_dpi = &tmp_dpi; - int px = rtl ? max_width : 0; + int px = rtl ? max_width + skip : -skip; for (; u != NULL && (rtl ? px > 0 : px < max_width); u = u->Next()) { Point offset; int width = u->GetDisplayImageWidth(&offset); diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -998,7 +998,7 @@ void DrawVehicleImage(const Vehicle *v, { switch (v->type) { case VEH_TRAIN: DrawTrainImage(Train::From(v), left, right, y, selection, skip); break; - case VEH_ROAD: DrawRoadVehImage(v, left, right, y, selection); break; + case VEH_ROAD: DrawRoadVehImage(v, left, right, y, selection, skip); break; case VEH_SHIP: DrawShipImage(v, left, right, y, selection); break; case VEH_AIRCRAFT: DrawAircraftImage(v, left, right, y, selection); break; default: NOT_REACHED(); diff --git a/src/vehicle_gui.h b/src/vehicle_gui.h --- a/src/vehicle_gui.h +++ b/src/vehicle_gui.h @@ -49,7 +49,7 @@ enum TrainDetailsWindowTabs { int DrawVehiclePurchaseInfo(int left, int right, int y, EngineID engine_number); void DrawTrainImage(const Train *v, int left, int right, int y, VehicleID selection, int skip, VehicleID drag_dest = INVALID_VEHICLE); -void DrawRoadVehImage(const Vehicle *v, int left, int right, int y, VehicleID selection); +void DrawRoadVehImage(const Vehicle *v, int left, int right, int y, VehicleID selection, int skip = 0); void DrawShipImage(const Vehicle *v, int left, int right, int y, VehicleID selection); void DrawAircraftImage(const Vehicle *v, int left, int right, int y, VehicleID selection);