1
0
Fork 0

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:
cvsguest 2003-11-05 10:02:34 +00:00
parent c2983d61bc
commit f4b3bad58e

View 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;
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);
}