From: cvsguest Date: Wed, 5 Nov 2003 10:02:34 +0000 (+0000) Subject: Fix a nasty bug - FGATC::SetDisplay() should be called *after* FGATC::Init() since... X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=f4b3bad58e227930cb4aea57cde3c5a1461700c8;p=flightgear.git Fix a nasty bug - FGATC::SetDisplay() should be called *after* FGATC::Init() since display is often initialised to false in the init routine. Also some other bits and pieces. --- diff --git a/src/ATC/ATCmgr.cxx b/src/ATC/ATCmgr.cxx index 2056fcce7..22e2f6610 100644 --- a/src/ATC/ATCmgr.cxx +++ b/src/ATC/ATCmgr.cxx @@ -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; + cout << comm_ident[chan] << " is in list - flagging SetDisplay..." << endl; app->SetDisplay(); } else { // Generate the station and put in the ATC list - //cout << "Not in list - generating..." << endl; + cout << comm_ident[chan] << " is not in list - generating..." << endl; 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); }