Last updated $Date$
This directory contains the main routine for FlightGear, together with
various utility classes and functions that do not fit in anywhere
else, and subsystems that have not yet graduated to having their own
directories (because the maintainers are lazy, not because the
subsystems are not important).
fg_commands.cxx
fg_commands.hxx
This module defines a global function to register FlightGear's
built-in commands.
fg_init.cxx
fg_init.hxx
This module defines global functions to initialize for the various
subsystems. Code is gradually being moved out of here and into the
subsystems' own init() methods, so this module will eventually
disappear.
fg_io.cxx
fg_io.hxx
This module defines high-level global I/O functions for FlightGear.
I don't know how widely these are used, yet.
fg_props.cxx
fg_props.hxx
This module provides a FlightGear layer over the SimGear property
manager. This module performs two roles: it provides global
convenience functions for accessing the FlightGear property tree,
and it ties some properties to its own static functions. The second
role has mostly disappeared, since subsystems now tie their own
properties in their bind() methods, and eventually this module will
contain only the convenience functions.
fgfs.cxx
fgfs.hxx
This module defines FGSubsystem, the abstract base class (or
interface) for subsystems in FlightGear. Most of the important
subsystems already extend this class, and eventually, all subsystems
will.
globals.cxx
globals.hxx
This module defines FGGlobals, a class that holds pointers to
subsystems and other variables used by a FlightGear session. Many
global variables have migrated into here, and eventually, all will,
so that the program can maintain state for more than one session at
once.
logger.cxx
logger.hxx
This module defines the FGLogger subsystem, which allows the user to
log any property value to any number of CSV files, somewhat like an
overenthusiastic flight data recorder.
main.cxx
This file defines the main() function for FlightGear as well as the
top-level loop. Currently, there is a still lot of code in here
that belongs in the individual subsystems' init() and update()
methods; eventually, this will be a short, simple file defining the
top-level flow logic of the program.
options.cxx
options.hxx
This module defines global functions for parsing command-line
options and transferring them to the property tree.
runfgfs.bat
runfgfs.bat.in
This is a batch file for launching FlightGear under MSWindows.
runfgfs.bat is autogenerated from runfgfs.bat.in, so any changes
should be made to the latter file.
splash.cxx
splash.hxx
This module defines global functions for displaying and updating the
splash screen.
viewer.cxx
viewer.hxx
This module defines the FGViewer subsystem, which calculates the
viewpoint in world coordinates and provides transformation matrices
for the scenery code. FGViewer has methods that allow the program
to rotate or move the current view direction.
viewmgr.cxx
viewmgr.hxx
This module defines the FGViewMgr subsystem, which manages all of
the different views available in FlightGear.