X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Finstrument_mgr.cxx;h=9d034800a7ab08aa1783ff239aa9d9dab5eede9c;hb=caf0138ab35b03bbe7bf367ff2222d0a31be3157;hp=4ebda4fa1b1c7bf8d457d22abd456d75d0564cb8;hpb=28c8e6fe1cdf19b517c6d572244b451f93581cf2;p=flightgear.git diff --git a/src/Instrumentation/instrument_mgr.cxx b/src/Instrumentation/instrument_mgr.cxx index 4ebda4fa1..9d034800a 100644 --- a/src/Instrumentation/instrument_mgr.cxx +++ b/src/Instrumentation/instrument_mgr.cxx @@ -37,13 +37,12 @@ #include "kt_70.hxx" #include "mag_compass.hxx" #include "marker_beacon.hxx" -#include "navradio.hxx" +#include "newnavradio.hxx" #include "slip_skid_ball.hxx" #include "transponder.hxx" #include "turn_indicator.hxx" #include "vertical_speed_indicator.hxx" #include "inst_vertical_speed_indicator.hxx" -#include "od_gauge.hxx" #include "wxradar.hxx" #include "tacan.hxx" #include "mk_viii.hxx" @@ -56,9 +55,7 @@ FGInstrumentMgr::FGInstrumentMgr () : _explicitGps(false) -{ - set_subsystem("od_gauge", new FGODGauge); - +{ globals->add_subsystem("hud", new HUD, SGSubsystemMgr::DISPLAY); } @@ -81,13 +78,13 @@ void FGInstrumentMgr::init() try { readProperties( config.str(), config_props ); if (!build(config_props)) { - throw sg_error( + throw sg_exception( "Detected an internal inconsistency in the instrumentation\n" "system specification file. See earlier errors for details."); } - } catch (const sg_exception&) { + } catch (const sg_exception& e) { SG_LOG(SG_COCKPIT, SG_ALERT, "Failed to load instrumentation system model: " - << config.str() ); + << config.str() << ":" << e.getFormattedMessage() ); } @@ -138,7 +135,7 @@ bool FGInstrumentMgr::build (SGPropertyNode* config_props) subsystemname << '['<< index << ']'; string id = subsystemname.str(); _instruments.push_back(id); - + if ( name == "adf" ) { set_subsystem( id, new ADF( node ), 0.15 ); @@ -188,7 +185,7 @@ bool FGInstrumentMgr::build (SGPropertyNode* config_props) set_subsystem( id, new FGMarkerBeacon( node ) ); } else if ( name == "nav-radio" ) { - set_subsystem( id, new FGNavRadio( node ) ); + set_subsystem( id, Instrumentation::NavRadio::createInstance( node ) ); } else if ( name == "slip-skid-ball" ) { set_subsystem( id, new SlipSkidBall( node ) );