From 721e9f469d6b839181a3f606fdaf5d5a27802194 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Feb 2004 15:16:23 +0000 Subject: [PATCH] Add the aircraft model, model manager, view manager, and scenery manager to the standard subsystem collection manager, rather than using extra code to initialize and update them. --- src/Main/fg_init.cxx | 32 ++++++++++++++++++++++++++++++++ src/Main/main.cxx | 38 -------------------------------------- 2 files changed, 32 insertions(+), 38 deletions(-) diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx index d2ff2eea2..bf3fc0c3d 100644 --- a/src/Main/fg_init.cxx +++ b/src/Main/fg_init.cxx @@ -97,6 +97,7 @@ #include #include #include +#include #include #include #include @@ -1481,6 +1482,37 @@ bool fgInitSubsystems() { // Initialize the scenery management subsystem. //////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////// + // Initialize the TG scenery subsystem. + //////////////////////////////////////////////////////////////////// + FGScenery * scenery = new FGScenery; + globals->set_scenery(scenery); + globals->add_subsystem("scenery", scenery); + + globals->set_tile_mgr( new FGTileMgr ); + + //////////////////////////////////////////////////////////////////// + // Initialize the general model subsystem. + //////////////////////////////////////////////////////////////////// + FGModelMgr * manager = new FGModelMgr; + globals->set_model_mgr(manager); + globals->add_subsystem("model-manager", manager); + + //////////////////////////////////////////////////////////////////// + // Initialize the 3D aircraft model subsystem (has a dependency on + // the scenery subsystem.) + //////////////////////////////////////////////////////////////////// + FGAircraftModel * aircraft = new FGAircraftModel; + globals->set_aircraft_model(aircraft); + globals->add_subsystem("aircraft-model", aircraft); + + //////////////////////////////////////////////////////////////////// + // Initialize the view manager subsystem. + //////////////////////////////////////////////////////////////////// + FGViewMgr *viewmgr = new FGViewMgr; + globals->set_viewmgr( viewmgr ); + globals->add_subsystem("view-manager", viewmgr); + if ( globals->get_tile_mgr()->init() ) { // Load the local scenery data double visibility_meters = fgGetDouble("/environment/visibility-m"); diff --git a/src/Main/main.cxx b/src/Main/main.cxx index 0f7d536e9..0fefcc777 100644 --- a/src/Main/main.cxx +++ b/src/Main/main.cxx @@ -892,12 +892,6 @@ void fgUpdateTimeDepCalcs() { // do nothing, fdm isn't inited yet } - globals->get_model_mgr()->update(delta_time_sec); - globals->get_aircraft_model()->update(delta_time_sec); - - // update the view angle - globals->get_viewmgr()->update(delta_time_sec); - // Update solar system globals->get_ephem()->update( globals->get_time_params()->getMjd(), globals->get_time_params()->getLst(), @@ -1608,38 +1602,6 @@ bool fgMainInit( int argc, char **argv ) { globals->set_model_lib(new SGModelLib); - //////////////////////////////////////////////////////////////////// - // Initialize the TG scenery subsystem. - //////////////////////////////////////////////////////////////////// - globals->set_scenery( new FGScenery ); - globals->get_scenery()->init(); - globals->get_scenery()->bind(); - globals->set_tile_mgr( new FGTileMgr ); - - //////////////////////////////////////////////////////////////////// - // Initialize the general model subsystem. - //////////////////////////////////////////////////////////////////// - globals->set_model_mgr(new FGModelMgr); - globals->get_model_mgr()->init(); - globals->get_model_mgr()->bind(); - - //////////////////////////////////////////////////////////////////// - // Initialize the 3D aircraft model subsystem (has a dependency on - // the scenery subsystem.) - //////////////////////////////////////////////////////////////////// - globals->set_aircraft_model(new FGAircraftModel); - globals->get_aircraft_model()->init(); - globals->get_aircraft_model()->bind(); - - //////////////////////////////////////////////////////////////////// - // Initialize the view manager subsystem. - //////////////////////////////////////////////////////////////////// - FGViewMgr *viewmgr = new FGViewMgr; - globals->set_viewmgr( viewmgr ); - viewmgr->init(); - viewmgr->bind(); - - // Initialize the sky SGPath ephem_data_path( globals->get_fg_root() ); ephem_data_path.append( "Astro" );