]> git.mxchange.org Git - flightgear.git/commitdiff
Tweaks to how we load aircraft defaults and definition file to make things
authorcurt <curt>
Mon, 10 Dec 2001 16:29:20 +0000 (16:29 +0000)
committercurt <curt>
Mon, 10 Dec 2001 16:29:20 +0000 (16:29 +0000)
more intuitive.  We switch to an include in the preferences.xml to include
the default model, and then if the user specifies --aircraft=, that is
expanded immediately so portions can be overwritten by subsequent command
line options.

src/Main/fg_init.cxx
src/Main/options.cxx

index dd4d403e5fdc424084cf0882e2386d7b4427d798..9917c989ce736a8f259cdb6abfea5d41697e1371 100644 (file)
@@ -269,20 +269,6 @@ bool fgInitConfig ( int argc, char **argv ) {
     // These will override anything specified in a config file
     fgParseOptions(argc, argv);
 
-    // read in the top level aircraft definition file
-    SGPath apath( globals->get_fg_root() );
-    apath.append( "Aircraft" );
-    apath.append( fgGetString("/sim/aircraft") );
-    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);
-    }
-
     return true;
 }
 
index 1546462c26a5031163f4b4bd6132b11d0ac1a589..d640ffe2eb85b6fcadfa9e9dfaa241678a0596a8 100644 (file)
@@ -903,7 +903,20 @@ parse_option (const string& arg)
          exit(2);
        }
     } else if ( arg.find( "--aircraft=" ) == 0 ) {
-       fgSetString("/sim/aircraft", arg.substr(11));
+        // 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 {
+            SGPropertyNode *sim = fgGetNode("/sim");
+            readProperties( apath.str(), sim );
+        } 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;