Changelog 3.2: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (http://wiki.flightgear.org/List_of_Nasal_extension_functions#history.28.29_.283.1.2B.29)
Line 103: Line 103:
: (see [https://gitorious.org/fg/flightgear/commit/5eee5e42ae4f5cf56283b3bf5a3be46efc2b51c4 merge request 54] and [https://gitorious.org/fg/flightgear/commit/34ed79e5f88ffdfc5e651a1fe3e639cb8f4d3353 actual commit])
: (see [https://gitorious.org/fg/flightgear/commit/5eee5e42ae4f5cf56283b3bf5a3be46efc2b51c4 merge request 54] and [https://gitorious.org/fg/flightgear/commit/34ed79e5f88ffdfc5e651a1fe3e639cb8f4d3353 actual commit])
* A new fully-interactive Nasal GUI console based on [[Canvas]] has been added: [[Interactive Nasal Console]]
* A new fully-interactive Nasal GUI console based on [[Canvas]] has been added: [[Interactive Nasal Console]]
* the hard-coded '''flight path history''' subsystem which samples aircraft position, which was previously only accessible to C++ code, has now been exposed to scripting space by Tom so that people can easily access the system and reuse the data for their own purpoes (e.g. for creating an instructor console). The first use-case will involve the new [[Canvas]] based [[Map]] dialog which will be 100% scripted by then. 
Usage:
<syntaxhighlight lang="nasal">
var hist = aircraft.history(); debug.dump(hist.pathForHistory(50));
</syntaxhighlight>
   
   
'''Documentation'''
'''Documentation'''

Revision as of 10:12, 10 May 2014

This changelog is a draft.

This changelog is currently being written for the FlightGear 3.2 release. To see what is being worked on, check out Changelog 3.2. 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.0. 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

Major enhancements in this release

Surface Light Effects & OpenSceneGraph 3.2

Stuart committed a change that brings surface lights, including VASI/PAPI/taxi/runway etc. into the xml-defined Effects framework. Kudos to Tim Moore for his original Effects work - it made it very straightforward to enhance with support for point sprites and a custom texture generator required.

The relevant effect is data/Effects/surface-lights.eff. It should allow development of ALS and Rembrandt variants.

Stuart also replaced some OSG color/normal binding calls that were removed in OSG3.2.0, apparently because they were slow. So, if your build fails, please check you've got a recent OSG build installed.

Core

  • Reset & re-init is merged and now enabled
  • A segfault related to scripted Nasal fgcommands (like used in joystick and other bindings) has been fixed ticket #1397
  • yasim versioning support for maintenance fixes (TorstenD)
  • FLITE TTS support
  • Windows dependencies have been updated

Aircraft Modeling

JSBSim

  • ground effects (see newsletter 02/2014)

Environment Rendering

  • EarthView: Orbital Rendering (Thorsten) [1]

Performance

Misc/Uncategorized

  • AIModels use PagedLOD
  • Optimise NavCache airport query
  • osg::Switch for masking scenery rendering
  • Torsten's metar work, newradio, mongoose httpd
  • HTTP: improve handling of connection errors
  • FGCamera (external addon, not yet reviewed/committed as of 03/2014)
  • Windows installer has been reworked
  • Windows installer creates 3 news directories pre-configured in FGRun:
    • {user}\Documents\FlightGear\Aircraft
    • {user}\Documents\FlightGear\TerraSync
    • {user}\Documents\FlightGear\Custom Scenery

Usability

  • Windows users are now able to use scrollwheel in dialog


Internationalization


Scenery


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.

  • Tom has pushed an update to git (simgear) which removes a lot of unneeded OpenGL state changes for Canvas paths. Depending on the GPU/driver this can lead to quite a noticeable performance improvement. For example, he was able to get from ~120ms down to ~45ms [3].
  • Hooray is working on adding shader support to Canvas 30}% completed
  • Gijs is currently working on additional projections as part of ticket #550
  • The MapStructure back-end used by the NavDisplay now supports symbol instancing, so that performance is improved
  • MapStructure-based layers can now be customized and styled
  • Tom added support for button/modifiers (mouse handling) [4]
  • CanvasImage now supports the http:// protocol for dynamically retrieving raster images. See the renamed src attribute (file is now deprecated).
  • As part of the ongoing effort on Unifying the 2D rendering backend via canvas, we have started re-implementing the integrated Map dialog using Nasal & Canvas instead of C++ 30}% completed

Nasal Scripting

  • getprop()/setprop() arguments (those that form a path) can now be numeric to specify a index, so:
getprop("canvas/by-index", "texture", 1, "name");
is now the same as:
getprop("canvas/by-index/texture[1]/name");
(see merge request 54 and actual commit)
  • A new fully-interactive Nasal GUI console based on Canvas has been added: Interactive Nasal Console
  • the hard-coded flight path history subsystem which samples aircraft position, which was previously only accessible to C++ code, has now been exposed to scripting space by Tom so that people can easily access the system and reuse the data for their own purpoes (e.g. for creating an instructor console). The first use-case will involve the new Canvas based Map dialog which will be 100% scripted by then.

Usage:

var hist = aircraft.history(); debug.dump(hist.pathForHistory(50));


Documentation

Highlighted new and improved aircraft

Other

Bug fixes

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