1
0
Fork 0
Commit graph

1391 commits

Author SHA1 Message Date
Torsten Dreyer
5c1f4a69f1 Introduce handler for --addon commandline switch
Requires flightgear commit f6698a0b1f9e8c0791314aa09cbe1625927ef3ff
to have property /addons/addon[n] populated
2017-07-18 12:14:50 +02:00
Torsten Dreyer
09bcc00b80 reset executable bit for nasal script 2017-07-18 10:57:13 +02:00
James Turner
3201c14768 Fix for sticking message tooltip.
Distinguish the popup types, and don’t allow mouse movement to change
the hide timer when the active tip is a message.
2017-05-30 00:20:14 +01:00
James Turner
cc14717930 Fix to Canvas-GUI window transparency
Separate the window titlebar from the main background area, so the
transparency of each can be set independently.

From Henning Stalkhe.
2017-05-29 08:24:22 +01:00
Thorsten Renk
2f99804dba More variation for the ALS aurora simulation, WIP 2017-04-27 14:18:55 +03:00
Stuart Buchanan
5c62d4663c Add Joystick Config dialog for individual engines 2017-04-20 21:06:42 +01:00
Erik Hofman
5049ebd0bc Prepare for windsock turbulence animation 2017-04-11 13:39:25 +02:00
Thorsten Renk
48768ee9d2 Earthview 2.1 - parallax mapping for cloud layer, lightning at night, Rayleigh scattering in atmosphere and minor bugfixes 2017-04-05 16:50:31 +03:00
Stuart Buchanan
6f2ccdd395 Add support for sprintf() formatting to tutorial
<message> tags can now contain sprintf() format
strings (%d, %.2f etc), with

<message-param>
  <property>/some/prop</property>
</message-param>

used as the substitute value.  Could be extended
in the future with perhaps Nasal evaluation?
2017-03-28 21:38:34 +01:00
Thorsten Renk
1fad428a27 Special purpose faster canvas text setting methods 2017-03-19 16:23:35 +02:00
Torsten Dreyer
ff77af8abe assign a name to the tooltip canvas 2017-02-20 19:22:53 +01:00
Stuart Buchanan
2473d667fd Use Festival TTS for tutorials 2017-02-11 21:49:00 +00:00
James Turner
a5cc57466f Merge /u/jsb1685/fgdata/ branch gui.nas into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/84/
2017-01-23 18:01:41 +00:00
James Turner
51e2ddc8ba Revert "Use new canvas Path rect/SVG support."
Don't use the built-in SVG/rect parser, since this bypasses creating
coordinate / command properties which some Canvas users rely upon.

This reverts commit 57a2d21ddf.
2017-01-23 17:51:39 +00:00
Henning Stahlke
962368eb2f Add yasim c.g. display to weight-and-fuel dialog. 2017-01-23 17:57:18 +01:00
Henning Stahlke
b568229f4a Handle missing property to avoid runtime error 2017-01-23 17:54:15 +01:00
James Turner
54abfe4874 Merge /u/prriley/fgdata/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/81/
2017-01-04 14:20:43 +00:00
Patrick Riley
a3bbb029fa FG crashes from glideslope tunnel if runway id is empty string. This change defends against bad data. 2017-01-04 09:11:27 -05:00
Richard Harrison
ea32a92fe7 Generic MFD : Added optional parameter to update method
When using a data provider, or Emesary it is useful to be able to pass an optional element into the update method for the pages.
2017-01-04 02:19:32 +01:00
Florent Rougon
bc42bb5d55 gui.FileSelector: fix bug (initial dir parameter not working) 2016-12-30 02:22:23 +01:00
James Turner
57a2d21ddf Use new canvas Path rect/SVG support. 2016-12-16 19:34:16 +00:00
Thorsten Renk
a27a82b4ad Tentative fix for accelerometers using YaSim properties in JSBSim or optionally generated properties 2016-11-23 15:34:04 +02:00
Thorsten Renk
52e5592442 Replacement of blackout/redout implementation with a sophisticated model developed for military simulators - research and implementation by Nikolai Verner Christensen 2016-11-21 10:06:35 +02:00
Thorsten Renk
5c437d74cb Earthview 2.0 - support for normal maps, better upper atmosphere edge, cloud relief shader, improved dawn zone, horizon estimation, improved resource management,... 2016-11-17 20:54:32 +02:00
Gijs de Rooy
109e452424 Navdisplay:
- properly referencing the canvas namespace, so that the ND module can be separately included via io.include()
- moving the initialization of aircraft specific SVG elements into the navdisplay.styles file, and the corresponding Boeing/Airbus entries there (see initialize_elements())
2016-10-16 16:57:16 +02:00
Gijs de Rooy
d14b0e73ad Navdisplay: fix navaid ranges for Airbus 2016-10-09 14:12:41 +02:00
Gijs de Rooy
7d7294da89 Navdisplay: fix navaid ranges 2016-10-08 20:47:07 +02:00
James Turner
3834fcc36e Add a math.clamp function. 2016-08-20 18:33:12 -05:00
Thorsten Renk
8d6413796a Some preparation for Rio Visuals 2016-08-08 09:20:04 +03:00
James Turner
8d1e42e93f Merge /u/tikibar/flightgear/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/70/
2016-08-04 09:54:06 +00:00
James Turner
84fa01a6d8 Hint to the user when we adjust on-runway start.
Still deciding if this is needed or in the right place, but
adding as an experiment, can be reverted if people don’t
like it.
2016-07-17 21:54:33 +01:00
John Williams
fc616b19a9 Restored missing markings in GS and centered VOR/LOC displays in APP and VOR modes for Boeing canvas ND 2016-07-07 12:42:55 -07:00
Thorsten Renk
ec89cde472 Change coordinates for orbiting AI object to JSBSim inertial definition for consistency 2016-06-02 11:36:17 +03:00
Richard Harrison
f171e41632 Added Emesary, AN/SPN-46 ACLS, and a Multiplayer Bridge
Emesary is a simple and efficient class based interobject communcation system to allow decoupled disparate parts of a system to function together without knowing about each. It allows decoupling and removal of dependencies by using notifications to cause actions or to query values.

Emesary is all about decoupling and removing dependecies, and improving the structure of code. Using Emesary you can more easily define the what rather than the how. By using what is essential an event driven system it is easy to add or remove modules, and also for extra modules to be inserted that the rest of the aircraft knows nothing about (e.g. FGCamera or the Walker).

see: http://chateau-logic.com/content/emesary-nasal-implementation-flightgear

The AN/SPN-46 is an ACLS implementation using Emesary. ACLS is the Navy's version of ILS.
---------------------------------------------------------------------------
There is also support for transmitting messages over MP which allows models to communicate with each other in a decoupled method using notifications. What happens is that bridged messags simply arrive at the Receive method of recipients in other models on other running instances without the need to do anything special.
2016-05-17 11:22:15 +02:00
Richard Harrison
94334ec5fc Generic MFD: Add Canvas NavDisplay
This links together the generic MFD and the NavDisplay; it allows a fairly easy method to add a Map page to an MFD device.

----------------------
See: http://wiki.flightgear.org/Canvas_MFD_Framework
----------------------
Instantiate parameters:
  1. pfd_device (instance of PFD_Device)
  2. instrument display ident (e.g. mfd-map, or mfd-map-left mfd-map-right for multiple displays) - used to map to the property tree
  3. layer_id: main layer  in the SVG
  4. nd_group_ident : group (usually within the main layer) to place the NavDisplay
  5. [optional] switches - used to connect the property tree to the nav display. see the canvas nav display.

To add a canvas nav display page simply do

me.some_page =  PFD_NavDisplay.new(me.PFD,"Situation", "mpcd-sit", "ID", "jtids_main");
2016-05-17 11:15:53 +02:00
Richard Harrison
56f6e4fd15 Remove debug and tidy up messages 2016-05-16 22:49:56 +02:00
Richard Harrison
4e351957df GeoEventNotification: add items from Models/Geometry 2016-05-16 12:13:58 +02:00
Thorsten Renk
7f3b94f8a4 Code to optionally instance and simulate the position of orbiting objects 2016-05-16 10:56:13 +03:00
Richard Harrison
b3cb0689b8 Emesary: tidy up default MP prooperty index and add droptanks to GeoEvent 2016-04-25 20:40:57 +02:00
Torsten Dreyer
b89eb0290a remove the infamous "A" console message 2016-04-24 11:12:18 +02:00
James Turner
91da4a1378 Lower default canvas Map debug level
Info-level should not log messages continuously, which some map
operations do, so lower the default to ‘debug’.
2016-04-17 18:16:08 +01:00
Richard Harrison
beb26236aa Emesary MP Bridge; optimisation
Encode the indexes and use add constants to remove hardcoded values
2016-04-17 11:32:19 +02:00
Richard Harrison
53dcb70e61 Encoded/Decode changes to use more appropriate methods. 2016-04-16 15:14:46 +02:00
Richard Harrison
1efe01a452 Fix so that the callsign is a method as most of the MP properties probably won't be fully populated when the incoming bridge is created. 2016-04-16 15:14:16 +02:00
Richard Harrison
db7ddba8ba New encoding scheme for transfer over bridge that is slightly more efficient in most cases. 2016-04-16 15:13:33 +02:00
Richard Harrison
bb24cfaec5 Change to be more generic 2016-04-12 23:25:57 +02:00
Richard Harrison
4ed25ac361 Emesary mp support
Add support for transfer string
Change Type to NotificationType as Type can be confusing
2016-04-12 23:25:47 +02:00
Richard Harrison
7fa52ea4ee Merge branch 'next-rjh' into next-emesary-mp-bridge 2016-04-10 00:38:48 +02:00
Richard Harrison
1ec48a966c Added Emesary Multiplayer bridge 2016-04-09 21:39:57 +02:00
Richard Harrison
f87afb2677 Add page indexes 2016-04-09 21:39:29 +02:00
Thorsten Renk
5134fa2a61 AW drives diurnal terrain temperature differences 2016-04-08 10:49:55 +03:00
Richard Harrison
54165c213f Added Emesary and AN/SPN-46 ACLS
Emesary is a simple and efficient class based interobject communcation system to allow decoupled disparate parts of a system to function together without knowing about each. It allows decoupling and removal of dependencies by using notifications to cause actions or to query values.

Emesary is all about decoupling and removing dependecies, and improving the structure of code. Using Emesary you can more easily define the what rather than the how. By using what is essential an event driven system it is easy to add or remove modules, and also for extra modules to be inserted that the rest of the aircraft knows nothing about (e.g. FGCamera or the Walker).

see: http://chateau-logic.com/content/emesary-nasal-implementation-flightgear

The AN/SPN-46 is an ACLS implementation using Emesary. ACLS is the Navy's version of ILS.
2016-04-02 00:13:35 +02:00
Michael Soitanen
0a4d099dc7 ND: Position trend vector. Correct drawing in case of small radius. 2016-03-28 15:26:27 +02:00
Thorsten Renk
c2ac3b8e13 Add shrub landclass to AW convective definitions 2016-03-26 09:00:08 +02:00
Erik Hofman
0d623d5f5e Add the option to the Debug menu to save the video configuration file 2016-03-21 11:53:19 +01:00
Stuart Buchanan
221235063b Add button bindings for engine to joystick config
At the suggestion of Gilberto AGOSTINHO, add
button bindings for throttle, mixture and prop
to the joystick configuration dialog.

Specific use-case is users of game-pads, but also
useful to users with a single throttle axis on their
joystick.
2016-02-10 22:21:18 +00:00
Gijs de Rooy
da50e51aa3 Fix #1823: prevent 16-bit overflow by navdisplay trend vector 2016-01-24 17:36:31 +01:00
James Turner
fddc972010 Warp/time-adjust GUI tweaks
- make t/T action press and hold, with some acceleration factor and
  clamping to a maximum rate. (Avoids confusing latching-mode of
  previous system(

- show the local time of day while adjusting.

Values are based on some experimentation, feedback welcome on the
mailing list.
2016-01-15 20:53:43 -06:00
James Turner
bd1fa5b201 (from Denk Padje)
a small patch here that uses math.round() instead of int() for "percent"
mapping in Canvas tooltip.
2016-01-15 19:35:48 -06:00
Thorsten Renk
3ab3ba72e6 Support for Aurora Boeralis for ALS skydome and Earthview 2016-01-10 10:07:21 +02:00
Florent Rougon
2cf6cf4a93 joystick.PropertyScaleAxis.parse(): copy the property name too
- Since joystick.PropertyScaleAxis instances have a 'prop' attribute
  indicating the property name, it seems logical to have
  joystick.PropertyScaleAxis.parse() set this attribute based on the
  property name in its argument ('p').

- This commit also tries to improve readability by using a 'bindingNode'
  variable instead of repeatedly calling 'p.getNode("binding", 1)'.
2016-01-09 07:56:47 +01:00
Florent Rougon
769a83e64f joystick.PropertyScaleAxis.parse(): always copy 'factor' and 'inverted'
- Commit 5bcf58c7d6 forgot to set the
  'inverted' attribute when there was no 'factor' node in the argument's
  'binding' node. Fix this.

- Also copy the argument's 'factor' value to the 'factor' instance
  attribute for consistency, since joystick.PropertyScaleAxis instances
  have such an attribute initialized in the constructor.
2016-01-09 07:35:23 +01:00
Florent Rougon
703639ec68 Remove inappropriate 'deadband' attribute from joystick.PropertyScaleAxis
As far as I can tell, the dead-band setting belongs to <axis> nodes, not
to <binding> nodes using property-scale. This can be seen in
do_property_scale()'s definition (flightgear/src/Main/fg_commands.cxx)
as well as in fgdata/Docs/README.Joystick.html.

joystick.PropertyScaleAxis creates <dead-band> nodes as children of
<binding> nodes in generated joystick binding files under
$FG_HOME/Input/Joysticks which, AFAICT, are completely useless and thus
confusing. The <dead-band> nodes should be created at a different level
to be effective (cf. FGJoystickInput::postinit() in
flightgear/src/Input/FGJoystickInput.cxx).

This commit removes the 'deadband' attribute from
joystick.PropertyScaleAxis, since it has nothing to do there IMHO.
2016-01-08 15:45:58 +01:00
Florent Rougon
5bcf58c7d6 Fix nuking of property-scale's default factor by joystick-config dialog
As can be seen in do_property_scale()'s definition in
flightgear/src/Main/fg_commands.cxx, property-scale rightfully uses a
default factor of 1.0. However, if a joystick axis' property-scale
binding has no 'factor' node defined, and one opens the joystick
configuration dialog, then PropertyScaleAxis.parse() creates an empty
'factor' node that implicitely gets a value of 0. This method is called
by joystick.readConfig() when the joystick-config dialog is opened. This
has the effect of rendering the corresponding joystick axis inoperant.

How to reproduce the bug:
  - take a joystick such as the SAITEK CYBORG 3D USB, with its default
    binding file from
    fgdata/Input/Joysticks/Saitek/Cyborg-Gold-3d-USB.xml (this file uses
    property-scale for the aileron, with no explicitely defined factor);
  - start FlightGear; move the joystick left or right while looking at
    the plane wings -> the ailerons move, it works fine;
  - now, open the joystick-config dialog and do the same test -> the
    ailerons don't move anymore and the 'Aileron' value at the bottom of
    the dialog stays at 0 (0.0 or -0.0...). Just opening the dialog to
    test the joystick has "corrupted" its setup! This is very confusing
    for users.

This fix corrects the problem by avoiding the apparently unneeded
creation of an empty 'factor' node when there is none inside the
<binding>. An alternative would be to create a 'factor' node with value
1.0. In any case, if someone later expands the joystick-config dialog to
allow modification of property-scale's factor, he should make sure to
use a default value of 1.0!
2016-01-08 12:04:39 +01:00
James Turner
8164811d9f Speed-up fix; now included in /sim/time/delta-sec 2016-01-05 23:25:55 -06:00
Erik Hofman
41562e4b87 Gilberto Agostinho:
I created a substantial quantity of new work in the New Regional
Textures project and I would like to ask if anyone could review and
perhaps commit them into FGDATA. The modifications are:

- New textures and material definitions for California
- New textures and material definitions for Mexico
- New material definitions for Central America
- New textures and material definitions for Southern Europe
(Mediterranean region: Portugal, Spain, south of Italy, Greece, coast of
Balkans)
- New airport grass texture (global)
- New airport grass texture for Latin America
- New American town texture (global)
- Small improvement to grass blade textures (to better fit the airport
grass texture)

If this will be committed, we must add a note thanking the United States
Geological Survey (USGS) for the satellite images of California (
http://www.usgs.gov/ ) to the Thanks file.
2015-12-30 17:13:18 +01:00
Thorsten Renk
4c4044b15c AW sets parameters for scattering phenomena 2015-12-21 13:49:23 +02:00
Gijs de Rooy
48fe7a838e Navdisplay: issue #1822, display altitude range arc on centered mode 2015-12-14 15:03:15 +01:00
Michael Soitanen
77abdbe7e8 NavDisplay: Wind direction in Boeing mode now have degree symbol. Position trend vector is not computed with groundspeed less than 100kts to remove possible error with lateral slope runways. Corrected postion trend vector lenght on range smaller than 10 nm 2015-12-10 17:19:20 +01:00
Michael Soitanen
676a40f912 NavDisplay: Added mode, when heading bug is always displayed regardless of track-heading switch. Switched off by default. 2015-11-30 13:34:54 +01:00
Gijs de Rooy
34b957e63b Navdisplay: add position trend vector to MAP 2015-11-30 13:29:44 +01:00
Gijs de Rooy
30aef3eee1 Navdisplay: magnetic variation for wind arrow by Michael Soitanen 2015-11-29 17:35:09 +01:00
Torsten Dreyer
00781db6c9 Small optimizations in local_weather
listener functions are called with changed node as arg,
using this spares a getprop()

Signed-off-by: Thorsten Renk <thorsten.i.renk@jyu.fi>
2015-11-27 12:10:28 +02:00
Rebecca N. Palmer
45c3eeb9ad Nasal: remove obsolete io.nas security
This has been superseded by the C++-level fgValidatePath
2015-11-22 11:22:22 +00:00
Thorsten Renk
04524c0cca Tentative improvements to AW gust modeling 2015-11-16 17:41:57 +02:00
Thorsten Renk
57c5bf1fbf Earthview loads only texture sheets actually used 2015-11-08 20:42:20 +02:00
Erik Hofman
34315227c1 Richard Harrison:
Add  generic version of a canvas MFD (based on the F-15)

It has a fairly simple class structure and hopefully is reasonably easy to understand; Thorsten's using it on the Shuttle and Hooray mentioned that it'd be a good idea to make it generic. It provides a device, that has pages and a set of buttons. The set of buttons control the page that is selected (i.e. a menu). Each page has its own set of menus. A menu defines a label and a page that is displayed. I intend to document it on the wiki once its added.
2015-10-26 12:56:11 +01:00
Torsten Dreyer
dd3390b3af Fix elevation bug for jetways
Thanks to Martin Herweg (d-laser)
2015-10-11 22:32:25 +02:00
Thorsten Renk
454fa8df8f More work on rendering lighting in ALS, public domain NOAA image resources are gratefully acknowledged 2015-08-12 11:31:05 +03:00
Thorsten Renk
a48dea9e48 Lightning for AW with ALS support - work in progress 2015-08-11 16:28:32 +03:00
Torsten Dreyer
1630bd8254 Merge commit '3feafef999aa79e87bea368cb19511413f06478b' into next
This was https://sourceforge.net/p/flightgear/fgdata/merge-requests/29/

minor correction in lag_adjust.nas (mp patch)
2015-06-17 10:44:27 +02:00
James Turner
47e14354c0 Merge commit 'b028a8ea13248aa97c3cc3a77fbb292c31147994' into next 2015-06-17 00:08:36 +01:00
janodesbois
3feafef999 minor correction in lag_adjust.nas (mp patch) 2015-06-15 01:11:59 +02:00
janodesbois
12af1482e7 little adjustements for the mp patch 2015-06-09 21:12:48 +02:00
Torsten Dreyer
dabaeea9fa Merge /u/tikibar/flightgear/ branch canvas_tacan into next
http://sourceforge.net/p/flightgear/fgdata/merge-requests/22/
2015-06-09 07:12:46 +00:00
janodesbois
b304d43d49 bug correction to the lag adjust nasal part, did things wrong when
simplifying the code
2015-06-08 18:23:34 +02:00
James Turner
563c098452 Change some Nasal logging to use logprint()
- avoids console output at default (WARN) log level from the C172P
2015-06-08 10:33:31 +01:00
Torsten Dreyer
19fe180e3e Merge commit 'e033ac2f106efd45155341f877242b448dd8ded5' into next
This is merge request #20
MP Patch first step fgdata part: nasal to check wich planes we are
displaying in the futur, with a distance check , one plane each frame.
2015-06-07 21:29:32 +02:00
John Williams
c6eab93660 Add canvas tacan display on VOR and APP modes in addition to MAP mode 2015-06-07 21:15:57 +02:00
artix
b028a8ea13 Some fix 2015-06-06 12:29:36 +02:00
artix
a6fe054946 Airbus style for MapStructure/navdisplay 2015-06-06 12:29:36 +02:00
janodesbois
e033ac2f10 FgData part for the MP patch, we allow lag compensation only if the mp plane
is close enough, we check only one plane each frame
2015-06-06 07:05:05 +02:00
Thomas Geymayer
7c3762108c canvas.gui: editingFinished signal for LineEdit. 2015-06-02 18:27:19 +02:00
Curtis L. Olson
1142bde5e9 Tomaskom writes:
I was playing with the target tracking and decided to fix an old bug that causes it to behave wrong at higher altitudes.

Background: the script continuously updates values in the autopilot to follow specified target aircraft (AI/MP). It is controlled directly through the property tree under /autopilot/target-tracking.

Issue: the script reads out true airspeed, but autopilot expects indicated airspeed. This is why at higher altitudes, the tracking always overshoots.

I fixed this by introducing an estimate on indicated airspeed of the target, using the ratio between local aircraft true and indicated airspeed.
I also fixed an issue where it ignored minimum speed setting and polished initialization by using props.globals.initNode() instead of dedicated presence check for every property (and also ensured the nodes have correct types, no more bool stored as double). And the last thing I changed was to increase the default tracking distance to a more sane value, with the original value of 0.05nm the tracking was unstable in heading with most aircraft and started oscillating.
With the changes I applied, the distance is now holding precisely at any altitude and with any winds.
2015-05-28 10:29:38 -05:00
John Williams
d88a359cd1 Add canvas display for TACAN; improve wind vector direction correction 2015-05-16 13:53:01 +02:00
Stuart Buchanan
b4d16682ce GUI Cleanup from Michael HABARTA. Part 3/3 2015-05-03 17:13:50 +01:00
www2
acb88337f2 add var to fillOpacity and strokeOpacity 2015-04-10 21:09:14 +02:00
www2
7b71a8f361 Add Alpha channel for fill and stroke 2015-04-09 00:51:24 +02:00
Rebecca N. Palmer
60da209425 Remove FG_SCENERY from Nasal allowed directories
This was insecure as Nasal could change it, and appears to be unused
2015-03-13 18:31:38 +00:00
Torsten Dreyer
404fff889b Merge commit 'refs/merge-requests/268' of https://gitorious.org/fg/fgdata into merge-requests/268 2015-02-22 21:49:12 +01:00