for (intVecIterator i = intentions.begin(); i != intentions.end(); i++)
{
- if (opp = net->findSegment(other.currentPos)->opposite())
+ if ((opp = net->findSegment(other.currentPos)->opposite()))
{
if ((*i) > 0)
if (opp->getIndex() == net->findSegment(*i)->getIndex())
{
// cerr << "Current segment 1 " << (*i) << endl;
if ((*i) > 0) {
- if (opp = net->findSegment(*i)->opposite())
+ if ((opp = net->findSegment(*i)->opposite()))
{
if (opp->getIndex() ==
net->findSegment(*j)->getIndex())
changeAltitude = false;
resolveCircularWait = false;
- double speed = 0;
- double heading = 0;
- double alt = 0;
+ speed = 0;
+ heading = 0;
+ alt = 0;
}
bool FGATCInstruction::hasInstruction()
}
string text;
string taxiFreqStr;
- char buffer[7];
double heading = 0;
string activeRunway;
string fltType;
string rwyClass;
string SID;
+ string transponderCode;
FGAIFlightPlan *fp;
+ string fltRules;
switch (msgId) {
case MSG_ANNOUNCE_ENGINE_START:
text = sender + ". Ready to Start up";
SID = "fly runway heading ";
}
//snprintf(buffer, 7, "%3.2f", heading);
+ fltRules = rec->getAircraft()->getTrafficRef()->getFlightRules();
+ transponderCode = genTransponderCode(fltRules);
+ rec->getAircraft()->SetTransponderCode(transponderCode);
text = receiver + ". Start-up approved. " + atisInformation + " correct, runway " + activeRunway
- + ", " + SID + ", squawk BBBB. " +
+ + ", " + SID + ", squawk " + transponderCode + ". " +
"For push-back and taxi clearance call " + taxiFreqStr + ". " + sender + " control.";
break;
case MSG_DENY_ENGINE_START:
}
taxiFreqStr = formatATCFrequency3_2(taxiFreq);
activeRunway = rec->getAircraft()->GetFlightPlan()->getRunway();
+ transponderCode = rec->getAircraft()->GetTransponderCode();
text = receiver + ". Start-up approved. " + atisInformation + " correct, runway " +
- activeRunway + ", " + SID + ", squawk BBBB. " +
+ activeRunway + ", " + SID + ", squawk " + transponderCode + ". " +
"For push-back and taxi clearance call " + taxiFreqStr + ". " + sender;
break;
default:
return string(buffer);
}
+string FGATCController::genTransponderCode(string fltRules) {
+ if (fltRules == "VFR") {
+ return string("1200");
+ } else {
+ char buffer[5];
+ snprintf(buffer, 5, "%d%d%d%d", rand() % 8, rand() % 8,rand() % 8, rand() % 8);
+ return string(buffer);
+ }
+}
+
/***************************************************************************
* class FGTowerController
*