train_gui.c
changeset 4813 6198df1cf49f
parent 4794 81e64b507fa7
child 4835 22d6a5811aee
equal deleted inserted replaced
4812:dab5a9855b72 4813:6198df1cf49f
    67 
    67 
    68 static int CDECL TrainEngineNumberSorter(const void *a, const void *b)
    68 static int CDECL TrainEngineNumberSorter(const void *a, const void *b)
    69 {
    69 {
    70 	const EngineID va = *(const EngineID*)a;
    70 	const EngineID va = *(const EngineID*)a;
    71 	const EngineID vb = *(const EngineID*)b;
    71 	const EngineID vb = *(const EngineID*)b;
    72 	int r = va - vb;
    72 	int r = ListPositionOfEngine(va) - ListPositionOfEngine(vb);
    73 
    73 
    74 	return _internal_sort_order ? -r : r;
    74 	return _internal_sort_order ? -r : r;
    75 }
    75 }
    76 
    76 
    77 static int CDECL TrainEngineCostSorter(const void *a, const void *b)
    77 static int CDECL TrainEngineCostSorter(const void *a, const void *b)
   413 
   413 
   414 	if (engines == NULL) ExtendEngineListSize((const EngineID**)engines, &engine_length, 25);
   414 	if (engines == NULL) ExtendEngineListSize((const EngineID**)engines, &engine_length, 25);
   415 	if (wagons  == NULL) ExtendEngineListSize((const EngineID**)wagons,  &wagon_length,  25);
   415 	if (wagons  == NULL) ExtendEngineListSize((const EngineID**)wagons,  &wagon_length,  25);
   416 
   416 
   417 	for (j = 0; j < NUM_TRAIN_ENGINES; j++) {
   417 	for (j = 0; j < NUM_TRAIN_ENGINES; j++) {
   418 		EngineID i = GetRailVehAtPosition(j);
   418 		EngineID i = GetRailVehAtPosition(j); // XXX Can be removed when the wagon list is also sorted.
   419 		const Engine *e = GetEngine(i);
   419 		const Engine *e = GetEngine(i);
   420 		const RailVehicleInfo *rvi = RailVehInfo(i);
   420 		const RailVehicleInfo *rvi = RailVehInfo(i);
   421 
   421 
   422 		if (!HasPowerOnRail(e->railtype, railtype)) continue;
   422 		if (!HasPowerOnRail(e->railtype, railtype)) continue;
   423 		if (!IsEngineBuildable(i, VEH_Train)) continue;
   423 		if (!IsEngineBuildable(i, VEH_Train)) continue;