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
|
bool
|
||||||
fgLoadProps (const char * path, SGPropertyNode * props)
|
fgLoadProps (const char * path, SGPropertyNode * props, bool in_fg_root)
|
||||||
{
|
{
|
||||||
SGPath loadpath(globals->get_fg_root());
|
string fullpath;
|
||||||
loadpath.append(path);
|
if (in_fg_root) {
|
||||||
readProperties(loadpath.c_str(), props);
|
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