A Nasal library for implementing instruments that are specific for soaring.
This version supports:
+ Total Energy compensated variometers
+ Netto variometers
+ Relative (aka Super-Netto) variometers
+ Configurable dampener for simulating mechanical needles
+ Averager
+ Speed to fly computer
+ Speed Command variometer
+ Yaw string (it's an instrument, isn't it?)
io.inlude() loads and executes a Nasal file in place, effectively embedding
the script in the calling namespace. The function adds a symbol mark in the
namespace to avoid duplicate loading.
Additionally, in this path:
+ io.basename() & io.dirname(): Convenience functions for managing path
strings. Designed after their unix counterparts.
+ string.normpath(): Improved support for relative paths. It can now handle
paths starting with double dots, like ../../Directory
This require less interaction between Nasal and C++ and
also does not need to create a list of removed children
which was not used anyway. Now it require about 70% less
time to execute.
- move SVG to Canvas directory
- add basic wxradar
- differentiate between track and heading
- improve altitude arc
- add range arcs
- display correct ETA for next waypoint
- get rid of global variables and use instance variables
- identified all important drawing routines and move them into *.draw files
- changed to dynamic loading of *.draw *.model and *.layer files
- implemented poor-man's controller hash to move use-case specific conditionals out of the draw files, and back into the instantiation, i.e. Gijs' EFIS class
- started identifying stuff that is not specific to drawing, but to what is to be drawn, i.e. Model stuff - such as positioned queries, moved those out into *.model files
- some more work on supporting more than a single ND MFD instance per aircraft
- renamed a handful of SVG identifiers to avoid naming conflicts and to simplify usage of SVG IDs as member fields
- moved all of the setlistener setup out of the fdm-initialized stub right into the ctor of the Efis class (actually that's controller stuff...)
- initial MapStructure framework
- aircraft-agnostic NavDisplay class
- preparations for deprecating map.nas
- additions to canvas.map
- preparations for making NDStyles configurable via XML
Since 800x600 is smaller that some dialogs now, let's default to a
slightly larger size. Existing config/command-line switch to set the
size explicitly work as before.
Replace the temporary UI with real solutions, in the view dialog
(for tooltips/popups) and a new 'input config' dialog accessed via
the file menu.
Make the mouse-cycle popup explicitly optional since some people
strongly dislike it.