1
0
Fork 0
Commit graph

1590 commits

Author SHA1 Message Date
Stuart Buchanan
3caa899068 FG1000 - NRST PFD Function
Implement the Nearest Airports PFD softkey, displaying a scrollable
list of the closest 25 airports within 200nm.

Also fix a couple of minor bugs and add self-checking to the
GroupElement
2020-03-12 21:39:23 +00:00
Stuart Buchanan
76cfa2c077 FG1000 and MFD handle non-MFD Emesary notifications
Previously the FG1000 and MFD assumed that all notifications received
via Emesary had a Device_Id field.  This is true for
notifications.PFDEventNotification.DefaultType but not for other
messages - e.g. those generated by the AN SPN 46  system on the
carrier.

The effect of this was that when Nimitz was loaded, the FG1000 stopped
working with various errors.

This fix checks the notification type before the Device_Id.
2020-03-12 17:25:34 +00:00
James Turner
556c19e1ee Merge /u/dirteat/flightgear/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/172/
2020-03-11 09:44:21 +00:00
Henning Stahlke
f547786fe4 add canvas/draw.nas library 2020-03-08 21:02:44 +01:00
Henning Stahlke
8b0fa9a08d update canvas_efis/main.nas to get namespace via module API 2020-03-08 20:57:04 +01:00
Henning Stahlke
a1664a4759 add 'available' node for reloadable Nasal modules 2020-03-08 20:56:05 +01:00
Henning Stahlke
ce848ff916 remove dead code from addons.nas (forgotten when moving code out to modules.nas) 2020-03-08 20:48:28 +01:00
Henning Stahlke
4108652c94 remove unnecessary userarchive flags from defaults.xml 2020-03-08 20:46:56 +01:00
Henning Stahlke
11b05ebab2 modules.nas fix type in path; update comments 2020-02-23 19:39:42 +01:00
Henning Stahlke
6c92220d18 Merge branch 'next' of git://git.code.sf.net/p/flightgear/fgdata into next 2020-02-23 19:37:17 +01:00
Richard Harrison
1d0129bdd9 Fixed timers in wildfire 2020-02-22 19:51:41 +01:00
Eatdirt
5310734d4c Add two new methods for geo objects
The method horizon() returns the distance to the horizon, along earth
surface, starting from current location. The method
greatcircle_distance_to(A,B) returns the shortest distance to a great
circle passing by A and B, along earth surface and from current location.
2020-02-20 21:36:54 +01:00
Henning Stahlke
b69f460ee5 Canvas EFIS framework 2020-02-20 00:02:33 +01:00
Henning Stahlke
c6e5244b13 update defaults.xml
add repair_config.nas to fix old userarchive flags
2020-02-15 14:39:36 +01:00
Stuart Buchanan
4b0d08975c Merge /u/jsb1685/fgdata/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/164/
2020-02-12 19:38:43 +00:00
Henning Stahlke
1b2014ed04 minor improvements to modules.nas 2020-02-03 09:59:38 +01:00
James Turner
53e3bac6ee Merge /u/deltaecho/flightgear_fgdata/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/163/
2020-01-30 10:40:01 +00:00
Henning Stahlke
e39ebd79e3 add Nasal loadable module support (modules.nas) 2020-01-26 18:13:08 +01:00
jano
c982d3e333 added a page with the unit toggle, to display lag statistics, to help diagnose and address lag issues 2020-01-14 11:58:26 +01:00
Richard Harrison
e9b12b302f Fix Tanker when no offset specificed 2020-01-10 20:00:55 +01:00
Richard Harrison
94c9f3b428 Fix failure manager warning
ironically the warning message was causing a more serious failure.
2019-12-11 17:53:35 +01:00
Henning Stahlke
5676ce6c68 add is_directory(path) and subdirectories(path) to Nasal/io.nas 2019-11-09 23:26:49 +01:00
Henning Stahlke
43efd64dd2 add aspect ratio lock feature to canvas window; user window.lockAspectRatio() to activate 2019-11-06 22:59:08 +01:00
Julian Smith
3302620745 Nasal/multiplayer.nas: Make sure we update view if /sim/current-view/model-view is changed. 2019-10-25 21:03:36 +01:00
Thorsten Renk
8efa938ace Add volcanic activity for Surtsey 2019-10-19 10:27:33 +03:00
Thorsten Renk
79af6d0fd0 Fix spurious altitude variation in improved analytical orbit of orbital target 2019-10-06 11:30:07 +03:00
Stuart Buchanan
01dc9d0b38 Add props.nas getDoubleValue(), getIntValue()
Also fixed an issue with whitespace around view parameters.
2019-09-22 21:14:07 +01:00
James Turner
f83caf7e45 The default GPS delegate now handles sequencing
In conjunction with some FlightGear changes, the delegate can now do
all sequencing decisions, i.e the GPS C++ code does not make any policy
decisions about sequencing.

Update the default Nasal delegate to mimic the old behaviour, and set
the config option, both to allow future developments and to demonstrate
the new API.
2019-09-20 13:08:10 +01:00
James Turner
0172ef9d08 Nasal fixes for unit testing
Tolerate missing properties in various places, since defaults and 
other subsystems might not have created them.
2019-09-18 15:00:00 +01:00
Julian Smith
e41c0f099b Nasal/canvas/tooltip.nas: handle multiple properties.
Allows sprintf string to contain multiple %'s, which are mapped to multiple
<property>...</property> tags.
2019-08-31 14:14:18 +01:00
Julian Smith
c280ff3fc4 Nasal/prop_key_handler.nas: fixed couple of issues in search ('?') code.
Don't include initial '/' in search string.

Don't fail if a property value is -Nan.
2019-08-31 14:14:18 +01:00
Julian Smith
96fd272a51 Nasal/prop_key_handler.nas: added new '#' command to listen to properties.
Sets up listeners to show all changes to specified property or any of its child
properties.
2019-08-31 14:13:31 +01:00
Delta Echo
16086cac2d [Nasal]Add possibility to recognise drag robots for glider towing 2019-08-31 10:20:15 +02:00
Julian Smith
8301a4f16e Nasal/view.nas: allow Tower View Look From to work with multiplayer aircraft. 2019-08-29 00:11:52 +01:00
Julian Smith
2c5f6a96c2 Nasal/view.nas: Implemented multiplayer fly-by view. 2019-08-29 00:11:52 +01:00
Julian Smith
7550ff70d9 Nasal/view.nas: set new property /sim/current-view/multiplayer to 0 or 1.
Useful to have this information available as a simple property.
2019-08-29 00:11:51 +01:00
Julian Smith
48911a8131 Nasal/gui.nas: nextStyle(): popup new GUI style's name.
Also added delta param to control direction of change.
2019-08-29 00:11:51 +01:00
Julian Smith
2d8ec16afc Nasal/multiplayer.nas: improved font handling in Pilot List dialog.
It looks like widgets don't inherit font or colour from parent widgets. Also,
setting font=nil gives sublety different results compared to leaving font
unspecified.

So we now set font and colour explicitly for every widget using new function
set_default().

Also set font and colour of 'Pilots:' widgets and heading widget to me.fg[1] to
match other text.
2019-08-29 00:11:51 +01:00
Julian Smith
0f741b16fe Nasal/multiplayer.nas: disable 'no model installed' messages. 2019-08-29 00:11:51 +01:00
Julian Smith
c4d71f06e0 Nasal/multiplayer.nas: remove hard-coded default font params.
These are unnecessary because we use gui/styles/*. This also allows an empty
style to be specified, where we inherit from system-wide defaults.
2019-08-29 00:11:51 +01:00
legoboyvdlp R
fc7319a5da Local weather: correct the fade in rate per private discussion with Thorsten, this will in the short term reduce jumps until I figure out changing this per distance; this was originally meant to be over 10 seconds apparently 2019-08-27 20:56:32 +01:00
Julian Smith
81fc15d8e7 Nasal/view.nas: fix for regression in handling of /sim/current-view/?-offset-m.
resetViewPos(): set /sim/current-view/?-offset-m to
/sim/view[]/config/?-offset-m, not zeros.

This requires corresponding change to flightgear to compensate for the extra
offset, and fixes things when aircraft implement custom views by writing to
/sim/current-view/?-offset-m.
2019-08-12 18:02:02 +01:00
Julian Smith
ff503c1093 Nasal/multiplayer.nas: in Pilot List, append +/- to altitude if ascending or descending. 2019-08-12 18:02:02 +01:00
Julian Smith
4e94cdc906 Nasal/multiplayer.nas: in Pilot List, added column showing id of nearest airport.
Requires changes to flightgear to populate
/ai/models/multiplayer[]/sim/tower/airport-id.
2019-08-11 13:22:59 +01:00
Julian Smith
f591120032 Disabled old 'Model View' selector by default.
It is now called 'Legacy multiplayer view selector', and enabled/disabled via
new checkbox in the 'View - View Options' dialogue.
2019-08-05 07:31:47 +01:00
Julian Smith
2e5e314a77 Nasal/view.nas:stepView(): also create /sim/current-view/view-number-raw.
This allows new view code to find the view configuration with non-sequential
view numbers (e.g. on 777).
2019-08-05 07:31:47 +01:00
Julian Smith
a10274665d Nasal/view.nas: pilot_view_limiter: protect against nil. 2019-08-05 07:31:47 +01:00
Richard Harrison
294e76a47f Revert "Nasal/screen.nas: move log window to top-left and left-align the text."
It's always been at the top; and although it is clear that the intent of this change was to improve things it highlights the need to make more substantial improvements to the way on screen messages are handled.

What we probably should have is an area that has a transparent dark background, a fixed size, supports scrolling, can be left open (or re-opened) and moved persitently around the screen.

This reverts commit 82f3eb45b9.
2019-07-29 13:00:23 +02:00
James Turner
0a68cbd93a Merge /u/jsb1685/fgdata/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/151/
2019-07-22 15:54:56 +00:00
Henning Stahlke
aaa7888f6b add setViewByIndex to view.nas 2019-07-21 12:56:01 +02:00
Julian Smith
c80059ba53 Removed Model View so that Tower View AGL doesn't alter view numbers.
Due to Nasal/view.nas making a sequential copy of views, inserting new view
number 8 for Tower View AGL broke custom views, e.g. for aircraft 777).

We no longer require Model View (it's identical to Helicopter view now), so
this way we can have Tower View AGL without altering sequential view numbers.
2019-07-20 22:01:05 +01:00
Julian Smith
3738d84d7b Nasal/view.nas: set /sim/viewp[]/config/root to point to multiplayer data.root.
This is required by view code.
2019-07-09 16:25:11 +01:00
Julian Smith
f61b097eb3 Nasal/multiplayer.nas: In Pilots list, use only one colour (white) for pilots for whom we have a model.
I think the previous alternating colours were confusing because of the use of
a third and fourth colour for when we have no model or are using a fallback
model.
2019-07-09 16:25:11 +01:00
Julian Smith
82f3eb45b9 Nasal/screen.nas: move log window to top-left and left-align the text.
Reduces chat messages etc obscuring HUD.
2019-07-09 16:25:11 +01:00
Julian Smith
e2df25343a Nasal/multiplayer.nas: reordered columns in Pilot List window.
Moved 'code', 'ver' and 'set' away to the right, as i think they are less
important. Also demoted 'brg' a little and promoted 'dist-'.
2019-07-09 16:25:11 +01:00
Julian Smith
47415e20ce Pilot List dialogue now allows control of which aircraft to view.
I think this is more convenient than the normal model-view buttons / popup
list. [Though this is still there.]

Nasal/multiplayer.nas:
    Added new column 'view' with checkbox. Also added 'view self' button to
    titlebar to view the user's aircraft.

    Fix some bad indentation.

Nasal/view.nas:
    Changed /sim/current-view/model-view to contain just the callsign, not
    '<callsign> <model>', so that Nasal/multiplayer.nas can get the callsign
    reliably.
2019-07-09 16:25:11 +01:00
Julian Smith
56859113b2 Nasal/multiplayer.nas: added column showing whether we've found and loaded -set.xml for each multiplayer.
This determines whether multiplayer views work correctly - these require
correct view offsets from the -set.xml files.
2019-07-09 16:25:11 +01:00
Julian Smith
9822b8ff8c Added multiplayer support to Helicopter View and Tower View etc.
We remember the multiplayer aircraft so that when switching between views,
multiplayer views (currently Helicopter, Model, Tower and Tower AGL) show the
same aircraft.

Nasal/view.nas: use /orientation/true-heading-deg in Model view and Tower AGL
view. This avoids problem when looking at multiplayer aircraft because there is
no /ai/models/multiplayer[]/orientation/heading-deg

Nasal/view.nas: improved handling of sim/current-view/{x,y,z}-offset-m. Changed
resetViewPos() to set these all to zero, because view's offsets are now
kept separate. Also removed setting of /sim/current-view/z-offset-m to
chase-distance - this is the wrong place now that views define the offset
explicitly.

Also added Tower View AGL support.
2019-07-09 16:25:11 +01:00
James Turner
20bcc16032 Route-manager: guard against a procedure failure
When we have a STAR which is invalid for the selected runway, which
can occur when switching runway/approach, don’t cause a Nasal runtime
error.
2019-06-24 16:41:45 +01:00
James Turner
52373760e2 Canvas Map: tolerate empty paths in waypoints
This fixes bogus indexing warnings and thus Nasal failures when
processing certain kinds of FlightPlan leg, such as discontinuities
and skipped legs.
2019-06-24 16:39:51 +01:00
Richard Harrison
88ff80737f Tanker compatibility for models with unspecified refuel offsets.
Ensure that the offset properties are created and fix a nilptr reference
2019-06-11 14:41:12 +02:00
Richard Harrison
a3a1ae01c8 Emesary: added optional overrun detection
- This will alert if any individual notifcation takes more than a certain amount of time to process.

Works well with the Emesary M_exec to identify where the slow parts of Nasal are.
2019-06-11 14:41:10 +02:00
Thorsten Renk
7ce5cd0267 Tentative improvements to semi-analytical model for orbital targets 2019-05-28 12:21:41 +03:00
James Turner
217417373b Merge /u/ltoenning/fgdata/ branch swift_connection into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/136/
2019-05-22 13:35:53 +00:00
Thorsten Renk
f23b74904b AW provides option to set a localized turbulence field around active volcano 2019-05-20 10:13:55 +03:00
Thorsten Renk
33e1404c51 Katla and Eyjafjallajokull volcano definitions 2019-05-20 10:07:46 +03:00
Henning Stahlke
6f4e7d91af canvas/api.nas add getSize() method 2019-05-05 23:19:37 +02:00
Henning Stahlke
406aa96ecf props.nas add createNodeObjectsFromHash() 2019-05-05 20:00:44 +02:00
Richard Harrison
2a748fdc70 Add thrust reverser to joystick bindings.
This can either be a button (which toggles) or an axis (variable)
2019-05-01 13:43:16 +02:00
Lars Toenning
f9cbb4f708 Adding dialog for swift connection 2019-05-01 13:20:48 +02:00
Torsten Dreyer
a48e7c7136 fix an old typo 2019-03-29 19:43:48 +01:00
Richard Harrison
6bbff8476e FGComm PTT - use selected channel
Only the selected channel will now be used for PTT; however the bindings still selected the appropriate channel prior to setting PTT.

This provides a compatible solution that can also easily be bound to the (joystick) controls.
2019-03-21 18:08:05 +01:00
Richard Harrison
480311eeef Comm PTT listeners; fix fault 2019-03-20 08:07:21 +01:00
Richard Harrison
4c6b103293 Add support for FGCom multiple radio support
PTT now in

/controls/radios/comm-ptt as an int; non zero indicates which comm radio to use

/comm-radio-selected is the default comm channel to use. This should usually be the same as will be set by PTT into /controls/radios/comm-ptt

NOTE: that PTT will switch the FG comm inbound and outbound frequency to whichever radio was PTT'd.
2019-03-19 21:16:33 +01:00
Stuart Buchanan
6b1db73423 FG1000 - Improved timers
Implement single timer for all highlighting of elements.
2019-03-12 20:33:35 +00:00
Thorsten Renk
4385b734f6 Orbital target simulation handles targeting APIs gracefully after save/resume 2019-03-11 12:55:35 +02:00
Richard Harrison
ec066a6b19 AAR Tanker: optimised property access. 2019-03-10 15:25:43 +01:00
Henning Stahlke
bdbd3848af comments, bugfixes and use API 2019-02-27 08:09:25 +00:00
Henning Stahlke
fb73705281 svg.nas fix transformation problems and use setClipByBoundingBox() from API 2019-02-27 08:09:16 +00:00
Henning Stahlke
74b0ef63c2 add resolveAlias() to props.nas 2019-02-12 18:35:10 +01:00
Stuart Buchanan
9d353a3266 FG1000: GFC700 Autopilot Integration
Support for GFC700 autopilot.  Current modes that work: AP, FD, ROL, PIT, HDG, VS
2019-02-10 22:06:31 +00:00
Henning Stahlke
801512bb8c add probe class to debug.nas 2019-01-31 22:41:35 +01:00
Henning Stahlke
9c9fb23f55 debug.nas add callback to breakpoint 2019-01-22 08:44:08 +01:00
James Turner
224ceaa546 Move the flap-quantisation code to its own file 2019-01-18 14:55:35 +00:00
Thorsten Renk
2e4193d3a1 Fix vector indices in inertial speed function of orbital target 2019-01-18 16:37:35 +02:00
James Turner
d9c13e9a81 Merge /u/jsb1685/fgdata/ branch next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/127/
2019-01-16 10:08:25 +00:00
Thorsten Renk
59f0bfc5ca Update orbital target far zone simulatio to include leading J3 gravity effects 2019-01-14 13:47:29 +02:00
Henning Stahlke
79596cc6ab debug.nas add Breakpoint class 2019-01-13 22:09:54 +01:00
Henning Stahlke
72c4bde6e9 gui.nas use API functions 2019-01-13 21:03:32 +01:00
Henning Stahlke
9a4b898a27 svg.nas use setText method 2019-01-13 21:03:31 +01:00
Stuart Buchanan
f32a376a3e FG1000: EIS Fuel totalizer function
FG1000 requires fuel quantity to be entered manually and uses a flow
computer to calculate the amount used.  Strange but true!
2019-01-11 20:19:09 +00:00
Henning Stahlke
f8eb701d62 api.nas fix typos 2019-01-08 09:18:24 +00:00
Henning Stahlke
28183b7575 canvas/api.nas add setClipByBoundinbox and setClipByElement function 2019-01-07 18:00:08 +00:00
Stuart Buchanan
3b92497769 Joystick Config fixes from Ron HAERTEL 2019-01-06 20:48:47 +00:00
Henning Stahlke
7a1cb213dc Add-ons: minor changes to logging 2019-01-05 16:59:12 +01:00
Henning Stahlke
a91ebe4676 canvas/svg.nas add optional basic support for linked images
canvas/api.nas add alternative signature for ellipse and circle
2018-12-16 02:15:35 +01:00
Richard Harrison
07ac341b70 Fix timer usage
- didn't need to be a maketimer as it is a single shot usage.
2018-12-15 16:29:07 +01:00
Florent Rougon
02b01af19e Add-ons: small fixes to Nasal/addons.nas and Docs/README.add-ons
+ After discussion with Henning:
    - orig_setlistener() and orig_maketimer() were not intended to be
      public -> prefix the function names with an underscore;
    - clear the add-on's lists of tracked listeners and timers in
      remove() (load() does that too, but it's a bit late).

+ Little rewording in Docs/README.add-ons.
2018-12-10 15:29:22 +01:00
Henning Stahlke
f3548c561e canvas/api.nas: add square, ellipse and circle to path; update svg.nas accordingly 2018-12-08 19:55:08 +01:00
Henning Stahlke
f6e3628b50 add Window.getSize() to canvas/gui.nas 2018-12-08 16:55:38 +01:00