1
0
Fork 0

Make fgLoadProps more flexible, to read from $FG_ROOT or the current

directory.
This commit is contained in:
david 2003-01-21 02:08:00 +00:00
parent e0c7b29aa7
commit f61d73e546
2 changed files with 28 additions and 8 deletions

View file

@ -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;
}

View file

@ -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);