From 6eec07257a86cb23f1b4efc11e184dff100a452e Mon Sep 17 00:00:00 2001 From: Celestar Date: Thu, 27 Jan 2005 11:33:14 +0000 Subject: (svn r1695) -Fix: I broke maximum speed sorting for anything but trains with the new acceleration. Sorry --- vehicle_gui.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'vehicle_gui.c') diff --git a/vehicle_gui.c b/vehicle_gui.c index b75adf451..3c9b5f441 100644 --- a/vehicle_gui.c +++ b/vehicle_gui.c @@ -302,17 +302,22 @@ int CDECL VehicleMaxSpeedSorter(const void *a, const void *b) 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); -- cgit v1.2.3-54-g00ecf