Tweaks to how we load aircraft defaults and definition file to make things
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.
This commit is contained in:
parent
4cc5cee885
commit
5c0fa275d7
2 changed files with 14 additions and 15 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue