New in 0.58 * Added JSBsim alpha code ... this is Jon S. Berndts alpha FDM rewrite. Still lots to do, but you can watch a balistic flight for a short time. * Renamed Simulator/Flight to Simulator/FDM * Tweaks to assist building FGFS on solaris platforms. * Moved Lib/DEM to Tools/DEM * Started preparations for scenery generation tools overhaul. * More MSVC++ support. * Removed code that made the sun bigger at the horizon since this is just an optical illusion in real life. * Bug fixed so that the sim can start out at an airport below sea level. New in 0.57 * Converted to a simpler frame rate counting method. * Fixed the AOA reading on the HUD. * Removed gpc from the Lib section of distribution by request of the gpc Author. The gpc license is unfortunately not compatible with the GPL. I may look for an alternative library, or just require that developers download this library separately. * First slew of changes from the MacOS porting effort contributed by "Robert Puyol" . * Support for an arbitrary number of serial ports + additional serial port output tweaks. * Serial output tweaks to make things more robust and act more like a GPS. * Portability enhancements for Borland, Solaris, and SGI. * Some internal class renaming and reorganizations. fgFLIGHT becomes FGState. fgCONTROLS becomes FGControls. * Started work on an "external" flight model so the sim can be driven from external input (serial port, network, file, etc.) * Fixed a problem that creeped in with setting the initial startup altitude. This could cause an unrecoverable bounce and you'd end up flipped on your back. Should be fixed now. * Sun now appears to grow in size as it gets very low in the horizon. * Fixed a view frustum culling bug where the scene was not accurately culled when your view was anything other than straight forward. New in 0.56 * Changed default HUD units to the more standard feet units. You can still use meters by specifying the command line option "--units-meters". * Added some initial joystick support using Steve's joystick interface class. This works great under Linux, but Steve's class now needs to be ported to Windoze and other platforms. * Also added a fall back to the GLUT joystick routines for windows (until we can find better joystick support.) * Added some initial serial port support for acting like gps and outputing nmea data such that could be fed into a flight map software package. * Miscellaneous code clean ups, portability improvements, and optimizations. * Switched to a streams based error/debug logging system that can be completely stripped out for a release build (./configure --without-logging) * Support for cygwin32 b20 compiler (latest release) * Continued progress on instrument panel * Support for starting fgfs at higher resolutions. New in 0.55 * New version of gpc (generic polygon clipping library) from http://www.cs.man.ac.uk/aig/staff/alan/software/ * Brakes (use "b" to toggle) * Added an altitude hold module to the autopilot. Lock your current altitude with "ctrl-a", "cntr-a" again will deactivate. (Also lock your current heading with "ctrl-h", and again to deactivate.) * Added a terrain following module ... "ctrl-t" to activate. * Added an autothrottle ... "ctrl-s" to activate. * Fixes so that terrain tools will work in windoze. * More STL & Compiler compatibility fixes. * Changes to use a Point3 class. * Fixed win95/98 time problem that limited fps to about 18.3 New in 0.54 * Implimented audio envelopes so that pitch of engine changes with throttle * Textured moon, and rewritten/restructured Astro code. * More optimizations and code cleanups. (Norman Vine, Bernie Bright, Charlie Hotchkiss.) * Bug fixed that was causing odd display artifacts due to a degenerate fragment being created for every tile. * Bug fixed that caused scenery generation to go bad (misplaced fclose on an invalid file descriptor.) * Code changes to support g++ 2.7 STL (from Bernie Bright) New in 0.53 * Some initial "GameGLUT" support contributed by Gary R. Van Sickle (tiberius@braemarinc.com) * Tracked down and eliminated some memory access type bugs that were causing segfaults on some platforms, with some compilers using various optimization flags. * Assorted code optimizations submitted by Norman Vine. * Renamed fg -> fgfs * Shuffled files. - Created a new directory Simulator/Airports/ to handle airport data specific tasks - Created Simulator/Object/ to handle basic rendering objects * Panel code update from Friedemann Reinhard (use --enable-panel to activate) * Contributions from Bernie Bright - Created some new classes to enable pointers-to-functions and pointers-to-class-methods to be treated like objects. These objects can be registered with fgEVENT_MGR. - File "Include/fg_callback.hxx" contains the callback class defns. - Modified fgEVENT and fgEVENT_MGR to use the callback classes. Also some minor tweaks to STL usage. - Added file "Include/fg_stl_config.h" to deal with STL portability issues. Added an initial config for egcs (and probably gcc-2.8.x). Don't have access to Visual C++ so I've left that for someone else. - This file is influenced by the stl_config.h file delivered with egcs. - Added "Include/auto_ptr.hxx" which contains an implementation of the STL auto_ptr class which is not provided in all STL implementations and is needed to use the callback classes. - Deleted fgLightUpdate() which was just a wrapper to call fgLIGHT::Update(). - Modified fg_init.cxx to register two method callbacks in place of the old wrapper functions. - The new classes in libmisc.tgz define a stream interface into zlib. I've put these in a new directory, Lib/Misc. Feel free to rename it to something more appropriate. However you'll have to change the include directives in all the other files. Additionally you'll have add the library to Lib/Makefile.am and Simulator/Main/Makefile.am. The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf test so I've included the required changes in config.tgz. There are a fair few changes to Simulator/Objects as I've moved things around. Loading tiles is quicker but thats not where the delay is. Tile loading takes a few tenths of a second per file on a P200 but it seems to be the post-processing that leads to a noticeable blip in framerate. I suppose its time to start profiling to see where the delays are. I've included a brief description of each archives contents. Lib/Misc/ zfstream.cxx zfstream.hxx C++ stream interface into zlib. Taken from zlib-1.1.3/contrib/iostream/. Minor mods for STL compatibility. There's no copyright associated with these so I assume they're covered by zlib's. fgstream.cxx fgstream.hxx FlightGear input stream using gz_ifstream. Tries to open the given filename. If that fails then filename is examined and a ".gz" suffix is removed or appended and that file is opened. stopwatch.hxx A simple timer for benchmarking. Not used in production code. Taken from the Blitz++ project. Covered by GPL. strutils.cxx strutils.hxx Some simple string manipulation routines. Simulator/Airports/ Load airports database using fgstream. Changed fgAIRPORTS to use set<> instead of map<>. Added bool fgAIRPORTS::search() as a neater way doing the lookup. Returns true if found. Simulator/Astro/ Modified fgStarsInit() to load stars database using fgstream. Simulator/Objects/ Modified fgObjLoad() to use fgstream. Modified fgMATERIAL_MGR::load_lib() to use fgstream. Many changes to fgMATERIAL. Some changes to fgFRAGMENT but I forget what! New in 0.52 * Stars added in 8 stages as sky gets darker for a smoother more realistic transition. * rewrote star loader to significantly improve load times. * Tweaked sky brightness and dawn/dusk colors. * Fixed a small problem with moon rendering. * Fog color tries to track the sky color at the center of view in sunrise and sunset situations. * Optimizations from Norman Vine * Code fixes and tweaks from Charlie Hotchkiss. * Added an --enable/disable-sound option. * Added a pause key "p" * Added command line options to specify initial position and orientation. * Added command line option to start in paused or unpaused state. New in 0.51 * Translucent menus * Various HUD intensities so you can find something that is readable for the current conditions and lighting. * Tie visibility to far clip plane & view frustum culling so reducting visibility can increase frame rates by increasing what is culled. * Fixed stupid bug with misplaced initial position. * Hopefully fixed a bug when parsing system.fgfsrc on windoze. New in 0.50 * HUD updates from Charlie Hotchkiss (ladder number rotate w/ ladder, control position indicators are back) * Only draw the PUI cursor if Mesa/Glide/Fullscreen. * Added mipmapping. * Calculate the model view transformation matrix once per tile per iteration. Then glLoadMatrixd() it for each fragment rather than calling push(), translate(), pop(). * Added a basic splash screen. * Added support for switching between fullscreen and window mode for Mesa/3dfx/glide. * added an enable/disable splash screen option * added an enable/disable intro music option * added an enable/disable instrument panel option * added an enable/disable mouse pointer option * Ground collision detection. You can now land or test for collision with any scenery surface. * Converted angle of attack scale into a radio altimeter. New in 0.49 * Managment of multiple textures * Incorporated Friedemann Reinhard's initial panel code. * Fog mode is now GL_FOG_EXP2 instead of GL_FOG_LINEAR * Build the non-shared pieces of the FG sim as static libs. New in 0.48 * Incorporated Steve Baker's PUI user interface library written entirely on top of OpenGL * Incorporated Steve Baker's Audio library which currently only supports Linux, but a win32 port is very close to being done. * Sort object fragments by material property before rendering. This will be a big help to performance when we start including objects with a wide variety of material properties and textures. * Overlapped scenery tiles to reduce the chance of an occasional floating point precission induced gaps. * Fixed a bug in zlib exposed by Borland Win32 compiler. * Impose a maximum triangle area during scenery generation so even very flat areas will get split into a few smaller sub triangles. * Fine grained (fragment level) view frustum culling. * view transformation optimizations -- Norman Vine. * Fixed polygon winding problem in scenery generation, so all tri-strips are wound counter clockwise (opengl default). New in 0.47 * Course (per tile) view frustum culling. * Added a command line option to specify --fg-root which will override $FG_ROOT * Hard coded default locations for FG_ROOT for situations when nothing is specified. Unix = /usr/local/lib/FlightGear Win32 = \FlightGear * Restructured the command line processing code so that it can process these sames comands (one per line) out of a config file. * Added a command line option to specify field of view. This is adjustable at run time using "X / x". Supporting code contributed by Norman Vine. New in 0.46: * Complete C++ re-write of the HUD section. * Miscellaneous bug fixes and tweaks. New in 0.45: * Added an option to enable/disable wireframe rendering. * Added an option to enable/disable fog/haze. * Added an option to enable/disable sky blending. * Added an option to select smooth/flat polygon shading. * Added an option to enable full-screen mode. * Added a visual frame rate counter on the HUD. (Contributed by Durk Talsma) * Autopilot updates (Jeff Goeke-Smith) * Added an option to control the number of neighboring tiles that are drawn New in 0.44: * Fixed a horible bug that cause the time to be *WAY* off when compiling with the CygWin32 compiler. * Wrap up zlib so we can conditionally compile back in normal behavior on systems that have trouble building zlib. * Minor adjustment to texture coordinate generation to reduce texture swimming. * Added a command line option to enable/disable texture maps * Minor transformation adjustments to try to keep scenery tiles closer to (0, 0, 0) GLfloats run out of precision at the distances we need to model the earth, but we can do a bunch of pre-transformations using double floats and then cast to GLfloat once everything is close in where we have less precision problems. * command line option to set starting position by airport ID * Cleaned up initialization sequence to eliminate interdependencies between sun position, lighting, and view position. This creates a valid single pass initialization path. * use already calculated LaRCsim values to create the roll/pitch/yaw transformation matrix New in 0.43: * material properties bug fixed when rendering terrain. * bug in sky color generation fixed. * bug in fog color generation fixed. * zlib on the fly decompression/compression support. * more code reorganization and clean ups. * a fixed up 30 arcsec DEM file preprocessor. World wide DEM's are available in this format. New in 0.42: * Simple autopilot heading hold contributed by Jeff Goeke-Smith * More code reorganization and clean ups. New in 0.41: * Many autoconf cleanups and tweaks * make and make install work in unix * make works for cygnus win32 (but not install yet) * make dist now works * added the Tools directory into the main source tree New in 0.40: * Gnu automake/autoconf/libtool make system * Initial texture support * Bug fixes