|
|
@@ -49,6 +49,8 @@ static GUIVehicleList::SortFunction VehicleNameSorter; |
|
|
static GUIVehicleList::SortFunction VehicleAgeSorter; |
|
|
static GUIVehicleList::SortFunction VehicleProfitThisYearSorter; |
|
|
static GUIVehicleList::SortFunction VehicleProfitLastYearSorter; |
|
|
static GUIVehicleList::SortFunction VehicleEfficiencyThisYearSorter; |
|
|
static GUIVehicleList::SortFunction VehicleEfficiencyLastYearSorter; |
|
|
static GUIVehicleList::SortFunction VehicleCargoSorter; |
|
|
static GUIVehicleList::SortFunction VehicleReliabilitySorter; |
|
|
static GUIVehicleList::SortFunction VehicleMaxSpeedSorter; |
|
|
@@ -64,6 +66,8 @@ GUIVehicleList::SortFunction * const BaseVehicleListWindow::vehicle_sorter_funcs |
|
|
&VehicleAgeSorter, |
|
|
&VehicleProfitThisYearSorter, |
|
|
&VehicleProfitLastYearSorter, |
|
|
&VehicleEfficiencyThisYearSorter, |
|
|
&VehicleEfficiencyLastYearSorter, |
|
|
&VehicleCargoSorter, |
|
|
&VehicleReliabilitySorter, |
|
|
&VehicleMaxSpeedSorter, |
|
|
@@ -80,6 +84,8 @@ const StringID BaseVehicleListWindow::vehicle_sorter_names[] = { |
|
|
STR_SORT_BY_AGE, |
|
|
STR_SORT_BY_PROFIT_THIS_YEAR, |
|
|
STR_SORT_BY_PROFIT_LAST_YEAR, |
|
|
STR_SORT_BY_EFFICIENCY_THIS_YEAR, |
|
|
STR_SORT_BY_EFFICIENCY_LAST_YEAR, |
|
|
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE, |
|
|
STR_SORT_BY_RELIABILITY, |
|
|
STR_SORT_BY_MAX_SPEED, |
|
|
@@ -1132,6 +1138,20 @@ static int CDECL VehicleProfitLastYearSorter(const Vehicle * const *a, const Veh |
|
|
return (r != 0) ? r : VehicleNumberSorter(a, b); |
|
|
} |
|
|
|
|
|
/** Sort vehicles by this year actual/potential delivered cargotiles */ |
|
|
static int CDECL VehicleEfficiencyThisYearSorter(const Vehicle * const *a, const Vehicle * const *b) |
|
|
{ |
|
|
int r = ClampToI32((*a)->GetEfficiencyThisYear() - (*b)->GetEfficiencyThisYear()); |
|
|
return (r != 0) ? r : VehicleNumberSorter(a, b); |
|
|
} |
|
|
|
|
|
/** Sort vehicles by last year actual/potential delivered cargotiles */ |
|
|
static int CDECL VehicleEfficiencyLastYearSorter(const Vehicle * const *a, const Vehicle * const *b) |
|
|
{ |
|
|
int r = ClampToI32((*a)->GetEfficiencyLastYear() - (*b)->GetEfficiencyLastYear()); |
|
|
return (r != 0) ? r : VehicleNumberSorter(a, b); |
|
|
} |
|
|
|
|
|
/** Sort vehicles by their cargo */ |
|
|
static int CDECL VehicleCargoSorter(const Vehicle * const *a, const Vehicle * const *b) |
|
|
{ |
|
|
@@ -1393,11 +1413,15 @@ void BaseVehicleListWindow::DrawVehicleListItems(VehicleID selected_vehicle, int |
|
|
const Vehicle *v = this->vehicles[i]; |
|
|
StringID str; |
|
|
|
|
|
SetDParam(0, v->GetDisplayProfitThisYear()); |
|
|
SetDParam(1, v->GetDisplayProfitLastYear()); |
|
|
SetDParam(0, STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR); |
|
|
SetDParam(1, v->GetDisplayProfitThisYear()); |
|
|
SetDParam(2, v->GetDisplayProfitLastYear()); |
|
|
SetDParam(3, STR_VEHICLE_LIST_EFFICIENCY_THIS_YEAR_LAST_YEAR); |
|
|
SetDParam(4, v->GetEfficiencyThisYear()); |
|
|
SetDParam(5, v->GetEfficiencyLastYear()); |
|
|
|
|
|
DrawVehicleImage(v, image_left, image_right, y + FONT_HEIGHT_SMALL - 1, selected_vehicle, EIT_IN_LIST, 0); |
|
|
DrawString(text_left, text_right, y + line_height - FONT_HEIGHT_SMALL - WD_FRAMERECT_BOTTOM - 1, STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR); |
|
|
DrawString(text_left, text_right, y + line_height - FONT_HEIGHT_SMALL - WD_FRAMERECT_BOTTOM - 1, STR_VEHICLE_LIST_PROFIT_EFFICIENCY_LINE); |
|
|
|
|
|
if (v->name != NULL) { |
|
|
/* The vehicle got a name so we will print it */ |
|
|
@@ -2085,9 +2109,13 @@ struct VehicleDetailsWindow : Window { |
|
|
y += FONT_HEIGHT_NORMAL; |
|
|
|
|
|
/* Draw profit */ |
|
|
SetDParam(0, v->GetDisplayProfitThisYear()); |
|
|
SetDParam(1, v->GetDisplayProfitLastYear()); |
|
|
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR); |
|
|
SetDParam(0, STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR); |
|
|
SetDParam(1, v->GetDisplayProfitThisYear()); |
|
|
SetDParam(2, v->GetDisplayProfitLastYear()); |
|
|
SetDParam(3, STR_VEHICLE_INFO_EFFICIENCY_THIS_YEAR_LAST_YEAR); |
|
|
SetDParam(4, v->GetEfficiencyThisYear()); |
|
|
SetDParam(5, v->GetEfficiencyLastYear()); |
|
|
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_VEHICLE_INFO_PROFIT_EFFICIENCY_LINE); |
|
|
y += FONT_HEIGHT_NORMAL; |
|
|
|
|
|
/* Draw breakdown & reliability */ |
|
|
|