]> git.mxchange.org Git - flightgear.git/blobdiff - src/ATC/ATCmgr.cxx
Fix the nmea and garmin output to a) fake a GSA sentence, b) fix a y2k bug
[flightgear.git] / src / ATC / ATCmgr.cxx
index 4c8c87ce5acd7cad973f10bf579ba09243d1aff9..cd1686d9d50f2617fa6a62c7eecc64514fa84119 100644 (file)
@@ -102,6 +102,9 @@ void FGATCMgr::init() {
     current_commlist = new FGCommList;
     SGPath p_comm( globals->get_fg_root() );
     current_commlist->init( p_comm );
+       
+       // Set the user callsign - bit of a hack at the moment - eventually should be read from aircraft file and user-over-rideable
+       fgSetString("/sim/user/callsign", "Golf Foxtrot Sierra");       // C-FGFS
 
 #ifdef ENABLE_AUDIO_SUPPORT    
        // Load all available voices.
@@ -131,12 +134,6 @@ void FGATCMgr::init() {
     current_atcdialog = new FGATCDialog;
     current_atcdialog->Init();
 
-       ATCDialogInit();
-       
-       // DCL - testing
-       //current_atcdialog->add_entry( "EGNX", "Request vectoring for approach", "Request Vectors" );
-       //current_atcdialog->add_entry( "EGNX", "Mayday, Mayday", "Declare Emergency" );
-       
        initDone = true;
 }
 
@@ -146,6 +143,8 @@ void FGATCMgr::update(double dt) {
                SG_LOG(SG_ATC, SG_WARN, "Warning - ATCMgr::update(...) called before ATCMgr::init()");
        }
        
+       current_atcdialog->Update(dt);
+       
        //cout << "Entering update..." << endl;
        //Traverse the list of active stations.
        //Only update one class per update step to avoid the whole ATC system having to calculate between frames.
@@ -476,11 +475,6 @@ FGATCVoice* FGATCMgr::GetVoicePointer(atc_type type) {
        }
 }
 
-// Display a dialog box with options relevant to the currently tuned ATC service.
-void FGATCMgr::doPopupDialog() {
-       ATCDoDialog(comm_type[0]);      // FIXME - currently hardwired to comm1
-}
-
 // Search for ATC stations by frequency
 void FGATCMgr::FreqSearch(int channel) {
        int chan = channel - 1;         // Convert to zero-based for the arrays
@@ -543,16 +537,16 @@ void FGATCMgr::FreqSearch(int channel) {
                        FGATC* app = FindInList(comm_ident[chan], TOWER);
                        if(app != NULL) {
                                // The station is already in the ATC list
-                               //cout << "In list - flagging SetDisplay..." << endl;
+                                SG_LOG(SG_GENERAL, SG_DEBUG, comm_ident[chan] << " is in list - flagging SetDisplay...");
                                app->SetDisplay();
                        } else {
                                // Generate the station and put in the ATC list
-                               //cout << "Not in list - generating..." << endl;
+                                SG_LOG(SG_GENERAL, SG_DEBUG, comm_ident[chan] << " is not in list - generating...");
                                FGTower* t = new FGTower;
                                t->SetData(&data);
                                comm_atc_ptr[chan] = t;
-                               t->SetDisplay();
                                t->Init();
+                               t->SetDisplay();
                                atc_list.push_back(t);
                        }
                }  else if (comm_type[chan] == GROUND) {
@@ -567,8 +561,8 @@ void FGATCMgr::FreqSearch(int channel) {
                                FGGround* g = new FGGround;
                                g->SetData(&data);
                                comm_atc_ptr[chan] = g;
-                               g->SetDisplay();
                                g->Init();
+                               g->SetDisplay();
                                atc_list.push_back(g);
                        }
                } else if (comm_type[chan] == APPROACH) {
@@ -586,8 +580,8 @@ void FGATCMgr::FreqSearch(int channel) {
                                FGApproach* a = new FGApproach;
                                a->SetData(&data);
                                comm_atc_ptr[chan] = a;
-                               a->SetDisplay();
                                a->Init();
+                               a->SetDisplay();
                                a->AddPlane("Player");
                                atc_list.push_back(a);
                        }