src/build_vehicle_gui.cpp
changeset 9671 6f92245afcf1
parent 9633 8919ac19fc82
child 9679 9a09ba6c56cf
equal deleted inserted replaced
9670:ce7645fdaed5 9671:6f92245afcf1
    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,