Slightly altered calling sequence ensures AI aircraft are removed from
memory when flying out of user range.
This commit is contained in:
parent
721d849c79
commit
c51c0b1664
1 changed files with 20 additions and 19 deletions
|
@ -735,29 +735,30 @@ void FGAIAircraft::updatePrimaryTargetValues() {
|
|||
time_t now = time(NULL) + fgGetLong("/sim/time/warp");
|
||||
//cerr << "UpateTArgetValues() " << endl;
|
||||
ProcessFlightPlan(dt, now);
|
||||
if (! fp->isActive(now)) {
|
||||
// Do execute Ground elev for inactive aircraft, so they
|
||||
// Are repositioned to the correct ground altitude when the user flies within visibility range.
|
||||
// In addition, check whether we are out of user range, so this aircraft
|
||||
// can be deleted.
|
||||
if (onGround()) {
|
||||
|
||||
// Do execute Ground elev for inactive aircraft, so they
|
||||
// Are repositioned to the correct ground altitude when the user flies within visibility range.
|
||||
// In addition, check whether we are out of user range, so this aircraft
|
||||
// can be deleted.
|
||||
if (onGround()) {
|
||||
Transform(); // make sure aip is initialized.
|
||||
if (trafficRef) {
|
||||
//cerr << trafficRef->getRegistration() << " Setting altitude to " << altitude_ft;
|
||||
if (! aiTrafficVisible()) {
|
||||
setDie(true);
|
||||
throw AI_OutOfSight();
|
||||
}
|
||||
getGroundElev(dt);
|
||||
doGroundAltitude();
|
||||
// Transform();
|
||||
pos.setElevationFt(altitude_ft);
|
||||
}
|
||||
getGroundElev(dt);
|
||||
doGroundAltitude();
|
||||
// Transform();
|
||||
pos.setElevationFt(altitude_ft);
|
||||
}
|
||||
if (trafficRef) {
|
||||
//cerr << trafficRef->getRegistration() << " Setting altitude to " << altitude_ft;
|
||||
if (! aiTrafficVisible()) {
|
||||
setDie(true);
|
||||
//cerr << trafficRef->getRegistration() << " is set to die " << endl;
|
||||
throw AI_OutOfSight();
|
||||
}
|
||||
}
|
||||
if (! fp->isActive(now)) {
|
||||
throw FP_Inactive();
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// no flight plan, update target heading, speed, and altitude
|
||||
// from control properties. These default to the initial
|
||||
// settings in the config file, but can be changed "on the
|
||||
|
|
Loading…
Add table
Reference in a new issue