mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-08 23:19:40 +00:00
(svn r17182) -Feature(ish) [FS#2945]: sort vehicle lists on (timetable) delay
This commit is contained in:
parent
27f5c7cba0
commit
5294ca8a10
@ -259,6 +259,7 @@ STR_SORT_BY_MODEL :Model
|
|||||||
STR_SORT_BY_VALUE :Value
|
STR_SORT_BY_VALUE :Value
|
||||||
STR_SORT_BY_LENGTH :Length
|
STR_SORT_BY_LENGTH :Length
|
||||||
STR_SORT_BY_LIFE_TIME :Remaining life time
|
STR_SORT_BY_LIFE_TIME :Remaining life time
|
||||||
|
STR_SORT_BY_TIMETABLE_DELAY :Timetable delay
|
||||||
STR_SORT_BY_FACILITY :Station type
|
STR_SORT_BY_FACILITY :Station type
|
||||||
STR_SORT_BY_WAITING :Waiting cargo value
|
STR_SORT_BY_WAITING :Waiting cargo value
|
||||||
STR_SORT_BY_RATING_MAX :Highest cargo rating
|
STR_SORT_BY_RATING_MAX :Highest cargo rating
|
||||||
|
@ -51,6 +51,7 @@ static GUIVehicleList::SortFunction VehicleModelSorter;
|
|||||||
static GUIVehicleList::SortFunction VehicleValueSorter;
|
static GUIVehicleList::SortFunction VehicleValueSorter;
|
||||||
static GUIVehicleList::SortFunction VehicleLengthSorter;
|
static GUIVehicleList::SortFunction VehicleLengthSorter;
|
||||||
static GUIVehicleList::SortFunction VehicleTimeToLiveSorter;
|
static GUIVehicleList::SortFunction VehicleTimeToLiveSorter;
|
||||||
|
static GUIVehicleList::SortFunction VehicleTimetableDelaySorter;
|
||||||
|
|
||||||
GUIVehicleList::SortFunction * const BaseVehicleListWindow::vehicle_sorter_funcs[] = {
|
GUIVehicleList::SortFunction * const BaseVehicleListWindow::vehicle_sorter_funcs[] = {
|
||||||
&VehicleNumberSorter,
|
&VehicleNumberSorter,
|
||||||
@ -65,6 +66,7 @@ GUIVehicleList::SortFunction * const BaseVehicleListWindow::vehicle_sorter_funcs
|
|||||||
&VehicleValueSorter,
|
&VehicleValueSorter,
|
||||||
&VehicleLengthSorter,
|
&VehicleLengthSorter,
|
||||||
&VehicleTimeToLiveSorter,
|
&VehicleTimeToLiveSorter,
|
||||||
|
&VehicleTimetableDelaySorter,
|
||||||
};
|
};
|
||||||
|
|
||||||
const StringID BaseVehicleListWindow::vehicle_sorter_names[] = {
|
const StringID BaseVehicleListWindow::vehicle_sorter_names[] = {
|
||||||
@ -80,6 +82,7 @@ const StringID BaseVehicleListWindow::vehicle_sorter_names[] = {
|
|||||||
STR_SORT_BY_VALUE,
|
STR_SORT_BY_VALUE,
|
||||||
STR_SORT_BY_LENGTH,
|
STR_SORT_BY_LENGTH,
|
||||||
STR_SORT_BY_LIFE_TIME,
|
STR_SORT_BY_LIFE_TIME,
|
||||||
|
STR_SORT_BY_TIMETABLE_DELAY,
|
||||||
INVALID_STRING_ID
|
INVALID_STRING_ID
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -626,6 +629,13 @@ static int CDECL VehicleTimeToLiveSorter(const Vehicle * const *a, const Vehicle
|
|||||||
return (r != 0) ? r : VehicleNumberSorter(a, b);
|
return (r != 0) ? r : VehicleNumberSorter(a, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Sort vehicles by the timetable delay */
|
||||||
|
static int CDECL VehicleTimetableDelaySorter(const Vehicle * const *a, const Vehicle * const *b)
|
||||||
|
{
|
||||||
|
int r = (*a)->lateness_counter - (*b)->lateness_counter;
|
||||||
|
return (r != 0) ? r : VehicleNumberSorter(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
void InitializeGUI()
|
void InitializeGUI()
|
||||||
{
|
{
|
||||||
MemSetT(&_sorting, 0);
|
MemSetT(&_sorting, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user