ThorstenB [Sun, 18 Nov 2012 15:35:54 +0000 (16:35 +0100)]
Remove static property dependencies
preventing us from wiping properties on reset/reinit/subsystem recreate.
(more work required for "native_gui" and "ATC-Outputs" protocols)
ThorstenB [Sat, 17 Nov 2012 19:01:19 +0000 (20:01 +0100)]
#600, for Curt... ;-) allow speed-up value to use fractions
"speed-up" can now also be used for slow-motion (i.e. 0.5 / 0.25 / ...)
or fractional speeds (3.141...). This was already working for instruments
(for replay) before, now it's also considered by FDM simulation.
James Turner [Sat, 17 Nov 2012 18:10:15 +0000 (18:10 +0000)]
Support request body on xmlhttprequest.
Allow XML property data to be submitted with a request; changes the request method from GET to POST. Supply nodes via the 'body' argument to the command.
James Turner [Fri, 16 Nov 2012 16:43:54 +0000 (16:43 +0000)]
Further work on bug 905.
Tolerate Octree leaf children which have been moved outside their leaf's BBox. This is necessary since lazy-loading of ILS and threshold files can cause re-locations even during child traversal, where updating the hierarchy is very complex. Instead, simply tolerate this case, and rely on the real position data (which is correct).
James Turner [Mon, 12 Nov 2012 21:30:28 +0000 (22:30 +0100)]
Support for creating default SID/approach.
Durk reminded me of this - when we're missing procedures data (the common case), synthesise a plausible (but possibly dangerously unrealistic) departure and approach. Will work fine for airports in gentle terrain, and likely kill you at challenging airports. You have been warned.
ThorstenB [Sat, 10 Nov 2012 20:25:31 +0000 (21:25 +0100)]
Extended replay and flight recording system
Save/restore replay sessions.
Replay system message support, so recorded flights can be turned into
flight tutorials.
James Turner [Sat, 10 Nov 2012 14:48:00 +0000 (14:48 +0000)]
Fix bug 905.
When a position is modified for an in-cache FGPositioned, we need to update the runtime information too, or the Octree code may (rightly) complain that it's seeing inconsistent data. Also make the Octree check an exception throw, and verbose, so this is easier to detect in the future.
ThorstenB [Thu, 1 Nov 2012 14:31:05 +0000 (15:31 +0100)]
Jean Pellotier: don't show markers for invalid targets in HUD
Don't show invalid AI/MP models in the HUD (after they were removed from
the scene).
Also, when a radar is installed, consider radar/in-range for HUD display.
ThorstenB [Thu, 1 Nov 2012 13:35:17 +0000 (14:35 +0100)]
#903: generic protocol: fix a rare corner case
ASCII protocols consisting of a single chunk only (one variable per line)
would not work when no "separator" was defined.
Also add error message for protocols with more than one var per line which
are missing a separator...
James Turner [Tue, 30 Oct 2012 15:43:54 +0000 (15:43 +0000)]
Traffic improvements.
Make landings and takeoffs look more correct; tweak climb-out and touchdown phases in particular, so the turn to destination heading occurs earlier on climb out, and touchdown occurs close the GS transmitter / some distance down the runway from the beginning.
ThorstenB [Sat, 13 Oct 2012 14:48:56 +0000 (16:48 +0200)]
ATIS upgrade
Add missing ATIS elements (transition level, expected approach,
precipitation, runway surface warnings).
Minor phraseology fixes for US/Europe.
Adds "/sim/atis/concise-report" option to use abbreviations (CAVOK etc),
and omit "obvious" units (depends on airport).
Trigger ATIS updates for significant pressure changes.
ThorstenB [Sat, 13 Oct 2012 12:37:47 +0000 (14:37 +0200)]
ATCVoice: support multiple voice files
so we can split ATIS voice files into separate files, i.e. for airport
names and phraseology, so we don't need to regenerate airport names when
extending/changing phraseology. Also allows to add custom airport names.
Enable switching voice files at run-time (different airports could have
different voices...).
ThorstenB [Wed, 10 Oct 2012 18:28:17 +0000 (20:28 +0200)]
#897: float vs double precision issues (frequency dialog not always working)
puObject only provides float, not double, which causes precision/rounding
issues with some numerical values (try "114.2").
Work around: obtain string value, and manually convert with proper double
precision.
ThorstenB [Sun, 7 Oct 2012 18:47:50 +0000 (20:47 +0200)]
Improve gyro heading indicator failure simulation
Error/offset induced by precession and yaw also depend on spin (no spin =>
no additional error/offset).
Error/offset induced by changing a/c orientation while gyro spin is
low (<<1) should apply to the "offset" (instead of "error") property.
James Turner [Fri, 5 Oct 2012 17:12:46 +0000 (18:12 +0100)]
Make traffic take-off roll look a little better.
Expand the performance DB logic to support aliases, and select based on aircraft type as well as class. This allows to introduce some variation into AI traffic performance. Change the initial climb-out waypoints to use pitch-hold until passing 3000', which looks much more convincing
James Turner [Mon, 1 Oct 2012 08:21:34 +0000 (09:21 +0100)]
Use a helper thread to init the traffic-manager.
Make traffic manager startup asynchronous, but also avoid frame-stutter due to file parsing on the main thread. Note only XML parsing happens on a thread - once that's complete, everything happens as normal on the main thread, as before.
James Turner [Mon, 1 Oct 2012 12:06:28 +0000 (13:06 +0100)]
Run the filters for comm/navaids as required.
Apparently most filters are only filtering on type - we weren't running the filter body for navaid or comm-station lookups, causing weird ATIS bugs. Ensure that we actually run the filter at the point we have an FGPositioned* result.
James Turner [Sun, 30 Sep 2012 18:40:08 +0000 (19:40 +0100)]
Tolerate refactored SGSound headers.
An upcoming commit will make the sound headers standalone, and no longer include various other headers / using std:: declarations. Prepare for this by making includes and usage of namespaces explicit.
James Turner [Sun, 30 Sep 2012 15:34:51 +0000 (16:34 +0100)]
Initial work on dynamic subsystem creation.
Make subsystems create-able and removable from commands. Only some subsystems are supported so far, since many have non-default constructors or other complexities.
With this, change, it's possible to dynamically add and remove the traffic-manager at runtime, for example: fgcommand("add-subsystem", props.Node.new({ "subsystem": "traffic-manager", "name":"traffic-manager", "do-bind-init":1}));
James Turner [Sat, 29 Sep 2012 18:02:03 +0000 (19:02 +0100)]
Support a --no-default-config option.
For (future) easier testing of the sim, support a mode where only explicitly named config / option files are loaded, instead of the default ones. (Including, for example, preferences.xml). This currently produces a non-functional sim, but will soon be more useful :)
No behaviour should change unless you try the new option.
James Turner [Fri, 28 Sep 2012 14:32:31 +0000 (15:32 +0100)]
Make FGControls behave like normal subsystem.
FGControls create/init/bind order was incorrect, causing initial property tree state to get over-written. Restructure the code so bind() sees correct values.