Merge branch 'order_occupancy-sx' into jgrpp

This commit is contained in:
Jonathan G Rennison
2016-01-24 02:52:05 +00:00
5 changed files with 62 additions and 5 deletions

View File

@@ -60,6 +60,7 @@ static GUIVehicleList::SortFunction VehicleValueSorter;
static GUIVehicleList::SortFunction VehicleLengthSorter;
static GUIVehicleList::SortFunction VehicleTimeToLiveSorter;
static GUIVehicleList::SortFunction VehicleTimetableDelaySorter;
static GUIVehicleList::SortFunction VehicleAverageOrderOccupancySorter;
GUIVehicleList::SortFunction * const BaseVehicleListWindow::vehicle_sorter_funcs[] = {
&VehicleNumberSorter,
@@ -76,6 +77,7 @@ GUIVehicleList::SortFunction * const BaseVehicleListWindow::vehicle_sorter_funcs
&VehicleLengthSorter,
&VehicleTimeToLiveSorter,
&VehicleTimetableDelaySorter,
&VehicleAverageOrderOccupancySorter,
};
const StringID BaseVehicleListWindow::vehicle_sorter_names[] = {
@@ -93,6 +95,7 @@ const StringID BaseVehicleListWindow::vehicle_sorter_names[] = {
STR_SORT_BY_LENGTH,
STR_SORT_BY_LIFE_TIME,
STR_SORT_BY_TIMETABLE_DELAY,
STR_SORT_BY_AVG_ORDER_OCCUPANCY,
INVALID_STRING_ID
};
@@ -1269,6 +1272,13 @@ static int CDECL VehicleTimetableDelaySorter(const Vehicle * const *a, const Veh
return (r != 0) ? r : VehicleNumberSorter(a, b);
}
/** Sort vehicles by the average order occupancy */
static int CDECL VehicleAverageOrderOccupancySorter(const Vehicle * const *a, const Vehicle * const *b)
{
int r = (*a)->GetOrderOccupancyAverage() - (*b)->GetOrderOccupancyAverage();
return (r != 0) ? r : VehicleNumberSorter(a, b);
}
void InitializeGUI()
{
MemSetT(&_sorting, 0);