(svn r1695) -Fix: I broke maximum speed sorting for anything but trains with the new acceleration. Sorry
authorCelestar
Thu, 27 Jan 2005 11:33:14 +0000
changeset 1191 dc46f04aab3a
parent 1190 7a278720edf0
child 1192 2649bd4e556a
(svn r1695) -Fix: I broke maximum speed sorting for anything but trains with the new acceleration. Sorry
vehicle_gui.c
--- a/vehicle_gui.c	Thu Jan 27 11:25:32 2005 +0000
+++ b/vehicle_gui.c	Thu Jan 27 11:33:14 2005 +0000
@@ -302,17 +302,22 @@
 	int max_speed_a = 0xFFFF, max_speed_b = 0xFFFF;
 	int r;
 	const Vehicle *ua = va, *ub = vb;
-	do {
-		if (RailVehInfo(ua->engine_type)->max_speed != 0)
-			max_speed_a = min(max_speed_a, RailVehInfo(ua->engine_type)->max_speed);
-	} while ((ua = ua->next) != NULL);
 
-	do {
-		if (RailVehInfo(ub->engine_type)->max_speed != 0)
-			max_speed_b = min(max_speed_b, RailVehInfo(ub->engine_type)->max_speed);
-	} while ((ub = ub->next) != NULL);
+	if (va->type == VEH_Train && vb->type == VEH_Train) {
+		do {
+			if (RailVehInfo(ua->engine_type)->max_speed != 0)
+				max_speed_a = min(max_speed_a, RailVehInfo(ua->engine_type)->max_speed);
+		} while ((ua = ua->next) != NULL);
 
-	r = max_speed_a - max_speed_b;
+		do {
+			if (RailVehInfo(ub->engine_type)->max_speed != 0)
+				max_speed_b = min(max_speed_b, RailVehInfo(ub->engine_type)->max_speed);
+		} while ((ub = ub->next) != NULL);
+
+		r = max_speed_a - max_speed_b;
+	} else {
+		r = va->max_speed - vb->max_speed;
+	}
 
 	VEHICLEUNITNUMBERSORTER(r, va, vb);