mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-12 18:40:29 +00:00
(svn r23508) -Add: Engine sorter for aircraft range.
This commit is contained in:
parent
2a776a6ca3
commit
7f8162c324
@ -403,6 +403,24 @@ static int CDECL AircraftEngineCargoSorter(const EngineID *a, const EngineID *b)
|
|||||||
return _internal_sort_order ? -r : r;
|
return _internal_sort_order ? -r : r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines order of aircraft by range.
|
||||||
|
* @param *a first engine to compare.
|
||||||
|
* @param *b second engine to compare.
|
||||||
|
* @return for descending order: returns < 0 if a < b and > 0 for a > b. Vice versa for ascending order and 0 for equal.
|
||||||
|
*/
|
||||||
|
static int CDECL AircraftRangeSorter(const EngineID *a, const EngineID *b)
|
||||||
|
{
|
||||||
|
uint16 r_a = Engine::Get(*a)->GetRange();
|
||||||
|
uint16 r_b = Engine::Get(*b)->GetRange();
|
||||||
|
|
||||||
|
int r = r_a - r_b;
|
||||||
|
|
||||||
|
/* Use EngineID to sort instead since we want consistent sorting */
|
||||||
|
if (r == 0) return EngineNumberSorter(a, b);
|
||||||
|
return _internal_sort_order ? -r : r;
|
||||||
|
}
|
||||||
|
|
||||||
static EngList_SortTypeFunction * const _sorter[][11] = {{
|
static EngList_SortTypeFunction * const _sorter[][11] = {{
|
||||||
/* Trains */
|
/* Trains */
|
||||||
&EngineNumberSorter,
|
&EngineNumberSorter,
|
||||||
@ -449,6 +467,7 @@ static EngList_SortTypeFunction * const _sorter[][11] = {{
|
|||||||
&EngineRunningCostSorter,
|
&EngineRunningCostSorter,
|
||||||
&EngineReliabilitySorter,
|
&EngineReliabilitySorter,
|
||||||
&AircraftEngineCargoSorter,
|
&AircraftEngineCargoSorter,
|
||||||
|
&AircraftRangeSorter,
|
||||||
}};
|
}};
|
||||||
|
|
||||||
static const StringID _sort_listing[][12] = {{
|
static const StringID _sort_listing[][12] = {{
|
||||||
@ -500,6 +519,7 @@ static const StringID _sort_listing[][12] = {{
|
|||||||
STR_SORT_BY_RUNNING_COST,
|
STR_SORT_BY_RUNNING_COST,
|
||||||
STR_SORT_BY_RELIABILITY,
|
STR_SORT_BY_RELIABILITY,
|
||||||
STR_SORT_BY_CARGO_CAPACITY,
|
STR_SORT_BY_CARGO_CAPACITY,
|
||||||
|
STR_SORT_BY_RANGE,
|
||||||
INVALID_STRING_ID
|
INVALID_STRING_ID
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
@ -287,6 +287,7 @@ STR_SORT_BY_INTRO_DATE :Introduction Da
|
|||||||
STR_SORT_BY_RUNNING_COST :Running Cost
|
STR_SORT_BY_RUNNING_COST :Running Cost
|
||||||
STR_SORT_BY_POWER_VS_RUNNING_COST :Power/Running Cost
|
STR_SORT_BY_POWER_VS_RUNNING_COST :Power/Running Cost
|
||||||
STR_SORT_BY_CARGO_CAPACITY :Cargo Capacity
|
STR_SORT_BY_CARGO_CAPACITY :Cargo Capacity
|
||||||
|
STR_SORT_BY_RANGE :Range
|
||||||
|
|
||||||
# Tooltips for the main toolbar
|
# Tooltips for the main toolbar
|
||||||
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pause game
|
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Pause game
|
||||||
|
Loading…
Reference in New Issue
Block a user