X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Foptions.cxx;h=8571b1ca0f82457951b9b164a8447a77d2043dbe;hb=a9ab25ddd15af9d2ddc0b5dfed6548c51c7e5ed9;hp=1c4c0a38781ce9e55e773894b1d5868746071936;hpb=f89d86d4af6ab8356ad1cbe1e395d79cdd976145;p=flightgear.git diff --git a/src/Main/options.cxx b/src/Main/options.cxx index 1c4c0a387..8571b1ca0 100644 --- a/src/Main/options.cxx +++ b/src/Main/options.cxx @@ -214,7 +214,7 @@ fgOPTIONS::fgOPTIONS() : #if defined( WIN32 ) fg_root = "\\FlightGear"; -#elif defined( MACOS ) +#elif defined( macintosh ) fg_root = ""; #else fg_root = PKGLIBDIR; @@ -233,7 +233,7 @@ fgOPTIONS::fgOPTIONS() : fg_scenery = ""; } - airport_id = ""; // default airport id + airport_id = "P13"; // default airport id net_id = "Johnney"; // default pilot's name // initialize port config string list @@ -646,14 +646,19 @@ int fgOPTIONS::parse_option( const string& arg ) { airport_id = arg.substr( 13 ); } else if ( arg.find( "--lon=" ) != string::npos ) { lon = parse_degree( arg.substr(6) ); + airport_id = ""; + current_properties.setDoubleValue("/position/longitude", lon); } else if ( arg.find( "--lat=" ) != string::npos ) { lat = parse_degree( arg.substr(6) ); + airport_id = ""; + current_properties.setDoubleValue("/position/latitude", lat); } else if ( arg.find( "--altitude=" ) != string::npos ) { if ( units == FG_UNITS_FEET ) { altitude = atof( arg.substr(11) ) * FEET_TO_METER; } else { altitude = atof( arg.substr(11) ); } + current_properties.setDoubleValue("/position/altitude", altitude); } else if ( arg.find( "--uBody=" ) != string::npos ) { vkcas=mach=-1; if ( units == FG_UNITS_FEET ) { @@ -661,6 +666,7 @@ int fgOPTIONS::parse_option( const string& arg ) { } else { uBody = atof( arg.substr(8) ) * FEET_TO_METER; } + current_properties.setDoubleValue("/velocities/speed-north", uBody); } else if ( arg.find( "--vBody=" ) != string::npos ) { vkcas=mach=-1; if ( units == FG_UNITS_FEET ) { @@ -668,6 +674,7 @@ int fgOPTIONS::parse_option( const string& arg ) { } else { vBody = atof( arg.substr(8) ) * FEET_TO_METER; } + current_properties.setDoubleValue("/velocities/speed-east", vBody); } else if ( arg.find( "--wBody=" ) != string::npos ) { vkcas=mach=-1; if ( units == FG_UNITS_FEET ) { @@ -675,6 +682,7 @@ int fgOPTIONS::parse_option( const string& arg ) { } else { wBody = atof( arg.substr(8) ) * FEET_TO_METER; } + current_properties.setDoubleValue("/velocities/speed-down", wBody); } else if ( arg.find( "--vc=" ) != string::npos) { mach=-1; vkcas=atof( arg.substr(5) ); @@ -684,16 +692,20 @@ int fgOPTIONS::parse_option( const string& arg ) { mach=atof( arg.substr(7) ); } else if ( arg.find( "--heading=" ) != string::npos ) { heading = atof( arg.substr(10) ); + current_properties.setDoubleValue("/orientation/heading", heading); } else if ( arg.find( "--roll=" ) != string::npos ) { roll = atof( arg.substr(7) ); + current_properties.setDoubleValue("/orientation/roll", roll); } else if ( arg.find( "--pitch=" ) != string::npos ) { pitch = atof( arg.substr(8) ); + current_properties.setDoubleValue("/orientation/pitch", pitch); } else if ( arg.find( "--fg-root=" ) != string::npos ) { fg_root = arg.substr( 10 ); } else if ( arg.find( "--fg-scenery=" ) != string::npos ) { fg_scenery = arg.substr( 13 ); } else if ( arg.find( "--fdm=" ) != string::npos ) { flight_model = parse_fdm( arg.substr(6) ); + current_properties.setIntValue("/sim/flight-model", flight_model); if((flight_model == FGInterface::FG_JSBSIM) && (get_trim_mode() == 0)) { set_trim_mode(1); } else { @@ -701,6 +713,7 @@ int fgOPTIONS::parse_option( const string& arg ) { } } else if ( arg.find( "--aircraft=" ) != string::npos ) { aircraft = arg.substr(11); + current_properties.setStringValue("/sim/aircraft", aircraft); } else if ( arg.find( "--aircraft-dir=" ) != string::npos ) { aircraft_dir = arg.substr(15); // (UIUC) } else if ( arg.find( "--model-hz=" ) != string::npos ) { @@ -897,7 +910,7 @@ int fgOPTIONS::parse_config_file( const string& path ) { #ifdef GETLINE_NEEDS_TERMINATOR getline( in, line, '\n' ); -#elif defined (MACOS) +#elif defined( macintosh ) getline( in, line, '\r' ); #else getline( in, line );