(svn r11546) -Fix[FS#1496]: If ever the air/heli port is suddenly not available while the "chopper" is descending, just go back into flying.

The code should have been better written, but in respect of newgrf_port branch, i prefer minimalist intervention
This commit is contained in:
belugas 2007-12-01 14:04:16 +00:00
parent 4f030bbfff
commit 0feaee4124
1 changed files with 11 additions and 1 deletions

View File

@ -1042,7 +1042,17 @@ static bool AircraftController(Vehicle *v)
tile = st->xy;
/* Jump into our "holding pattern" state machine if possible */
if (v->u.air.pos >= afc->nofelements) v->u.air.pos = v->u.air.previous_pos = AircraftGetEntryPoint(v, afc);
if (v->u.air.pos >= afc->nofelements) {
v->u.air.pos = v->u.air.previous_pos = AircraftGetEntryPoint(v, afc);
} else {
/* If not possible, just get out of here fast */
v->u.air.state = FLYING;
UpdateAircraftCache(v);
AircraftNextAirportPos_and_Order(v);
/* get aircraft back on running altitude */
SetAircraftPosition(v, v->x_pos, v->y_pos, GetAircraftFlyingAltitude(v));
return false;
}
}
/* get airport moving data */