Changelog 3.4

From FlightGear wiki
Revision as of 11:54, 11 February 2015 by Hooray (Talk | contribs) (Breaking Changes)

Jump to: navigation, search
This changelog is a draft.

This changelog is currently being written for the FlightGear 3.4 release. To see what is being worked on, check out Changelog 3.4. Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.
It's a good idea to check the newsletters since the last release, and the git commit history. To view the changelog for the most recent release, please see Changelog 3.2. We also encourage people to help by translating the changelog and appreciate all contributions, however please keep in mind that this changelog is not yet final!

Upcoming FlightGear Changelog

Breaking Changes

Cquote1.png the rendering logic for AI aircraft has changed recently. If they are drawn depends on the projected size on the screen and not on their distance.

Please check the properties

  • /sim/rendering/static-lod/ai-range-model-pixel (should be true)
  • /sim/rendering/static-lod/ai-detailed (should be 30)

With this configuration, AI aircraft bigger than 30pixels on the screen should show up.

There are other factors in OpenSceneGraph that decide if the Paged LOD nodes get rendered. It may sometimes take a couple of minutes or some view panning for the models to pop up.


Major enhancements in this release


Cquote1.png I have just pushed a partial fix for the issue to SimGear.

The event now uses property polling instead of attaching listeners to
retrieve the values for the uniforms.

Without the change, I was able to reproduce the crash locally within a
couple of minutes. With this patch,
I havn't seen a crash over a period of 3.5 hours constantly watching AI
traffic over KSFO building up.

This only changes the behaviour of scalar properties, arrays et. al.
have not yet been changed.
Also, this is still not thread safe - no locks have been implemented. If
a getValue() for a property gets called
from within the OSG thread while the main thread updates the same value,
this might result in a wrong value
for multibyte values.However this should be automatically corrected in
the next frame and not crash the system.

Cquote1.png As a side effect, I have noticed that the load for the xml-property rule

subsystem has decreased on my system
significantly. This subsystem generates values for most of the
environment properties responsible of the
instantiated effects. Without the patch, thousands of listeners were
triggered each frame resulting in an average
of 1ms execution time per frame for the proprule subsystem. With the
patch, this has decreased to an average
of 0.07ms per frame. This is on a 3.5GHz 6 Core Xeon. Weaker machines
might benefit even more.


Aircraft modelling






Canvas system

FlightGear's fully scriptable 2D rendering system now includes improved APIs for creating maps and navigation displays amongst many other improvements. People no longer need to have programming experience to add a working ND to their aircraft, it can now be all done by copying and pasting 30 lines of text and customizing a few properties. The so called MapStructure back-end handles efficient updating of all ND layers transparently. Also, maps can now be mostly customized, including custom styling (colors, fonts, symbols etc).

  • Nasal namespace Browser
  • MapStructure is being ported to become a native Canvas Widget
  • work has begun to port the airport selection dialog to use the MapStructure framework
  • Tom has implemented keyboard handling support
  • Text/Input field support
  • Input dialog

Nasal scripting


Highlighted new and improved aircraft


  • Firewall exceptions are automatically added during setup on Windows systems
  • Aircraft moved to a SVN repository.

Bug fixes

  • See our bugtracker for an extensive, yet incomplete, list of the bugs fixed in this release.