-//
// options.cxx -- class to handle command line options
//
// Written by Curtis Olson, started April 1998.
#include <string>
#include <Debug/logstream.hxx>
-#include <Flight/flight.hxx>
+#include <FDM/flight.hxx>
#include <Include/fg_constants.h>
#include <Main/options.hxx>
#include <Misc/fgstream.hxx>
sound(1),
// Flight Model options
- flight_model(fgFLIGHT::FG_LARCSIM),
+ flight_model(FGInterface::FG_LARCSIM),
// Rendering options
fog(FG_FOG_NICEST), // nicest
}
-// Parse --flightmode=abcdefg type option
+// Parse --fdm=abcdefg type option
int
-fgOPTIONS::parse_flight_model( const string& fm ) {
- // printf("flight model = %s\n", fm);
+fgOPTIONS::parse_fdm( const string& fm ) {
+ // printf("fdm = %s\n", fm);
if ( fm == "slew" ) {
- return fgFLIGHT::FG_SLEW;
+ return FGInterface::FG_SLEW;
+ } else if ( fm == "jsb" ) {
+ return FGInterface::FG_JSBSIM;
} else if ( (fm == "larcsim") || (fm == "LaRCsim") ) {
- return fgFLIGHT::FG_LARCSIM;
+ return FGInterface::FG_LARCSIM;
} else if ( fm == "external" ) {
- return fgFLIGHT::FG_EXTERNAL;
+ return FGInterface::FG_EXTERNAL;
} else {
- FG_LOG( FG_GENERAL, FG_ALERT, "Unknown flight model = " << fm );
+ FG_LOG( FG_GENERAL, FG_ALERT, "Unknown fdm = " << fm );
exit(-1);
}
} else if ( arg.find( "--lat=" ) != string::npos ) {
lat = parse_degree( arg.substr(6) );
} else if ( arg.find( "--altitude=" ) != string::npos ) {
- altitude = atof( arg.substr(11) );
+ if ( units == FG_UNITS_FEET ) {
+ altitude = atof( arg.substr(11) ) * FEET_TO_METER;
+ } else {
+ altitude = atof( arg.substr(11) );
+ }
} else if ( arg.find( "--heading=" ) != string::npos ) {
heading = atof( arg.substr(10) );
} else if ( arg.find( "--roll=" ) != string::npos ) {
pitch = atof( arg.substr(8) );
} else if ( arg.find( "--fg-root=" ) != string::npos ) {
fg_root = arg.substr( 10 );
- } else if ( arg.find( "--flight-model=" ) != string::npos ) {
- flight_model = parse_flight_model( arg.substr(15) );
+ } else if ( arg.find( "--fdm=" ) != string::npos ) {
+ flight_model = parse_fdm( arg.substr(6) );
} else if ( arg == "--fog-disable" ) {
fog = FG_FOG_DISABLED;
} else if ( arg == "--fog-fastest" ) {
printf("\n");
printf("Flight Model:\n");
- printf("\t--flight-mode=abcd: one of slew, larcsim, or external\n");
+ printf("\t--fdm=abcd: one of slew, jsb, larcsim, or external\n");
printf("\n");
printf("Initial Position and Orientation:\n");
printf("\t--airport-id=ABCD: specify starting postion by airport id\n");
printf("\t--lon=degrees: starting longitude in degrees (west = -)\n");
printf("\t--lat=degrees: starting latitude in degrees (south = -)\n");
- printf("\t--altitude=meters: starting altitude in meters\n");
+ printf("\t--altitude=feet: starting altitude in feet\n");
+ printf("\t\t(unless --units-meters specified\n");
printf("\t--heading=degrees: heading (yaw) angle in degress (Psi)\n");
printf("\t--roll=degrees: roll angle in degrees (Phi)\n");
printf("\t--pitch=degrees: pitch angle in degrees (Theta)\n");
printf("\t--units-meters: Hud displays units in meters\n");
printf("\t--hud-tris: Hud displays number of triangles rendered\n");
printf("\t--hud-culled: Hud displays percentage of triangles culled\n");
+ printf("\n");
printf("Time Options:\n");
printf("\t--time-offset=[+-]hh:mm:ss: offset local time by this amount\n");
// $Log$
+// Revision 1.39 1999/02/05 21:29:12 curt
+// Modifications to incorporate Jon S. Berndts flight model code.
+//
+// Revision 1.38 1999/02/01 21:33:35 curt
+// Renamed FlightGear/Simulator/Flight to FlightGear/Simulator/FDM since
+// Jon accepted my offer to do this and thought it was a good idea.
+//
+// Revision 1.37 1999/01/19 20:57:05 curt
+// MacOS portability changes contributed by "Robert Puyol" <puyol@abvent.fr>
+//
+// Revision 1.36 1999/01/07 20:25:10 curt
+// Updated struct fgGENERAL to class FGGeneral.
+//
+// Revision 1.35 1998/12/06 14:52:57 curt
+// Fixed a problem with the initial starting altitude. "v->abs_view_pos" wasn't
+// being calculated correctly at the beginning causing the first terrain
+// intersection to fail, returning a ground altitude of zero, causing the plane
+// to free fall for one frame, until the ground altitude was corrected, but now
+// being under the ground we got a big bounce and the plane always ended up
+// upside down.
+//
+// Revision 1.34 1998/12/05 15:54:22 curt
+// Renamed class fgFLIGHT to class FGState as per request by JSB.
+//
// Revision 1.33 1998/12/04 01:30:44 curt
// Added support for the External flight model.
//