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

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