mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r6652) -Feature: [depot window] depot lists are now sorted, so vehicle 1 is always first and so on
This should not be a big slowdown as it's only called each time the list is generated and will normally be much faster than the list generation itself (only a small % of the total number of vehicles is in the depot)
This commit is contained in:
parent
ea075f78e0
commit
e341cc1e49
|
@ -614,6 +614,8 @@ static void ResizeDepotButtons(Window *w)
|
|||
}
|
||||
}
|
||||
|
||||
void DepotSortList(Vehicle **v, uint16 length);
|
||||
|
||||
static void DepotWndProc(Window *w, WindowEvent *e)
|
||||
{
|
||||
switch (e->event) {
|
||||
|
@ -637,6 +639,7 @@ static void DepotWndProc(Window *w, WindowEvent *e)
|
|||
&WP(w, depot_d).vehicle_list, &WP(w, depot_d).engine_list_length, &WP(w, depot_d).engine_count,
|
||||
&WP(w, depot_d).wagon_list, &WP(w, depot_d).wagon_list_length, &WP(w, depot_d).wagon_count);
|
||||
WP(w, depot_d).generate_list = false;
|
||||
DepotSortList(WP(w, depot_d).vehicle_list, WP(w, depot_d).engine_count);
|
||||
#ifndef NDEBUG
|
||||
} else {
|
||||
/* Here we got a piece of code, that only checks if we got a different number of vehicles in the depot list and the number of vehicles actually being in the depot.
|
||||
|
|
|
@ -158,6 +158,11 @@ static void SortVehicleList(vehiclelist_d *vl)
|
|||
vl->l.flags &= ~VL_RESORT;
|
||||
}
|
||||
|
||||
void DepotSortList(Vehicle **v, uint16 length)
|
||||
{
|
||||
_internal_sort_order = 0;
|
||||
qsort((void*)v, length, sizeof(v[0]), _vehicle_sorter[0]);
|
||||
}
|
||||
|
||||
/* General Vehicle GUI based procedures that are independent of vehicle types */
|
||||
void InitializeVehiclesGuiList(void)
|
||||
|
|
Loading…
Reference in New Issue