Make fgLoadProps more flexible, to read from $FG_ROOT or the current
directory.
This commit is contained in:
parent
e0c7b29aa7
commit
f61d73e546
2 changed files with 28 additions and 8 deletions
|
@ -683,12 +683,25 @@ fgLoadFlight (istream &input)
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
fgLoadProps (const char * path, SGPropertyNode * props)
|
||||
bool
|
||||
fgLoadProps (const char * path, SGPropertyNode * props, bool in_fg_root)
|
||||
{
|
||||
SGPath loadpath(globals->get_fg_root());
|
||||
loadpath.append(path);
|
||||
readProperties(loadpath.c_str(), props);
|
||||
string fullpath;
|
||||
if (in_fg_root) {
|
||||
SGPath loadpath(globals->get_fg_root());
|
||||
loadpath.append(path);
|
||||
fullpath = loadpath.str();
|
||||
} else {
|
||||
fullpath = path;
|
||||
}
|
||||
|
||||
try {
|
||||
readProperties(fullpath, props);
|
||||
} catch (const sg_exception &e) {
|
||||
guiErrorMessage("Error reading properties: ", e);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -65,11 +65,18 @@ extern bool fgLoadFlight (istream &input);
|
|||
|
||||
|
||||
/**
|
||||
* Load properties from a file relative to $FG_ROOT.
|
||||
* Load properties from a file.
|
||||
*
|
||||
* @param file The file name relative to $FG_ROOT.
|
||||
* @param file The relative or absolute filename.
|
||||
* @param props The property node to load the properties into.
|
||||
* @param in_fg_root If true, look for the file relative to
|
||||
* $FG_ROOT; otherwise, look for the file relative to the
|
||||
* current working directory.
|
||||
* @return true if the properties loaded successfully, false
|
||||
* otherwise.
|
||||
*/
|
||||
extern void fgLoadProps (const char * path, SGPropertyNode * props);
|
||||
extern bool fgLoadProps (const char * path, SGPropertyNode * props,
|
||||
bool in_fg_root = true);
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue