#include <Input/input.hxx>
#include <Instrumentation/instrument_mgr.hxx>
#include <Model/acmodel.hxx>
+#include <AIModel/AIManager.hxx>
#include <Navaids/fixlist.hxx>
#include <Navaids/ilslist.hxx>
#include <Navaids/mkrbeacons.hxx>
#if defined(HAVE_PLIB_PSL)
#include <Scripting/scriptmgr.hxx>
#endif
+#include <Scripting/NasalSys.hxx>
#include <Sound/fg_fx.hxx>
#include <Systems/system_mgr.hxx>
#include <Time/light.hxx>
static void fgSetDistOrAltFromGlideSlope() {
- cout << "fgSetDistOrAltFromGlideSlope()" << endl;
+ // cout << "fgSetDistOrAltFromGlideSlope()" << endl;
string apt_id = fgGetString("/sim/presets/airport-id");
double gs = fgGetDouble("/sim/presets/glideslope-deg")
* SG_DEGREES_TO_RADIANS ;
// Set the initial position based on presets (or defaults)
bool fgInitPosition() {
- cout << "fgInitPosition()" << endl;
+ // cout << "fgInitPosition()" << endl;
double gs = fgGetDouble("/sim/presets/glideslope-deg")
* SG_DEGREES_TO_RADIANS ;
double od = fgGetDouble("/sim/presets/offset-distance");
// Initialize the event manager subsystem.
////////////////////////////////////////////////////////////////////
- globals->get_event_mgr()->bind();
globals->get_event_mgr()->init();
-
- // Output event stats every 60 seconds
- globals->get_event_mgr()->add( "SGEventMgr::print_stats()",
- globals->get_event_mgr(),
- &SGEventMgr::print_stats,
- 60000 );
+ globals->get_event_mgr()->setFreezeProperty(fgGetNode("/sim/freeze/clock"));
////////////////////////////////////////////////////////////////////
// Initialize the material property subsystem.
}
// cause refresh of viewer scenery timestamps every 15 seconds...
- globals->get_event_mgr()->add( "FGTileMgr::refresh_view_timestamps()",
- globals->get_tile_mgr(),
- &FGTileMgr::refresh_view_timestamps,
- 15000 );
+ globals->get_event_mgr()->addTask( "FGTileMgr::refresh_view_timestamps()",
+ globals->get_tile_mgr(),
+ &FGTileMgr::refresh_view_timestamps,
+ 15 );
SG_LOG( SG_GENERAL, SG_DEBUG,
"Current terrain elevation after tile mgr init " <<
////////////////////////////////////////////////////////////////////
// update the current timezone each 30 minutes
- globals->get_event_mgr()->add( "fgUpdateLocalTime()",
- &fgUpdateLocalTime, 30*60*1000 );
+ globals->get_event_mgr()->addTask( "fgUpdateLocalTime()",
+ &fgUpdateLocalTime, 30*60 );
////////////////////////////////////////////////////////////////////
globals->get_AI_mgr()->init();
+ ////////////////////////////////////////////////////////////////////
+ // Initialise the AI Model Manager
+ ////////////////////////////////////////////////////////////////////
+
+ SG_LOG(SG_GENERAL, SG_INFO, " AI Model Manager");
+ globals->add_subsystem("ai_model", new FGAIManager);
+
+
#ifdef ENABLE_AUDIO_SUPPORT
////////////////////////////////////////////////////////////////////
// Initialize the sound subsystem.
globals->get_multiplayer_rx_mgr()->init();
#endif
+ ////////////////////////////////////////////////////////////////////////
+ // Initialize the Nasal interpreter.
+ // Do this last, so that the loaded scripts see initialized state
+ ////////////////////////////////////////////////////////////////////////
+ FGNasalSys* nasal = new FGNasalSys();
+ globals->add_subsystem("nasal", nasal);
+ nasal->init();
+
////////////////////////////////////////////////////////////////////////
// End of subsystem initialization.
////////////////////////////////////////////////////////////////////