// forward decls
class SGPropertyNode;
+class SGPath;
// Return the current base package version
-std::string fgBasePackageVersion();
+std::string fgBasePackageVersion(const SGPath& path);
bool fgInitHome();
// Read in configuration (file and command line)
-int fgInitConfig ( int argc, char **argv );
+int fgInitConfig ( int argc, char **argv, bool reinit );
+void fgInitAircraftPaths(bool reinit);
+
+int fgInitAircraft(bool reinit);
// log various settings / configuration state
void fgOutputSettings();
// Create all the subsystems needed by the sim
-void fgCreateSubsystems();
+void fgCreateSubsystems(bool duringReset);
// called after the subsystems have been bound and initialised,
// to peform final init
void fgPostInitSubsystems();
-
-// Reset: this is what the 'reset' command (and hence, GUI) is attached to
-void fgReInitSubsystems();
-
-/*
- * Search in the current directory, and in on directory deeper
- * for <aircraft>-set.xml configuration files and show the aircaft name
- * and the contents of the<description> tag in a sorted manner.
- *
- * @parampath the directory to search for configuration files
- */
-void fgShowAircraft(const SGPath &path);
+
+// Re-position: when only location is changing, we can do considerably
+// less work than a full re-init.
+void fgStartReposition();
+
+void fgStartNewReset();
+
+// setup the package system including the global root
+void fgInitPackageRoot();
#endif // _FG_INIT_HXX