#define _FG_INIT_HXX
#include <string>
+#include <simgear/misc/sg_path.hxx>
// forward decls
class SGPropertyNode;
-class SGTime;
-
-// Read in configuration (files and command line optoins) but only set
-// fg_root
-bool fgInitFGRoot ( int argc, char **argv );
-
// Return the current base package version
std::string fgBasePackageVersion();
+bool fgInitHome();
// Read in configuration (file and command line)
-bool fgInitConfig ( int argc, char **argv );
+int fgInitConfig ( int argc, char **argv );
+// log various settings / configuration state
+void fgOutputSettings();
+
// Initialize the localization
SGPropertyNode *fgInitLocale(const char *language);
-
// Init navaids and waypoints
bool fgInitNav ();
bool fgInitGeneral ();
-// This is the top level init routine which calls all the other
-// initialization routines. If you are adding a subsystem to flight
-// gear, its initialization call should located in this routine.
-bool fgInitSubsystems();
+// Create all the subsystems needed by the sim
+void fgCreateSubsystems();
-
-// Reset
+// 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();
-/**
- * this is what the 'reset' command (and hence, GUI) is attached too
- * it overlaps with fgReInitSubsystems quite substantially
- */
-void doSimulatorReset(void);
-
-// Set the initial position based on presets (or defaults)
-bool fgInitPosition();
-
-
-// Listen to /sim/tower/airport-id and set tower view position accordingly
-void fgInitTowerLocationListener();
-
-
-// Initialize various time dependent systems (lighting, sun position, etc.)
-// returns a new instance of the SGTime class
-SGTime *fgInitTime();
-
-// set up a time offset (aka warp) if one is specified
-void fgInitTimeOffset();
-
-
#endif // _FG_INIT_HXX