vehicle_gui.c
changeset 1191 dc46f04aab3a
parent 1182 57287d8c9b4b
child 1246 eb66ff34348f
equal deleted inserted replaced
1190:7a278720edf0 1191:dc46f04aab3a
   300 	const Vehicle *va = GetVehicle((*(const SortStruct*)a).index);
   300 	const Vehicle *va = GetVehicle((*(const SortStruct*)a).index);
   301 	const Vehicle *vb = GetVehicle((*(const SortStruct*)b).index);
   301 	const Vehicle *vb = GetVehicle((*(const SortStruct*)b).index);
   302 	int max_speed_a = 0xFFFF, max_speed_b = 0xFFFF;
   302 	int max_speed_a = 0xFFFF, max_speed_b = 0xFFFF;
   303 	int r;
   303 	int r;
   304 	const Vehicle *ua = va, *ub = vb;
   304 	const Vehicle *ua = va, *ub = vb;
   305 	do {
   305 
   306 		if (RailVehInfo(ua->engine_type)->max_speed != 0)
   306 	if (va->type == VEH_Train && vb->type == VEH_Train) {
   307 			max_speed_a = min(max_speed_a, RailVehInfo(ua->engine_type)->max_speed);
   307 		do {
   308 	} while ((ua = ua->next) != NULL);
   308 			if (RailVehInfo(ua->engine_type)->max_speed != 0)
   309 
   309 				max_speed_a = min(max_speed_a, RailVehInfo(ua->engine_type)->max_speed);
   310 	do {
   310 		} while ((ua = ua->next) != NULL);
   311 		if (RailVehInfo(ub->engine_type)->max_speed != 0)
   311 
   312 			max_speed_b = min(max_speed_b, RailVehInfo(ub->engine_type)->max_speed);
   312 		do {
   313 	} while ((ub = ub->next) != NULL);
   313 			if (RailVehInfo(ub->engine_type)->max_speed != 0)
   314 
   314 				max_speed_b = min(max_speed_b, RailVehInfo(ub->engine_type)->max_speed);
   315 	r = max_speed_a - max_speed_b;
   315 		} while ((ub = ub->next) != NULL);
       
   316 
       
   317 		r = max_speed_a - max_speed_b;
       
   318 	} else {
       
   319 		r = va->max_speed - vb->max_speed;
       
   320 	}
   316 
   321 
   317 	VEHICLEUNITNUMBERSORTER(r, va, vb);
   322 	VEHICLEUNITNUMBERSORTER(r, va, vb);
   318 
   323 
   319 	return (_internal_sort_order & 1) ? -r : r;
   324 	return (_internal_sort_order & 1) ? -r : r;
   320 }
   325 }