(svn r9040) -Codechange: the build window and CmdBuildAircraft() now shares the code to figure out if an aircraft is buildable in the hangar in question

This should help ensuring that the build command and the list are consistent in what aircraft are buildable
This commit is contained in:
bjarni
2007-03-06 22:11:58 +00:00
parent 6ab89d0031
commit 13c72c07d6
3 changed files with 22 additions and 25 deletions

View File

@@ -694,26 +694,11 @@ static void GenerateBuildAircraftList(Window *w)
* when planes become obsolete and are removed */
sel_id = INVALID_ENGINE;
for (eid = AIRCRAFT_ENGINES_INDEX; eid < AIRCRAFT_ENGINES_INDEX + NUM_AIRCRAFT_ENGINES; eid++) {
if (IsEngineBuildable(eid, VEH_Aircraft, _local_player)) {
const AircraftVehicleInfo *avi = AircraftVehInfo(eid);
switch (bv->filter.flags & ~AirportFTAClass::SHORT_STRIP) { // we don't care about the length of the runway here
case AirportFTAClass::HELICOPTERS:
if (avi->subtype != AIR_HELI) continue;
break;
if (!IsEngineBuildable(eid, VEH_Aircraft, _local_player)) continue;
if (w->window_number != 0 && !IsAircraftBuildableAtStation(eid, w->window_number)) continue;
case AirportFTAClass::AIRPLANES:
if (!(avi->subtype & AIR_CTOL)) continue;
break;
case AirportFTAClass::ALL: break;
default:
NOT_REACHED();
}
EngList_Add(&bv->eng_list, eid);
if (eid == bv->sel_engine) sel_id = eid;
}
EngList_Add(&bv->eng_list, eid);
if (eid == bv->sel_engine) sel_id = eid;
}
bv->sel_engine = sel_id;