Changelog 2.12: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(→‎Major Enhancement in this release: http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40042.html)
Line 24: Line 24:
The new tracking animation (similar to Blender's locked-track constraint) allows easily animating complex kinematic systems. For examples gear scissors, landing gear doors attached to struts (also with links and joints in between) or also torque struts connecting multiple gears with independent compression while still tracking each other can be realized. Also any type of strut for eg. cargo ramps can be easily animated. If you get used to Blender its a really powerful tool (I have problems if trying to work with other modelling programs :P) and with using the right scripts it gets a very neat tool for creating models for FlightGear. For example for a gear scissor just add an armature with two bones, add an IK constraint to the second bone and attach an element of the scissor to each bone, and you are done. You can watch the animation in Blender and using an exporter script now it is possible to watch exactly the same animation inside FlightGear. You don't need to guess any coordinates/axes/etc. and if you modify and object you just have to export it again, without manually modifying the animation xml. There are (currently) only two axes required. The lock-axis and the track-axis. They should be orthogonal, as the rotation is only possible round the lock-axis. Internally the track-axis is always orthonormalized to the lock-axis, as calculations always are performed in the plane normal to the lock-axis. See [[Tracking animation]].  
The new tracking animation (similar to Blender's locked-track constraint) allows easily animating complex kinematic systems. For examples gear scissors, landing gear doors attached to struts (also with links and joints in between) or also torque struts connecting multiple gears with independent compression while still tracking each other can be realized. Also any type of strut for eg. cargo ramps can be easily animated. If you get used to Blender its a really powerful tool (I have problems if trying to work with other modelling programs :P) and with using the right scripts it gets a very neat tool for creating models for FlightGear. For example for a gear scissor just add an armature with two bones, add an IK constraint to the second bone and attach an element of the scissor to each bone, and you are done. You can watch the animation in Blender and using an exporter script now it is possible to watch exactly the same animation inside FlightGear. You don't need to guess any coordinates/axes/etc. and if you modify and object you just have to export it again, without manually modifying the animation xml. There are (currently) only two axes required. The lock-axis and the track-axis. They should be orthogonal, as the rotation is only possible round the lock-axis. Internally the track-axis is always orthonormalized to the lock-axis, as calculations always are performed in the plane normal to the lock-axis. See [[Tracking animation]].  


'''Transponder'''
The transponder instrument system has been overhauled, making it easier to use from panels, supporting Mode-S altitude encoding, and sending the important properties over multi-player. This will allow more realistic ATC interactions, since id (squawk) codes now matter! See this wiki page for more information on installing / updating the transponder installation in aircraft.


'''Performance'''
'''Performance'''

Revision as of 16:53, 12 May 2013

Upcoming FlightGear Change Log

The FlightGear development team is happy to announce the v2.10 release of FlightGear, the free, open-source flight simulator. This new version contains many exciting new features, enhancements and bugfixes. Highlights in this release include improved usability, better terrain rendering and a fully scriptable 2D rendering system.

Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.

FlightGear features more than 400 aircraft, a worldwide scenery database, a multi-player environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute.

Download FlightGear v2.10 for free from FlightGear.org

FlightGear - Fly Free!

You can help us write the changelog for the upcoming FlightGear release at Next Changelog.

To view the Changelog for the most recent release, please see Last Changelog.


Major Enhancement in this release

Aircraft Modeling

The new tracking animation (similar to Blender's locked-track constraint) allows easily animating complex kinematic systems. For examples gear scissors, landing gear doors attached to struts (also with links and joints in between) or also torque struts connecting multiple gears with independent compression while still tracking each other can be realized. Also any type of strut for eg. cargo ramps can be easily animated. If you get used to Blender its a really powerful tool (I have problems if trying to work with other modelling programs :P) and with using the right scripts it gets a very neat tool for creating models for FlightGear. For example for a gear scissor just add an armature with two bones, add an IK constraint to the second bone and attach an element of the scissor to each bone, and you are done. You can watch the animation in Blender and using an exporter script now it is possible to watch exactly the same animation inside FlightGear. You don't need to guess any coordinates/axes/etc. and if you modify and object you just have to export it again, without manually modifying the animation xml. There are (currently) only two axes required. The lock-axis and the track-axis. They should be orthogonal, as the rotation is only possible round the lock-axis. Internally the track-axis is always orthonormalized to the lock-axis, as calculations always are performed in the plane normal to the lock-axis. See Tracking animation.


Transponder The transponder instrument system has been overhauled, making it easier to use from panels, supporting Mode-S altitude encoding, and sending the important properties over multi-player. This will allow more realistic ATC interactions, since id (squawk) codes now matter! See this wiki page for more information on installing / updating the transponder installation in aircraft.

Performance

Many NavCache related startup issues experienced by Windows users (lag) were resolved

Portability

Portability for older systems without GLSL (shaders) support has been restored again, so that FlightGear no longer crashes on such systems.

Improved modularization


Atmospheric Light Scattering


Improved performance, reduced memory occupancy

Usability

Work has started on adding support for tooltips to FlightGear, Tooltips are a work-in-progress usability enhancement. They provide a way for a cockpit to be partially self-documenting, when a user explores, and can also provide a positive confirmation of state or action, which is often lacking in 3D cockpit interactions due to absence of audio or haptic feedback. (Which is a fancy way of saying, switches don't click or feel to move). A tooltip is specified via a set-tooltip command in a pick (or slider or knob) animation's <hovered> bindings group. The tooltip is configured at this time, especially content and an ID. The mouse-handling system then displays the tooltip at the correct time. This design allows us to show tooltips at configurable points, either the standard method - after the mouse is stationary for a period of time - or in response to other actions, such as mouse clicks/drags. Continue reading at Tooltips...


Stuart has pushed a further enhancement to the checklist feature. Aircraft authors may now add one or more <binding> elements to a checklist <item>. Conceptually, these are the actions that the user should execute to complete the item. The checklist GUI displays items with such <binding> elements with an additional [>] button. Clicking on the button executes the bindings, allowing the user to watch as the computer/co-pilot/instructor executes the checklist item. The <binding> element is exactly as you would expect - so property-assign, nasal etc. works. Due to the power of Nasal and properties, this feature only required 13 lines of code to write, most of which is displaying the button! Stuart is planning to extend this function so that checklists with one or more items containing a <binding> element can have an (optional) button to execute the entire checklist. I'm still thinking of how best to implement this, as I think one would want a gap between each item. Stuart highlights the property-interpolate command which provides a very convenient way to interpolate a property to a new value. See Docs/README.commands if you were unaware of this. Stuart has updated the c172p checklists to use this feature, including some rather cute interpolations of the throttle, mixture and trim controls.

Continue reading at Aircraft Checklists...

Internationalization

FlightGear continued to benefit from contributions from across the globe.

Flight Planning and Route Manager

Canvas System

The "canvas" system is FlightGear's fully scriptable 2D rendering system, which makes it possible for users to easily create new instruments, HUDs and even dialogs and custom GUI widgets using FlightGear's built-in scripting language Nasal (which looks really similar to JavaScript). The Canvas can also be used for the creation of complex glass cockpit displays like navigational displays and other MFDs, none of this requires rebuilding FlightGear from source or writing C++ code.

Canvas improvements in this release include:

  • The style setter system has been reworked, style setters are now only setup once for each element type and not for each element instance as before. A static map holds the setters for each element type. Also an animation type is stored which will later allow to animate properties of Canvas elements without specifying and animation type.
  • The Nasal/cppbind framework has been improved to expose more Canvas internals to Nasal space
  • Canvas textures can now not only be used as a aircraft/cockpit textures (instruments, MFDs) and for the HUD/GUI, but also for scenery objects. Canvas instances can now be placed on scenery objects. This allows for example creating animated signs/monitors. Tom has started to create a Visual Docking Guidance System, which is not fully functionally yet but should be complete enough to be used for a screenshot (eg. azimuth guidance is missing)
  • Enable texture repeat for Canvas images


Nasal Scripting

  • All methods exposed to the Nasal props module now accept an optional first parameter refering to another node by a relative path.
  • Ensure every scenery model has own SGModelData. This makes Nasal unload hooks of scenery objects working again. Previously the same SGModelData instance was used for all objects which never got destroyed and therefore was not able to call any unload callback.
  • SimGear's SGTimer class is now fully exposed to Nasal, see the new maketimer() API, available in FG >= 2.11 List of Nasal extension functions

Rembrandt

AI Improvements

Regional Textures


Highlighted new and improved aircraft


Other


Bug fixes

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