The usual 'modify code before checkin but past testing' Problem.
Return the elevation of the intersection result instead of the
elevation of the querys start point.
- Better transistion between taxi and takeoff phases.
- Skipping the pushback stages when a gate doesn't require push-back.
- Some test code always chooses the user aircraft as the one that has to hold position.
Don't detect libsvn without APR.
When installed, enable libsvn support by default (same as for automake).
When enabled, provide libsvn to fgfs.
gitignore temporary CMake files
- Change AIFlightPlan::waypoint into an independent class FGAIWaypoint
- Don't update leg count until the aircraft has passed the last waypoint that was created by the corresponding leg
- Clear ground network rendering for controllers that are no longer active.
Add a navinfo() Nasal extension function to provide
information about navaids. Inspired by the airportinfo
function.
This is work in progress, do not rely on this in your Nasal
code - the interface might change over the next weeks.
This fixes at least the startup process.
If an ambigous fix name was presented with --vor=ID or --ndb=ID
present a list of matching records along with frequency and
position in the console to give the user the chance to pick
the correct one by adding the frequency with --vor-frequency=nnn.nn
It does not yes solve the issue when the user relocates using the
GUI dialog. This requires some GUI and Nasal hacking along with a
new Nasal helper function "navaidinfo".
Whenever resolving a (relative) path to an absolute path with
'resolve_maybe_aircraft_path', check if the result is empty and report original
(relative) path as missing. Otherwise no or a meaningless message is
issued ("File '' not found.").
--ai-scenario=... can only add/enable another scenario.
Introduce --disable-ai-scenarios option to disable all scenarios (can be
used by external launchers, GUIs etc)
Also provide error instead of debug message when a scenario cannot be loaded.
Move the disable-HOT feature from the MP aircraft to the a/c base class,
disable HOT for all AIaircraft, since that's a fix/work-around for
#242: AI aircraft respect the user a/c only when HOT is _disabled_ for them
#221: AI aircraft don't stack at parking positions when HOT is disabled
Also generally disables HOT for ballistic and other models (suggested by vivian),
allowing it for ship/carrier models only.
Make sure actual snap shot is executed in graphics context.
(Revert the revert :) - since the basic issue in simgear is solved now)
(patch requires simgear+fgdata update!)
Fixed ugly sim-reset issue: Persistent properties (USERARCHIVE attribute)
are retained across sim sessions (when restarting the sim). So they should
also be retained on sim-resets (without the need to first exit/restart
the sim to make them really persistent).
Also, avoid warning due to read-only properties.
Only draw 3d clouds if enabled and shader-effects are true.
Remove the property-tie for 3dclouds-enabled and use a change listener
instead which also listens for changes of the shader-effects property.
Compute gravitational acceleration based on the formula of
Somigliana corrected for altitude and provide the value
in property /environment/gravitational-acceleration-mps2
1. The atmospheric properties of FG are not yet initialized when
JSBSim is initialized.
-> patch is quite basic and there may exist smarter ways to initialize
properly the environment before the FDM.
2. The Euler angles were initialized after the velocities.
3. The glide slope and rate of climb were ignored. Fixes all FDMs (YASim,
UIUC, JSBSim, etc.)
4. Some properties were instructed to re-use their previous value while
they should not.
5. Some bugs existed in JSBSim trim code. -> This bug has already been
fixed in JSBSim but the corresponding patch has not yet been applied to FG.
Seems the hack was necessary for the pre-OSG display only. Or the feature
is broken since OSG port altogether. But it caused issues for 3D and 2D
cockpits when /sim/virtual-cockpit wasn't enabled. => Removing for now.
Fixes an ugly issue with OSG overwriting memory/stack. wxradar triggered
the issue in display mode "ARC" - since it configured a display mask (12
vertices) but all vertices were immediately removed again ("_vertices->clear()").
Issue is fixed, mask now working - however the mask wasn't even properly
aligned for the display (probably never worked since OSG port). The display
mask is only really required for weather display - so disabling for now.
Original property-rules in keyboard.xml toggled master and clock freeze
independently - which caused issues when only one property was true. New
command toggles both properties consistently.
This reverts commit b36b33f716.
See #316: Caused issues with sky becoming black in dense fog.
Also: when the fog issue is solved, we could configure the constant
(black) clear color once only (during init), no need to do it in every
loop. Also, entire "if (skyblend) { ... } else {..}" was redundant,
since "if" and "else" clauses were all identical - and the "clearColor"
variables were unused. => Once the fog issue is solved, we can easily
improve the clearColor configuration here.
Panning feature looked broken to some users since auto-center is enabled
by default which blocks panning. center-on-aircraft is now disabled
automatically when view is panned.
This class and their source files visual_enviro.[h|c]xx were
unused since OSG transition. It's only functionality was to
keep a variable for the enable-state of rendering of precipitation.
This has now been moved to SGPrecipitation.
This patch also removes all references to this class and
visual_enviro.hxx. Wxradar needs a new implementation for cloud
echoes which probably should be part of fgclouds.
See also SimGear commit 4e6159aa07f2817c09fad72db64d713e47f6f3da
coordinated with and approved by Andy.
The lattice(x,y) arguments were being "WRAP()'d" but the WRAP() function
didn't make sense. Instead it was forcing the value to zero if it was
greater than the wrap limit. This was creating large areas of constant
values in the perlin noise maps which resulted in a "constant" turbulence
vector over time -- which is just weird.
Andy couldn't see any reason why the values should be wrapped and couldn't
remember any reason why the WRAP() function was set up like it was.
Andy wanted me to make sure and mention that he was INSANE when he wrote that
code (but now he's sane ... err, mostly.)
New module contributed: AV400WSim.
Supports communication with external (aka real) Garmin 400/500 WAAS flight
sim units. Includes changes to options.cxx and fg_io.cxx to support
invoking and configuring the new module.
* Update AI aircraft object based on user position.
* Process flightplan
* Don't try to update the radar information for AIAircraft that don't have a valid manager pointer
New "auto-position" switch to always use closest tower for tower-view.
Exposes new "/sim/airport/closest-airport-id" property.
Display closest airport on groundradar by default.
The internal solver of YASim which computes drag and lift
coefficients now actually uses the values configured in
the XML input file for approach fuel, cruise fuel and cruise
glide angle.
* Allow position and intentions to be monitored and updated by the Startup controller
* Added a "parent" pointer to the startup controller to allow communication with the groundnetwork.
* Implemented a render() function for the Startup controller
* Renamed "FGGroundNetwork::getRenderNode() to FGGroundnetwork::render()
- Fixed a bug in AI aircraft ground steering code: When aircraft were not moving, the value of headingchangeRate kept increasing to insane levels. Although this was clamped to a maximum of 30 degrees per second, the initial rate could still push the aircraft in the wrong direction. In practice, this bug would be visible when an AI aicraft would be pushed back, when it tended to veer to the right.
- Make sure that the aircraft slows down well ahead of the pushback point. This change ensures that the AC will actually reach the pushback point. It also ensures a slightly tighter steering range.
- AI ground steering rate is tuned to 30 degrees per second at a nominal taxispeed of 15. I now modulate the heading adjustment rate by manipulating the adjustment using a non-linear function (the sqrt). This allows for a slightly tighter turn radius at speeds < 15 and slightly looser turns at speeds > 15.
- The AI Flightplan generation code can return false. This can be used to determine whether any additional AI aircraft may be created. Currently, the function returns false when no more parkings are available. This should limit the build-up of huge AIAircraft tower stacks.
- The ground network can now graphically display all aircraft actitivy on the ground network by using a virtual marker system.
* Added an AIAircraft that is shadowing the user aircraft's behavior, in terms of AI / ATC interactions
* Set up a shadow AI FlightPlan that is used for tracking the user's aircraft.