#include "fgfs.hxx"
+
SG_USING_STD( vector );
SG_USING_STD( string );
class SGCommandMgr;
class SGMagVar;
+class SGMaterialLib;
+class SGModelLib;
class SGPropertyNode;
class SGRoute;
class SGTime;
+class SGSoundMgr;
class FGAIMgr;
class FGATCMgr;
class FGEnvironment;
class FGEnvironmentMgr;
class FGIO;
-class FGModelLoader;
class FGModelMgr;
class FGScenery;
-class FGSoundMgr;
-class FGSteam;
-class FGTextureLoader;
+#ifdef FG_MPLAYER_AS
+class FGMultiplayRxMgr;
+class FGMultiplayTxMgr;
+#endif
+class FGPanel;
class FGTileMgr;
class FGViewMgr;
class FGViewer;
// Magnetic Variation
SGMagVar *mag;
+ // Material properties library
+ SGMaterialLib *matlib;
+
// Current autopilot
FGAutopilot *autopilot;
// Global autopilot "route"
SGRoute *route;
+ // 2D panel
+ FGPanel *current_panel;
+
// sound manager
- FGSoundMgr *soundmgr;
+ SGSoundMgr *soundmgr;
// environment information
FGEnvironmentMgr * environment_mgr;
// control input state
FGControls *controls;
- // Steam instruments
- FGSteam *steam;
-
// viewer manager
FGViewMgr *viewmgr;
SGCommandMgr *commands;
- FGModelLoader * model_loader;
-
- FGTextureLoader * texture_loader;
+ SGModelLib *model_lib;
FGAircraftModel *acmodel;
FGIO* io;
+#ifdef FG_MPLAYER_AS
+ //Mulitplayer managers
+ FGMultiplayTxMgr *multiplayer_tx_mgr;
+
+ FGMultiplayRxMgr *multiplayer_rx_mgr;
+#endif
+
public:
FGGlobals();
- ~FGGlobals();
+ virtual ~FGGlobals();
virtual FGSubsystemMgr * get_subsystem_mgr () const;
inline void set_sim_time_sec (double t) { sim_time_sec = t; }
inline const string &get_fg_root () const { return fg_root; }
- inline void set_fg_root (const string &root) { fg_root = root; }
+ void set_fg_root (const string &root);
inline const string &get_fg_scenery () const { return fg_scenery; }
inline void set_fg_scenery (const string &scenery) {
inline SGMagVar *get_mag() const { return mag; }
inline void set_mag( SGMagVar *m ) { mag = m; }
+ inline SGMaterialLib *get_matlib() const { return matlib; }
+ inline void set_matlib( SGMaterialLib *m ) { matlib = m; }
+
inline FGAutopilot *get_autopilot() const { return autopilot; }
inline void set_autopilot( FGAutopilot *ap) { autopilot = ap; }
inline void set_ATC_mgr( FGATCMgr *a ) {ATC_mgr = a; }
inline FGATCDisplay *get_ATC_display() const { return ATC_display; }
- inline void set_ATC_display( FGATCDisplay *d ) {ATC_display = d; }
-
+ inline void set_ATC_display( FGATCDisplay *d ) {ATC_display = d; }
+
inline FGAIMgr *get_AI_mgr() const { return AI_mgr; }
inline void set_AI_mgr( FGAIMgr *a ) {AI_mgr = a; }
- inline FGSoundMgr *get_soundmgr() const { return soundmgr; }
- inline void set_soundmgr( FGSoundMgr *sm ) { soundmgr = sm; }
+ inline FGPanel *get_current_panel() const { return current_panel; }
+ inline void set_current_panel( FGPanel *cp ) { current_panel = cp; }
+
+ inline SGSoundMgr *get_soundmgr() const { return soundmgr; }
+ inline void set_soundmgr( SGSoundMgr *sm ) { soundmgr = sm; }
inline FGControls *get_controls() const { return controls; }
inline void set_controls( FGControls *c ) { controls = c; }
- inline FGSteam *get_steam() const { return steam; }
- inline void set_steam( FGSteam *s ) { steam = s; }
-
inline FGViewMgr *get_viewmgr() const { return viewmgr; }
inline void set_viewmgr( FGViewMgr *vm ) { viewmgr = vm; }
FGViewer *get_current_view() const;
inline SGCommandMgr *get_commands () { return commands; }
- inline FGModelLoader * get_model_loader () { return model_loader; }
+ inline SGModelLib * get_model_lib () { return model_lib; }
- inline void set_model_loader (FGModelLoader * loader) {
- model_loader = loader;
- }
-
- inline FGTextureLoader * get_texture_loader () { return texture_loader; }
-
- inline void set_texture_loader (FGTextureLoader * loader) {
- texture_loader = loader;
+ inline void set_model_lib (SGModelLib *m) {
+ model_lib = m;
}
inline FGAircraftModel *get_aircraft_model () { return acmodel; }
model_mgr = mgr;
}
+#ifdef FG_MPLAYER_AS
+ inline FGMultiplayTxMgr *get_multiplayer_tx_mgr () { return multiplayer_tx_mgr; }
+
+ inline void set_multiplayer_tx_mgr (FGMultiplayTxMgr * mgr)
+ {
+ multiplayer_tx_mgr = mgr;
+ }
+
+ inline FGMultiplayRxMgr *get_multiplayer_rx_mgr () { return multiplayer_rx_mgr; }
+
+ inline void set_multiplayer_rx_mgr (FGMultiplayRxMgr * mgr)
+ {
+ multiplayer_rx_mgr = mgr;
+ }
+#endif
+
inline string_list *get_channel_options_list () {
return channel_options_list;
}
FGIO* get_io() const { return io; }
+
/**
* Save the current state as the initial state.
*/