// Flight Model options
fgSetString("/sim/flight-model", "jsb");
- fgSetString("/sim/aircraft", "c172");
+ fgSetString("/sim/aero", "c172");
fgSetInt("/sim/model-hz", NEW_DEFAULT_MODEL_HZ);
fgSetInt("/sim/speed-up", 1);
fgSetBool("/sim/startup/trim", false);
globals->set_fg_scenery(arg.substr( 13 ));
} else if ( arg.find( "--fdm=" ) == 0 ) {
fgSetString("/sim/flight-model", arg.substr(6));
- } else if ( arg.find( "--aircraft=" ) == 0 ) {
- fgSetString("/sim/aircraft", arg.substr(11));
+ } else if ( arg.find( "--aero=" ) == 0 ) {
+ fgSetString("/sim/aero", arg.substr(7));
} else if ( arg.find( "--aircraft-dir=" ) == 0 ) {
fgSetString("/sim/aircraft-dir", arg.substr(15));
} else if ( arg.find( "--model-hz=" ) == 0 ) {
add_channel( "native", arg.substr(9) );
} else if ( arg.find( "--native-ctrls=" ) == 0 ) {
add_channel( "native_ctrls", arg.substr(15) );
+ } else if ( arg.find( "--native-fdm=" ) == 0 ) {
+ add_channel( "native_fdm", arg.substr(13) );
+ } else if ( arg.find( "--opengc=" ) == 0 ) {
+ // char stop;
+ // cout << "Adding channel for OpenGC Display" << endl; cin >> stop;
+ add_channel( "opengc", arg.substr(9) );
} else if ( arg.find( "--garmin=" ) == 0 ) {
add_channel( "garmin", arg.substr(9) );
} else if ( arg.find( "--nmea=" ) == 0 ) {
fgSetString(name.c_str(), value);
// SG_LOG(SG_GENERAL, SG_INFO, "Setting default value of property "
// << name << " to \"" << value << '"');
- // $$$ begin - added VS Renganathan, 14 Oct 2K
- // for multi-window outside window imagery
+ } else if ( arg.find("--trace-read=") == 0) {
+ string name = arg.substr(13);
+ SG_LOG(SG_GENERAL, SG_INFO, "Tracing reads for property " << name);
+ fgGetNode(name, true)->setAttribute(SGPropertyNode::TRACE_READ, true);
+ } else if ( arg.find("--trace-write=") == 0) {
+ string name = arg.substr(14);
+ SG_LOG(SG_GENERAL, SG_INFO, "Tracing writes for property " << name);
+ fgGetNode(name, true)->setAttribute(SGPropertyNode::TRACE_WRITE, true);
} else if ( arg.find( "--view-offset=" ) == 0 ) {
+ // $$$ begin - added VS Renganathan, 14 Oct 2K
+ // for multi-window outside window imagery
string woffset = arg.substr( 14 );
double default_view_offset = 0.0;
if ( woffset == "LEFT" ) {
double speed = atof(val.substr(pos+1).c_str());
SG_LOG(SG_GENERAL, SG_INFO, "WIND: " << dir << '@' <<
speed << " knots" << endl);
- // convert to fps
+ fgSetDouble("/environment/wind-from-heading-deg", dir);
+ fgSetDouble("/environment/wind-speed-knots", speed);
+
+ // convert to fps
speed *= SG_NM_TO_METER * SG_METER_TO_FEET * (1.0/3600);
- dir += 180;
+ // dir += 180;
if (dir >= 360)
dir -= 360;
dir *= SGD_DEGREES_TO_RADIANS;
fgSetDouble("/environment/wind-north-fps",
- speed * cos(dir));
+ speed * cos(dir));
fgSetDouble("/environment/wind-east-fps",
- speed * sin(dir));
+ speed * sin(dir));
} else if ( arg.find( "--wp=" ) == 0 ) {
parse_wp( arg.substr( 5 ) );
} else if ( arg.find( "--flight-plan=") == 0) {
SG_LOG(SG_INPUT, SG_ALERT, message);
exit(2);
}
+ } else if ( arg.find( "--aircraft=" ) == 0 ) {
+ // read in the top level aircraft definition file
+ SGPath apath( globals->get_fg_root() );
+ apath.append( "Aircraft" );
+ apath.append( arg.substr(11) );
+ apath.concat( "-set.xml" );
+ try {
+ readProperties( apath.str(), globals->get_props() );
+ } catch (const sg_exception &e) {
+ string message = "Error loading aircraft file: ";
+ message += e.getFormattedMessage();
+ SG_LOG(SG_INPUT, SG_ALERT, message);
+ exit(2);
+ }
} else {
SG_LOG( SG_GENERAL, SG_ALERT, "Unknown option '" << arg << "'" );
return FG_OPTIONS_ERROR;
cout << "\t--enable-mouse-pointer: enable extra mouse pointer (i.e. for"
<< endl;
cout << "\t\tfull screen voodoo/voodoo-II based cards.)" << endl;
- cout << "\t--disable-freeze: start out in an running state" << endl;
+ cout << "\t--disable-freeze: start out in a running state" << endl;
cout << "\t--enable-freeze: start out in a frozen state" << endl;
cout << "\t--control=mode: primary control mode "
<< "(joystick, keyboard, mouse)" << endl;
cout << "\t--disable-hud: disable heads up display" << endl;
cout << "\t--enable-hud: enable heads up display" << endl;
cout << "\t--disable-panel: disable instrument panel" << endl;
- cout << "\t--enable-panel: enable instrumetn panel" << endl;
+ cout << "\t--enable-panel: enable instrument panel" << endl;
cout << "\t--disable-sound: disable sound effects" << endl;
cout << "\t--enable-sound: enable sound effects" << endl;
cout << "\t--disable-anti-alias-hud: disable anti aliased hud" << endl;
cout << "Flight Model:" << endl;
cout << "\t--fdm=abcd: selects the core flight model code." << endl;
- cout << "\t\tcan be one of jsb, larcsim, magic, external, balloon, or ada"
+ cout << "\t\tcan be one of jsb, larcsim, magic, null, external, balloon, or ada"
<< endl;
- cout << "\t--aircraft=abcd: aircraft model to load" << endl;
+ cout << "\t--aero=abcd: aerodynamics model to load" << endl;
cout << "\t--model-hz=n: run the FDM this rate (iterations per second)"
<< endl;
cout << "\t--speed=n: run the FDM this much faster than real time" << endl;
cout << "Initial Position and Orientation:" << endl;
cout << "\t--airport-id=ABCD: specify starting postion by airport id"
<< endl;
- cout << "\t--offset-distance: specify distance to threshhold"
+ cout << "\t--offset-distance: specify distance to threshold"
<< " (NM)" << endl;
- cout << "\t--offset-azimuth: specify heading to threshhold (deg) "
+ cout << "\t--offset-azimuth: specify heading to threshold (deg) "
<< endl;
cout << "\t--lon=degrees: starting longitude in degrees (west = -)"
<< endl;
cout << "\t--lat=degrees: starting latitude in degrees (south = -)"
<< endl;
cout << "\t--altitude=feet: starting altitude in feet" << endl;
- cout << "\t\t(unless --units-meters specified" << endl;
- cout << "\t--heading=degrees: heading (yaw) angle in degress (Psi)"
+ cout << "\t\t(unless --units-meters specified)" << endl;
+ cout << "\t--heading=degrees: heading (yaw) angle in degrees (Psi)"
<< endl;
cout << "\t--roll=degrees: roll angle in degrees (Phi)" << endl;
cout << "\t--pitch=degrees: pitch angle in degrees (Theta)" << endl;
<< endl;
cout << "\t--wBody=feet per second: velocity along the body Z axis"
<< endl;
- cout << "\t\t(unless --units-meters specified" << endl;
- cout << "\t--vc= initial airspeed in knots (--fdm=jsb only)" << endl;
- cout << "\t--mach= initial mach number (--fdm=jsb only)" << endl;
+ cout << "\t\t(unless --units-meters specified)" << endl;
+ cout << "\t--vc= initial airspeed in knots" << endl;
+ cout << "\t--mach= initial mach number" << endl;
cout << endl;
cout << "Rendering Options:" << endl;