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.
This commit is contained in:
parent
c2983d61bc
commit
f4b3bad58e
1 changed files with 10 additions and 5 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue