]> 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 2056fcce7732cebcbc4fc670bfa9f46c975ec78b..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.
@@ -140,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.
@@ -532,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) {
@@ -556,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) {
@@ -575,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);
                        }