3 * Simple radio stack added to the instrument panel. The frequencies are
4 currently hardwired to default values until the UI for changing them
5 is finished. But, this is enough to fly a compile time selected ILS
6 instrument approach. You can adjust the radial by clicking the knob on
8 * Added a chronometer to the instrument panel.
9 * Compass, vsi, and altitute instruments and vacuum system are more
11 * Added a magnetic variation model.
12 * Added custom joystick client support so sim can be flown from a
13 remote joystick connected to another machine. This is in support of
14 some custom hardware located in the human factors research lab of the
15 university of minnesota.
16 * Added navaid database management and query code.
17 * Updates to JSBsim flight dynamics code that includes a generic
18 reconfigurable flight control system.
19 * Updates to LaRCsim flight dynamcis code contributed by UIUC that
20 allows loading aircraft specifications at runtime from config files.
21 UIUC is using flightgear as a platform to do icing research. The UIUC
22 aircraft use the c172 gear model for now which causes some weirdness
23 on the ground for some of the larger aircraft.
24 * Flight model no longer has to be chosen at compile time.
25 * Separated ephemeris code from the actual sky rendering code and gave
26 this whole section a big overhaul. The moon should now consistantly
27 have the correct phase.
28 * Rebuilt the sky dome using ssg.
29 * Removed dependencies on mat3.h and friends (old srgp support lib)
30 * Airport lookups now done through gdbm (a light weight embedded database.)
31 * Converted ssgVTable's to ssgVtxTables which do proper memory
32 management and should facilitate use of compiled vertex arrays once
33 ssg add support for these.
34 * Cygwin32 build fixes
40 * Lots of code reorganizations
41 * Build requires plib-1.1.x
42 * Build requires SimGear-0.0.x
43 * LaRCsim/c172 is now the default aircraft model.
44 * Added flaps support to control model.
45 * Lots of updates and tweaks for the LaRCsim/c172 model.
46 * Use a more standard texture/blend mode combination for sun/moon halos to
47 avoid render path that's not supported by all cards/drivers.
48 * Change reported speed on hud from V_equiv_kts to V_calibrated_kts
49 * Instrument panel rewrite by David Megginson. This isn't quite as flashy
50 as the first pass, but is much more functional, plays much better with
51 opengl, and it should be relatively easy for someone with graphical skills
52 to make it look more spiffy.
53 * MacOS fixes contributed by Darrell Walisser.
54 * Many JSBsim updates.
55 * Added a screen snapshot facility (F3).
56 * Added a load/save state function contributed by David Megginson.
57 * Added support for various I/O protocols and channels so that flightgear
58 can communicate with itself and other programs through a variety of means.
59 * Bug fix: The aircraft model used for external views was being included in
60 the height above terrain check so when the view position and the aircraft
61 model collided the current altitude kept getting pushed up to compensate,
62 but of course the aircraft model would get pushed up as well because it
63 tracks the current aircraft position and orientation. Thus you had a never
65 * Oliver's multiplayer network code now moved to his own subdirectory:
67 * Added simulated cloud puffs as we pass through the cloud layer.
68 * Cleaned up some memory leaks occuring between ssg and flightgear.
69 * Update to Christian's weather data base code.
72 * Durk Talsma added a nifty cloud layer.
73 * Default to Christian Mayer's new weather system.
74 * Added routines to do screen printing contributed by Mark Vallevand.
75 * Added routines to do screen shots to ppm graphics file (all platforms)
76 contributed Rich Kaszeta.
77 * Added a magic carpet (aka slew) mode.
78 * Added a hot air balloon simulator mode. (alpha)
79 * Added a simple (direct lincage) autocoordation feature.
80 * Added a mode to control view (side to side and up and down) with the mouse.
81 * Fixed a DEM decoding problem which caused most of the terrain to be 256
82 meter too high (and regenerated the world scenery with proper elevations.)
84 * Added support for a pilot view offset from the center of gravity.
85 * Various platform portability fixes.
86 * Updated time-offset/syncing command line options.
87 * Updated the FDM <==> Flight Gear interface to be more object oriented.
88 This should hopefully pave the way for being able to simulate several
90 * Removed unimplemented menu entries.
91 * Various scenery tools changes and enhancements in preparation for adding
92 runways (hopefully for the next release.)
95 * Autopilot can now fly great circle routes.
96 * Incorporated a first stab at some networking code contributed by Oliver
98 * Added Christian Mayer's new weather subsystem.
99 * Started adding support for "external" views ... still needs some work.
100 * Added a flight model acceleration funtion.
101 * Added support for mouse yoke control contributed by David Megginson.
102 * FDM model hertz now definable from the command line.
103 * Added initial timezone support so the user can have better control and more
104 options for setting the starting time of the sim.
105 * We now draw nonexistant tiles as ocean which means we only have to create
106 and distribute tiles that contain some sort of land mass.
108 * Replaced basic render engine with plib's ssg (simple scene graph).
109 * Now expect plib to be installed in it's one true and official location.
110 * Added support for timegm() if it exists which explicitely expects GMT input.
111 * A bit of your basic code reorganization and shuffling.
113 * Removed tools dependency on libgfc. Functionality is now covered by
114 shapelib which has been added into the Tools tree.
115 * Added support for the wonderful GSHHS global land mass data set.
116 * Removed dependecy on process-dem.pl script.
117 * Created a new distributed/parallel tile build system ... hmmm kind of super
118 computer or beowulf style stuff for getting large chunks of scenery built
120 * Only generate tiles that have land mass data since the sim can recreate pure
121 ocean tiles on the fly.
122 * First stab at a water flattening scheme to prevent oceans, lakes, and rivers
123 from running up and down the sides of hills.
124 * Changed the default "Work/" subdirectory layout.
125 * Updates to better handle segment boundaries in preparation for real airport
126 runway and lighting modeling.
127 * Updates and enhancements to my polygon management class.
130 * Updates to Tony's c172 model.
131 * Updated getting started guide from Micheal Basler.
133 * FreeBSD portability tweaks.
134 * MACos portability tweaks.
135 * Borland C++ tweaks.
139 * Tons of improvements with scenery creation. Inter-tile gaps have been
140 fixed, distorted textures have been fixed, real coastlines have been added,
141 and many other subtle improvements.
142 * Tools for parallelizing the scenery building tasks. For instance by using
143 20 machines in parallel, scenery for the entire USA can be regenerated in
144 just over 4 hours vs. 70+ hours on a single machine.
145 * Texture scale can be specified (and changed)( in the materials file. The
146 sim must be rerun for the change to take effect.
147 * Windows now uses plib joystick code so rudder pedals should now work.
148 * Now builds against Steve Baker's plib (portable game devel library)
149 distributed separately (www.woodsoup.org/~sbaker/plib/)
150 * Many source code changes for the MacOS port contributed by Darrell
151 Walisser (the port isn't quite there yet ...)
152 * Source code changes for better compiling with the Borland compiler.
153 * Source code changes for better compiling with the native Irix compilers.
154 * Fixed a bug so you can now fly across the international date line (or
155 more precisely the division between longitude = +/-180.
156 * Tweaks to the Astro section contributed by Durk Talsma.
157 * Autopilot improvements contributed by Norman Vine.
158 * Fonts/characters now drawn with texture maps for increased speed.
159 * Instrument panel can be toggled on and off with "P".
160 * GUI interface for tweaking some autopilot parameters.
161 * HUD appearance and layout changes contributed by Norman Vine, includes
162 faster font drawing for much better performance.
163 * Reset function added to reset you to your starting conditions.
164 * GUI function to enter a new airport id (and be transported there)
165 * Added serial output support for an "in-development" full motion cockpit.
166 * "Just in time" texture loading to reduce initial sim loading time.
169 New in 0.59 (This is an intermediate/stepping stone release. Skip this
170 release if you are interested in stability.)
171 * IRIX portability changes and support for native SGI compilers.
172 * Solaris portability tweaks
173 * Incorporated some MacOS portability changes (although the port is not
175 * Changes to allow adjustment of the autopilot settings while it is
177 * Began complete overhaul of scenery generation tools.
178 * Fixed a view frustum culling bug.
179 * separated lib GPC (generic polygon clipper.) GPC is not "freeware" and
180 the author has explicitely refused our request to distribute source code
181 for this library with Flight Gear.
182 * updated installation and getting started guide
183 * switched to a simpler, lighter weight frame rate calculation method.
184 * new tile division scheme.
185 * GPS serial *output* fixes.
186 * Added a nifty halo to both the sun and moon. Preparation for allowing
187 subtle moon lighting effects at night.
188 * Incorporated Jon Berndt's new C++ flight model rewrite.
189 * Autopilot settings can be adjusted while active.
190 * Updates to the instrument panel.
191 * Fixed AOA reading on the HUD.
192 * Added random splash screens.
193 * Modified scenery loader to accept tri-fans.
194 * Other non-backwards compatible changes to scenery file format and tile
199 * Added JSBsim alpha code ... this is Jon S. Berndts alpha FDM rewrite.
200 Still lots to do, but you can watch a balistic flight for a short time.
201 * Renamed Simulator/Flight to Simulator/FDM
202 * Tweaks to assist building FGFS on solaris platforms.
203 * Moved Lib/DEM to Tools/DEM
204 * Started preparations for scenery generation tools overhaul.
205 * More MSVC++ support.
206 * Removed code that made the sun bigger at the horizon since this is just
207 an optical illusion in real life.
208 * Bug fixed so that the sim can start out at an airport below sea level.
211 * Converted to a simpler frame rate counting method.
212 * Fixed the AOA reading on the HUD.
213 * Removed gpc from the Lib section of distribution by request of the
214 gpc Author. The gpc license is unfortunately not compatible with
215 the GPL. I may look for an alternative library, or just require
216 that developers download this library separately.
217 * First slew of changes from the MacOS porting effort contributed by
218 "Robert Puyol" <puyol@abvent.fr>.
219 * Support for an arbitrary number of serial ports + additional serial port
221 * Serial output tweaks to make things more robust and act more like a GPS.
222 * Portability enhancements for Borland, Solaris, and SGI.
223 * Some internal class renaming and reorganizations. fgFLIGHT becomes FGState.
224 fgCONTROLS becomes FGControls.
225 * Started work on an "external" flight model so the sim can be driven from
226 external input (serial port, network, file, etc.)
227 * Fixed a problem that creeped in with setting the initial startup altitude.
228 This could cause an unrecoverable bounce and you'd end up flipped on your
229 back. Should be fixed now.
230 * Sun now appears to grow in size as it gets very low in the horizon.
231 * Fixed a view frustum culling bug where the scene was not accurately culled
232 when your view was anything other than straight forward.
235 * Changed default HUD units to the more standard feet units. You can still
236 use meters by specifying the command line option "--units-meters".
237 * Added some initial joystick support using Steve's joystick interface class.
238 This works great under Linux, but Steve's class now needs to be ported to
239 Windoze and other platforms.
240 * Also added a fall back to the GLUT joystick routines for windows (until
241 we can find better joystick support.)
242 * Added some initial serial port support for acting like gps and outputing
243 nmea data such that could be fed into a flight map software package.
244 * Miscellaneous code clean ups, portability improvements, and optimizations.
245 * Switched to a streams based error/debug logging system that can be
246 completely stripped out for a release build (./configure --without-logging)
247 * Support for cygwin32 b20 compiler (latest release)
248 * Continued progress on instrument panel
249 * Support for starting fgfs at higher resolutions.
252 * New version of gpc (generic polygon clipping library) from
253 http://www.cs.man.ac.uk/aig/staff/alan/software/
254 * Brakes (use "b" to toggle)
255 * Added an altitude hold module to the autopilot. Lock your current altitude
256 with "ctrl-a", "cntr-a" again will deactivate. (Also lock your current
257 heading with "ctrl-h", and again to deactivate.)
258 * Added a terrain following module ... "ctrl-t" to activate.
259 * Added an autothrottle ... "ctrl-s" to activate.
260 * Fixes so that terrain tools will work in windoze.
261 * More STL & Compiler compatibility fixes.
262 * Changes to use a Point3 class.
263 * Fixed win95/98 time problem that limited fps to about 18.3
266 * Implimented audio envelopes so that pitch of engine changes with throttle
267 * Textured moon, and rewritten/restructured Astro code.
268 * More optimizations and code cleanups. (Norman Vine, Bernie Bright, Charlie
270 * Bug fixed that was causing odd display artifacts due to a degenerate
271 fragment being created for every tile.
272 * Bug fixed that caused scenery generation to go bad (misplaced fclose on an
273 invalid file descriptor.)
274 * Code changes to support g++ 2.7 STL (from Bernie Bright)
277 * Some initial "GameGLUT" support contributed by Gary R. Van Sickle
278 (tiberius@braemarinc.com)
279 * Tracked down and eliminated some memory access type bugs that were
280 causing segfaults on some platforms, with some compilers using various
282 * Assorted code optimizations submitted by Norman Vine.
285 - Created a new directory Simulator/Airports/ to handle airport data
287 - Created Simulator/Object/ to handle basic rendering objects
288 * Panel code update from Friedemann Reinhard (use --enable-panel to activate)
289 * Contributions from Bernie Bright
290 - Created some new classes to enable pointers-to-functions and
291 pointers-to-class-methods to be treated like objects. These objects
292 can be registered with fgEVENT_MGR.
293 - File "Include/fg_callback.hxx" contains the callback class defns.
294 - Modified fgEVENT and fgEVENT_MGR to use the callback classes. Also
295 some minor tweaks to STL usage.
296 - Added file "Include/fg_stl_config.h" to deal with STL portability
297 issues. Added an initial config for egcs (and probably gcc-2.8.x).
298 Don't have access to Visual C++ so I've left that for someone else.
299 - This file is influenced by the stl_config.h file delivered with egcs.
300 - Added "Include/auto_ptr.hxx" which contains an implementation of the
301 STL auto_ptr class which is not provided in all STL implementations
302 and is needed to use the callback classes.
303 - Deleted fgLightUpdate() which was just a wrapper to call
305 - Modified fg_init.cxx to register two method callbacks in place of the
306 old wrapper functions.
307 - The new classes in libmisc.tgz define a stream interface into zlib.
308 I've put these in a new directory, Lib/Misc. Feel free to rename it
309 to something more appropriate. However you'll have to change the
310 include directives in all the other files. Additionally you'll have
311 add the library to Lib/Makefile.am and Simulator/Main/Makefile.am.
313 The StopWatch class in Lib/Misc requires a HAVE_GETRUSAGE autoconf
314 test so I've included the required changes in config.tgz.
316 There are a fair few changes to Simulator/Objects as I've moved
317 things around. Loading tiles is quicker but thats not where the delay
318 is. Tile loading takes a few tenths of a second per file on a P200
319 but it seems to be the post-processing that leads to a noticeable
320 blip in framerate. I suppose its time to start profiling to see where
323 I've included a brief description of each archives contents.
328 C++ stream interface into zlib.
329 Taken from zlib-1.1.3/contrib/iostream/.
330 Minor mods for STL compatibility.
331 There's no copyright associated with these so I assume they're
336 FlightGear input stream using gz_ifstream. Tries to open the
337 given filename. If that fails then filename is examined and a
338 ".gz" suffix is removed or appended and that file is opened.
341 A simple timer for benchmarking. Not used in production code.
342 Taken from the Blitz++ project. Covered by GPL.
346 Some simple string manipulation routines.
349 Load airports database using fgstream.
350 Changed fgAIRPORTS to use set<> instead of map<>.
351 Added bool fgAIRPORTS::search() as a neater way doing the lookup.
352 Returns true if found.
355 Modified fgStarsInit() to load stars database using fgstream.
358 Modified fgObjLoad() to use fgstream.
359 Modified fgMATERIAL_MGR::load_lib() to use fgstream.
360 Many changes to fgMATERIAL.
361 Some changes to fgFRAGMENT but I forget what!
364 * Stars added in 8 stages as sky gets darker for a smoother more realistic
366 * rewrote star loader to significantly improve load times.
367 * Tweaked sky brightness and dawn/dusk colors.
368 * Fixed a small problem with moon rendering.
369 * Fog color tries to track the sky color at the center of view in sunrise
370 and sunset situations.
371 * Optimizations from Norman Vine
372 * Code fixes and tweaks from Charlie Hotchkiss.
373 * Added an --enable/disable-sound option.
374 * Added a pause key "p"
375 * Added command line options to specify initial position and orientation.
376 * Added command line option to start in paused or unpaused state.
380 * Various HUD intensities so you can find something that is readable for the
381 current conditions and lighting.
382 * Tie visibility to far clip plane & view frustum culling so reducting
383 visibility can increase frame rates by increasing what is culled.
384 * Fixed stupid bug with misplaced initial position.
385 * Hopefully fixed a bug when parsing system.fgfsrc on windoze.
388 * HUD updates from Charlie Hotchkiss (ladder number rotate w/ ladder, control
389 position indicators are back)
390 * Only draw the PUI cursor if Mesa/Glide/Fullscreen.
392 * Calculate the model view transformation matrix once per tile per iteration.
393 Then glLoadMatrixd() it for each fragment rather than calling push(),
395 * Added a basic splash screen.
396 * Added support for switching between fullscreen and window mode for
398 * added an enable/disable splash screen option
399 * added an enable/disable intro music option
400 * added an enable/disable instrument panel option
401 * added an enable/disable mouse pointer option
402 * Ground collision detection. You can now land or test for collision with
404 * Converted angle of attack scale into a radio altimeter.
407 * Managment of multiple textures
408 * Incorporated Friedemann Reinhard's initial panel code.
409 * Fog mode is now GL_FOG_EXP2 instead of GL_FOG_LINEAR
410 * Build the non-shared pieces of the FG sim as static libs.
413 * Incorporated Steve Baker's PUI user interface library written
414 entirely on top of OpenGL
415 * Incorporated Steve Baker's Audio library which currently only
416 supports Linux, but a win32 port is very close to being done.
417 * Sort object fragments by material property before rendering. This
418 will be a big help to performance when we start including objects
419 with a wide variety of material properties and textures.
420 * Overlapped scenery tiles to reduce the chance of an occasional
421 floating point precission induced gaps.
422 * Fixed a bug in zlib exposed by Borland Win32 compiler.
423 * Impose a maximum triangle area during scenery generation so even
424 very flat areas will get split into a few smaller sub triangles.
425 * Fine grained (fragment level) view frustum culling.
426 * view transformation optimizations -- Norman Vine.
427 * Fixed polygon winding problem in scenery generation, so all
428 tri-strips are wound counter clockwise (opengl default).
431 * Course (per tile) view frustum culling.
432 * Added a command line option to specify --fg-root which will override
434 * Hard coded default locations for FG_ROOT for situations when nothing
435 is specified. Unix = /usr/local/lib/FlightGear Win32 = \FlightGear
436 * Restructured the command line processing code so that it can process
437 these sames comands (one per line) out of a config file.
438 * Added a command line option to specify field of view. This is
439 adjustable at run time using "X / x". Supporting code contributed
443 * Complete C++ re-write of the HUD section.
444 * Miscellaneous bug fixes and tweaks.
447 * Added an option to enable/disable wireframe rendering.
448 * Added an option to enable/disable fog/haze.
449 * Added an option to enable/disable sky blending.
450 * Added an option to select smooth/flat polygon shading.
451 * Added an option to enable full-screen mode.
452 * Added a visual frame rate counter on the HUD. (Contributed by Durk Talsma)
453 * Autopilot updates (Jeff Goeke-Smith)
454 * Added an option to control the number of neighboring tiles that are drawn
457 * Fixed a horible bug that cause the time to be *WAY* off when
458 compiling with the CygWin32 compiler.
459 * Wrap up zlib so we can conditionally compile back in normal behavior
460 on systems that have trouble building zlib.
461 * Minor adjustment to texture coordinate generation to reduce texture
463 * Added a command line option to enable/disable texture maps
464 * Minor transformation adjustments to try to keep scenery tiles closer
465 to (0, 0, 0) GLfloats run out of precision at the distances we need
466 to model the earth, but we can do a bunch of pre-transformations
467 using double floats and then cast to GLfloat once everything is
468 close in where we have less precision problems.
469 * command line option to set starting position by airport ID
470 * Cleaned up initialization sequence to eliminate interdependencies
471 between sun position, lighting, and view position. This creates a
472 valid single pass initialization path.
473 * use already calculated LaRCsim values to create the roll/pitch/yaw
474 transformation matrix
477 * material properties bug fixed when rendering terrain.
478 * bug in sky color generation fixed.
479 * bug in fog color generation fixed.
480 * zlib on the fly decompression/compression support.
481 * more code reorganization and clean ups.
482 * a fixed up 30 arcsec DEM file preprocessor. World wide DEM's are
483 available in this format.
486 * Simple autopilot heading hold contributed by
487 Jeff Goeke-Smith <jgoeke@voyager.net>
488 * More code reorganization and clean ups.
491 * Many autoconf cleanups and tweaks
492 * make and make install work in unix
493 * make works for cygnus win32 (but not install yet)
494 * make dist now works
495 * added the Tools directory into the main source tree
498 * Gnu automake/autoconf/libtool make system
499 * Initial texture support