equal
deleted
inserted
replaced
69 |
69 |
70 static int CDECL EngineNumberSorter(const void *a, const void *b) |
70 static int CDECL EngineNumberSorter(const void *a, const void *b) |
71 { |
71 { |
72 const EngineID va = *(const EngineID*)a; |
72 const EngineID va = *(const EngineID*)a; |
73 const EngineID vb = *(const EngineID*)b; |
73 const EngineID vb = *(const EngineID*)b; |
74 int r = va - vb; |
74 int r = ListPositionOfEngine(va) - ListPositionOfEngine(vb); |
75 |
75 |
76 return _internal_sort_order ? -r : r; |
76 return _internal_sort_order ? -r : r; |
77 } |
77 } |
78 |
78 |
79 static int CDECL EngineIntroDateSorter(const void *a, const void *b) |
79 static int CDECL EngineIntroDateSorter(const void *a, const void *b) |
191 int r = ClampToI32(vb - va); |
191 int r = ClampToI32(vb - va); |
192 |
192 |
193 return _internal_sort_order ? -r : r; |
193 return _internal_sort_order ? -r : r; |
194 } |
194 } |
195 |
195 |
196 static int CDECL TrainEngineNumberSorter(const void *a, const void *b) |
|
197 { |
|
198 const EngineID va = *(const EngineID*)a; |
|
199 const EngineID vb = *(const EngineID*)b; |
|
200 int r = ListPositionOfEngine(va) - ListPositionOfEngine(vb); |
|
201 |
|
202 return _internal_sort_order ? -r : r; |
|
203 } |
|
204 |
|
205 static int CDECL TrainEngineCapacitySorter(const void *a, const void *b) |
196 static int CDECL TrainEngineCapacitySorter(const void *a, const void *b) |
206 { |
197 { |
207 int va = RailVehInfo(*(const EngineID*)a)->capacity; |
198 int va = RailVehInfo(*(const EngineID*)a)->capacity; |
208 int vb = RailVehInfo(*(const EngineID*)b)->capacity; |
199 int vb = RailVehInfo(*(const EngineID*)b)->capacity; |
209 int r = va - vb; |
200 int r = va - vb; |
379 return _internal_sort_order ? -r : r; |
370 return _internal_sort_order ? -r : r; |
380 } |
371 } |
381 |
372 |
382 static EngList_SortTypeFunction * const _sorter[][10] = {{ |
373 static EngList_SortTypeFunction * const _sorter[][10] = {{ |
383 /* Trains */ |
374 /* Trains */ |
384 &TrainEngineNumberSorter, |
375 &EngineNumberSorter, |
385 &TrainEngineCostSorter, |
376 &TrainEngineCostSorter, |
386 &TrainEngineSpeedSorter, |
377 &TrainEngineSpeedSorter, |
387 &TrainEnginePowerSorter, |
378 &TrainEnginePowerSorter, |
388 &EngineIntroDateSorter, |
379 &EngineIntroDateSorter, |
389 &EngineNameSorter, |
380 &EngineNameSorter, |