Better support for multiple startup messages.
This commit is contained in:
parent
931c661b40
commit
66b5a7c53b
1 changed files with 8 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
||||||
/// trafficrecord.cxx - Implementation of AIModels ATC code.
|
// trafficrecord.cxx - Implementation of AIModels ATC code.
|
||||||
//
|
//
|
||||||
// Written by Durk Talsma, started September 2006.
|
// Written by Durk Talsma, started September 2006.
|
||||||
//
|
//
|
||||||
|
@ -401,7 +401,7 @@ void FGATCController::transmit(FGTrafficRecord *rec, AtcMsgId msgId, AtcMsgDir m
|
||||||
double onBoardRadioFreq1 = fgGetDouble("/instrumentation/comm[1]/frequencies/selected-mhz");
|
double onBoardRadioFreq1 = fgGetDouble("/instrumentation/comm[1]/frequencies/selected-mhz");
|
||||||
int onBoardRadioFreqI0 = (int) floor(onBoardRadioFreq0 * 100 + 0.5);
|
int onBoardRadioFreqI0 = (int) floor(onBoardRadioFreq0 * 100 + 0.5);
|
||||||
int onBoardRadioFreqI1 = (int) floor(onBoardRadioFreq1 * 100 + 0.5);
|
int onBoardRadioFreqI1 = (int) floor(onBoardRadioFreq1 * 100 + 0.5);
|
||||||
//cerr << "Using " << currFreqI << " and " << commFreq << endl;
|
//cerr << "Using " << onBoardRadioFreq0 << ", " << onBoardRadioFreq1 << " and " << stationFreq << endl;
|
||||||
|
|
||||||
// Display ATC message only when one of the radios is tuned
|
// Display ATC message only when one of the radios is tuned
|
||||||
// the relevant frequency.
|
// the relevant frequency.
|
||||||
|
@ -608,7 +608,8 @@ FGATCInstruction FGTowerController::getInstruction(int id)
|
||||||
FGStartupController::FGStartupController() :
|
FGStartupController::FGStartupController() :
|
||||||
FGATCController()
|
FGATCController()
|
||||||
{
|
{
|
||||||
available = true;
|
available = false;
|
||||||
|
lastTransmission = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FGStartupController::announcePosition(int id, FGAIFlightPlan *intendedRoute, int currentPosition,
|
void FGStartupController::announcePosition(int id, FGAIFlightPlan *intendedRoute, int currentPosition,
|
||||||
|
@ -749,6 +750,9 @@ void FGStartupController::update(int id, double lat, double lon, double heading,
|
||||||
int state = i->getState();
|
int state = i->getState();
|
||||||
time_t startTime = i->getAircraft()->getTrafficRef()->getDepartureTime();
|
time_t startTime = i->getAircraft()->getTrafficRef()->getDepartureTime();
|
||||||
time_t now = time(NULL) + fgGetLong("/sim/time/warp");
|
time_t now = time(NULL) + fgGetLong("/sim/time/warp");
|
||||||
|
//cerr << i->getAircraft()->getTrafficRef()->getCallSign()
|
||||||
|
// << " is scheduled to depart in " << startTime-now << " seconds. Available = " << available
|
||||||
|
// << " at parking " << getGateName(i->getAircraft()) << endl;
|
||||||
|
|
||||||
if ((now - lastTransmission) > 3 + (rand() % 15)) {
|
if ((now - lastTransmission) > 3 + (rand() % 15)) {
|
||||||
available = true;
|
available = true;
|
||||||
|
@ -756,6 +760,7 @@ void FGStartupController::update(int id, double lat, double lon, double heading,
|
||||||
|
|
||||||
if ((state == 0) && available) {
|
if ((state == 0) && available) {
|
||||||
if (now > startTime) {
|
if (now > startTime) {
|
||||||
|
//cerr << "Transmitting startup msg" << endl;
|
||||||
transmit(&(*i), MSG_ANNOUNCE_ENGINE_START, ATC_AIR_TO_GROUND);
|
transmit(&(*i), MSG_ANNOUNCE_ENGINE_START, ATC_AIR_TO_GROUND);
|
||||||
i->updateState();
|
i->updateState();
|
||||||
lastTransmission = now;
|
lastTransmission = now;
|
||||||
|
|
Loading…
Add table
Reference in a new issue