From: curt Date: Sun, 9 Dec 2001 05:19:50 +0000 (+0000) Subject: Small tweaks to initialization sequence and logic so we can default to X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=470292a4341334820681d6d6e2ecc6039b8d6dd6;p=flightgear.git Small tweaks to initialization sequence and logic so we can default to a top level aircraft def file (c172-set.xml) preferences.xml or --aircraft= or any other property setting mechanism can be used to set the property "/sim/aircraft". After all options and config files are parsed, the contents of /sim/aircraft is expanded into a *-set.xml file and loaded. --- diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx index 9917c989c..dd4d403e5 100644 --- a/src/Main/fg_init.cxx +++ b/src/Main/fg_init.cxx @@ -269,6 +269,20 @@ 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; } diff --git a/src/Main/options.cxx b/src/Main/options.cxx index 64e08624a..1546462c2 100644 --- a/src/Main/options.cxx +++ b/src/Main/options.cxx @@ -903,18 +903,7 @@ parse_option (const string& arg) exit(2); } } else if ( arg.find( "--aircraft=" ) == 0 ) { - 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); - } + fgSetString("/sim/aircraft", arg.substr(11)); } else { SG_LOG( SG_GENERAL, SG_ALERT, "Unknown option '" << arg << "'" ); return FG_OPTIONS_ERROR;