- Fixed triggering of debug assertion "altitude_callout_voice != NULL" when
altitude callouts were delayed by higher priority warnings.
- Fixed performance bug: MK_VIII::IOHandler::TerrainClearanceFilter::update
sucked CPU time (top #12 in profiler), due to complex "moving average"
calculation on a queue of hundreds/thousands of altitude samples.
Also, pausing the sim caused this queue to grow excessively (by one sample
per update loop) => resuming the sim after pausing it for a long time
resulted in the TerrainClearanceFilter sucking even more CPU time...
=> Number of altitude samples is now limited to 5 samples/sim-time-second
(still more than enough to calculate a stable average).
* Fixed segfault when GPWS finds a matching airport but no suitable runway.
* Fixed several sim deadlocks when GPWS alerts trigger at "strange"
heights (e.g. initial alert height is -5ft or 1e-29...).
* Avoid repitition of GPWS alerts below 30ft, i.e. avoid excessive
repitition when plane becomes airborne at bumpy landings.
Only block callouts which were actually issued to the pilot. When
multiple callouts trigger at the same time, allow lower prio warnings
to be issued once the higher prio ones are resolved.
=> Gear/flap warnings are now working reliably (no longer blocked
permanently when altitude callouts are enabled).
* Fix issue #139, uninitialized variable causing sim deadlock in MK_VIII::Mode5Handler::get_soft_bias
* Fix more uninitialized variables sometimes causing warnings not to work.
* Fix some warnings only working on a single approach (missing reset).
* EGPWS self-test can now be triggered more than once (missing reset).
* Implement configuration options for attitude and altitude input selection.
Add helper to look for an aircraft branch path in multiple candidate locations.
Update the main subsystems to use the helper, and hence load from any aircraft dir.