Last updated $Date: 2002-09-10 01:14:05 $

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.
