]> git.mxchange.org Git - flightgear.git/blobdiff - Main/options.cxx
Renamed class fgFLIGHT to class FGState as per request by JSB.
[flightgear.git] / Main / options.cxx
index 69ffbc14ed4370cec83b676c9eda7444e5b0f53c..b9e7b79fd3c021d4c487b6ba0d2428d1ddcd6fe7 100644 (file)
 #include <Debug/logstream.hxx>
 #include <Flight/flight.hxx>
 #include <Include/fg_constants.h>
+#include <Main/options.hxx>
 #include <Misc/fgstream.hxx>
 
 #include "fg_serial.hxx"
 
-#include "options.hxx"
-
-
-const int fgOPTIONS::FG_RADIUS_MIN;
-const int fgOPTIONS::FG_RADIUS_MAX;
-
 
 inline double
 atof( const string& str )
@@ -134,7 +129,7 @@ fgOPTIONS::fgOPTIONS() :
     sound(1),
 
     // Flight Model options
-    flight_model(FG_LARCSIM),
+    flight_model(FGState::FG_LARCSIM),
 
     // Rendering options
     fog(FG_FOG_NICEST),  // nicest
@@ -155,18 +150,7 @@ fgOPTIONS::fgOPTIONS() :
     tris_or_culled(0),
        
     // Time options
-    time_offset(0),
-
-    // Serial port options
-    // port_a(FG_SERIAL_DISABLED),
-    // port_b(FG_SERIAL_DISABLED),
-    // port_c(FG_SERIAL_DISABLED),
-    // port_d(FG_SERIAL_DISABLED),
-
-    port_a_config(""),
-    port_b_config(""),
-    port_c_config(""),
-    port_d_config("")
+    time_offset(0)
 
 {
     // set initial values/defaults
@@ -189,6 +173,10 @@ fgOPTIONS::fgOPTIONS() :
     }
 
     airport_id = "";  // default airport id
+
+    // initialize port config string list
+    port_options_list.erase ( port_options_list.begin(), 
+                             port_options_list.end() );
 }
 
 
@@ -322,9 +310,11 @@ fgOPTIONS::parse_flight_model( const string& fm ) {
     // printf("flight model = %s\n", fm);
 
     if ( fm == "slew" ) {
-       return FG_SLEW;
+       return FGState::FG_SLEW;
     } else if ( (fm == "larcsim") || (fm == "LaRCsim") ) {
-       return FG_LARCSIM;
+       return FGState::FG_LARCSIM;
+    } else if ( fm == "external" ) {
+       return FGState::FG_EXTERNAL;
     } else {
        FG_LOG( FG_GENERAL, FG_ALERT, "Unknown flight model = " << fm );
        exit(-1);
@@ -349,25 +339,23 @@ fgOPTIONS::parse_fov( const string& arg ) {
 }
 
 
-// Parse serial port option --serial=a,/dev/ttyS1,nmea,4800,out
+// Parse serial port option --serial=/dev/ttyS1,nmea,4800,out
 //
-// Format is "--serial=port_id,device,format,baud,direction" where
+// Format is "--serial=device,format,baud,direction" where
 // 
-//  port_id = {a, b, c, d}
 //  device = OS device name to be open()'ed
 //  format = {nmea, fgfs}
 //  baud = {300, 1200, 2400, ..., 230400}
 //  direction = {in, out, bi}
-//
+
 bool 
 fgOPTIONS::parse_serial( const string& serial_str ) {
     string::size_type pos;
-    string port;
-    string config;
 
     // cout << "Serial string = " << serial_str << endl;
 
-    // port
+    // a flailing attempt to see if the port config string has a
+    // chance at being valid
     pos = serial_str.find(",");
     if ( pos == string::npos ) {
        FG_LOG( FG_GENERAL, FG_ALERT, 
@@ -375,22 +363,7 @@ fgOPTIONS::parse_serial( const string& serial_str ) {
        return false;
     }
     
-    port = serial_str.substr(0, pos);
-    config = serial_str.substr(++pos);
-
-    if ( port == "a" ) {
-       port_a_config = config;
-    } else if ( port == "b" ) {
-       port_b_config = config;
-    } else if ( port == "c" ) {
-       port_c_config = config;
-    } else if ( port == "d" ) {
-       port_d_config = config;
-    } else {
-       FG_LOG( FG_GENERAL, FG_ALERT, "Valid ports are a - d, config for port "
-               << port << " ignored" );
-       return false;
-    }
+    port_options_list.push_back( serial_str );
 
     return true;
 }
@@ -598,6 +571,10 @@ void fgOPTIONS::usage ( void ) {
     printf("\t--enable-sound:  enable sound effects\n");
     printf("\n");
  
+    printf("Flight Model:\n");
+    printf("\t--flight-mode=abcd:  one of slew, 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");
@@ -623,7 +600,7 @@ void fgOPTIONS::usage ( void ) {
     printf("\t--enable-textures:  enable textures\n");
     printf("\t--disable-wireframe:  disable wireframe drawing mode\n");
     printf("\t--enable-wireframe:  enable wireframe drawing mode\n");
-    printf("\t--geomtry=WWWxHHH:  specify window geometry: 640x480, 800x600\n");
+    printf("\t--geometry=WWWxHHH:  window geometry: 640x480, 800x600, etc.\n");
     printf("\n");
 
     printf("Scenery Options:\n");
@@ -647,6 +624,18 @@ fgOPTIONS::~fgOPTIONS( void ) {
 
 
 // $Log$
+// 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.
+//
+// Revision 1.32  1998/11/25 01:34:00  curt
+// Support for an arbitrary number of serial ports.
+//
+// Revision 1.31  1998/11/23 21:49:04  curt
+// Borland portability tweaks.
+//
 // Revision 1.30  1998/11/16 14:00:02  curt
 // Added pow() macro bug work around.
 // Added support for starting FGFS at various resolutions.