Codechange: Use company group statistics to test for vehicles for drop down list state.

This avoids iterating full the vehicle pool to find out if a company has any vehicles of a particular type.
pull/621/head
Peter Nelson 5 months ago committed by Peter Nelson
parent 847f3f660d
commit 6828b6014a

@ -728,10 +728,10 @@ static CallBackFunction MenuClickIndustry(int index)
static void ToolbarVehicleClick(Window *w, VehicleType veh)
{
int dis = ~0;
int dis = 0;
for (const Vehicle *v : Vehicle::Iterate()) {
if (v->type == veh && v->IsPrimaryVehicle()) ClrBit(dis, v->owner);
for (const Company *c : Company::Iterate()) {
if (c->group_all[veh].num_vehicle == 0) SetBit(dis, c->index);
}
PopupMainCompanyToolbMenu(w, WID_TN_VEHICLE_START + veh, dis);
}

Loading…
Cancel
Save