1
0
Fork 0
Commit graph

1508 commits

Author SHA1 Message Date
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
Henning Stahlke
5e2756b410 Add reload support to addons.nas; add tracking of listeners and timers 2018-12-07 19:24:22 +01:00
James Turner
e6fd70bd63 Merge /u/jsb1685/fgdata/ branch jsb-next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/118/
2018-12-04 15:27:07 +00:00
Henning Stahlke
cce5b4ca1f canvas/gui.nas prevent runtime error 2018-12-04 14:47:20 +01:00
James Turner
6f26451c08 Merge /u/jsb1685/fgdata/ branch jsb-next into next
https://sourceforge.net/p/flightgear/fgdata/merge-requests/117/
2018-12-02 11:12:04 +00:00
Henning Stahlke
37adcd8051 canvas/svg.nas add support for circle und ellipse 2018-11-30 19:35:22 +01:00
James Turner
a5c8bbcc84 Rename nasal dir to avoid clashes 2018-11-28 22:49:45 +00:00
James Turner
d3a080ef29 Move GoFlight helpers to a subdir
Avoid loading the helpers by default
2018-11-19 17:17:35 +01:00
Richard Harrison
11ed499d61 /environment/contrail was always true for the first 30 seconds. Fixes #2077
Fix is to simply call the update method during the init listener.
2018-11-18 17:17:38 +01:00
James Turner
363dc4cea5 GoFlight MCP and EFIS input configs 2018-11-14 17:45:37 +00:00
Richard Harrison
8841f77cfd Emesary; handle fatal errors during a recipient receive.
- the recipient will be removed from the transmitter and appropriate error messages printed.

Contributed by Nikolai V. Chr.
2018-11-07 01:58:05 +01:00
Daniel Meissner
8e45e86f9c Fix glide slope tunnel altitude offset by moving it to correct runway touchdown zone. 2018-11-06 16:14:59 +01:00
Richard Harrison
c98c299625 Multiplayer list:
Change model that has a fallback model to be green rather than orange.
2018-11-05 19:52:41 +01:00
Richard Harrison
575a01aa9a GUI: change MP messages (other) craft to be a more readable coluor.
This is a compromise as it needs to be visible on dark and light backgrounds, however this colour seems to be about the best I can find.
2018-11-04 15:57:29 +01:00
Richard Harrison
6a68a623c9 Emesary: refactor incoming bridge connection logic
This is mainly to allow unit testing.
2018-10-31 10:05:34 +01:00
Thorsten Renk
73073c4512 Move AW auto-start detection outside AW namespace to avoid duplicate AW start issue when de-selected in launcher and selected in-sim 2018-10-06 09:41:22 +03:00
Scott Giese
43ac415a8a Bug Fix: #1732 Nasal runtime error with hovered tooltip 2018-10-03 01:49:50 -05:00
Richard Harrison
66c15d5b89 Canvas NavDisplay (map) fix nil waypoint when only one waypoint in flightplan.
Without this it will cause a nil dereference resulting in

Nasal runtime error: non-objects have no members
  at D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 57
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 79
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1088
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/geo.nas, line 384
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1051
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1059
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 26
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/globals.nas, line 119
2018-09-29 13:41:01 +02:00
Thorsten Renk
4208e699cc AW: Teach AW about Default landclass 2018-09-17 11:39:35 +03:00
Richard Harrison
02643d36cd Controls: Remove debug prints 2018-09-16 20:41:43 +02:00
Richard Harrison
939887cca1 Joystick bindings: fix confusions over trigger and pickle.
Trigger sets /controls/armament/trigger - typically for a gun, but can be used (model side) to launch anything

Pick sets /controls/armament/pickle - typically to release something (e.g. missiles), but could be bound model side to act as a trigger.
2018-09-16 17:37:25 +02:00
Thorsten Renk
2e38b20030 New active volcano: Beerenberg on Jan Mayen 2018-09-15 10:32:58 +03:00
Richard Harrison
40ff13b65b Reposition slowdown settimer fixes.
Definitely problems in aar.nas, seaport.nas; as these were hanging off a fdm-initialized.

The others have timers that are started from a listener and as such are more suited to use maketimer rather than settimer

The modules that use the loopid technique are probably fine, but these are also more suited (and easier to understand) using a maketimer
2018-09-14 22:50:47 +02:00
Gijs de Rooy
41aaff7a89 Add lights shader to overall quality slider 2018-09-13 11:40:00 +02:00
Thorsten Renk
ab9805ca9b AW: Fix bad vertical visibility profile determination for high clouds in METAR 2018-09-05 09:27:44 +03:00
Richard Harrison
2e6d0725d1 Change the performance monitor to use the font as specified in the style (rather than hardcoding it) 2018-09-02 11:53:32 +02:00
Thorsten Renk
a91bb4caa0 Update canvas dialog widget lib 2018-09-01 09:49:16 +03:00
Thorsten Renk
67bb39d046 AW: Make weather system randomize the high cloud scattering properties on init to avoid repetition 2018-09-01 09:46:33 +03:00
Thorsten Renk
14cd479313 AW: Some tweaks for more consistent lighting of Cumulus cloud bottoms 2018-08-30 09:28:33 +03:00
Richard Harrison
70dd214ed8 Payload Dialog improvements;
- modify to work with JSBSim aircraft when reloading the fuel based on the payload (e.g. external tanks selected)
- add property sim/gui/dialogs/payload-reload that when set will cause the payload dialog to reload (to support a second dialog that modifies the payload)
- fix so that the window retains its position (close handler) and window Z order when reloading.
2018-08-07 19:26:25 +02:00
Richard Harrison
ee9f10cc03 Emesary: add new method and tidy up diagnostics. 2018-07-28 00:39:22 +02:00
Richard Harrison
2322d0dbe8 Joystick binding changes;
- added extra bindings
- reworked the view axis (usually bound to the hat); to move at a better rate.
- trim to elevator position. When selected this will remember the current position and when the joystick is centered it will apply this as the trim. Very useful for carrier approaches; and also it helps to do something that is much easier with loaded controls when you can feel the pressure being reduced by the operations of the trim switch
2018-07-28 00:39:22 +02:00
Richard Harrison
f8177dcc11 Changes to permit the (on demand) refuelling tanker to take part in replays. 2018-07-28 00:39:21 +02:00
Richard Harrison
04adc76265 Better support for numeric properties in PropertyUpdateManager 2018-07-28 00:39:21 +02:00
James Turner
bc00f8d436 Fix Nasal string.match with trailing *
As discussed in:
https://sourceforge.net/p/flightgear/codetickets/2016/

Fix a bug where string.match(‘747’, ‘747*’) returned false.
2018-06-16 20:53:07 +01:00
Richard Harrison
6431d36166 Generic MFD: Nav display optimisation
Change the NavDisplay so that the updates are paused when not being displayed.
2018-04-30 11:42:19 +02:00
Stuart Buchanan
8fdffa16e6 FG1000 - Fix 3D model GDUs, find nearest ID on DTO 2018-04-29 21:15:18 +01:00
Stuart Buchanan
aa14289a79 FG1000: NDB and VOR Info pages, improved VOR icons 2018-04-16 13:38:41 +01:00
Stuart Buchanan
63ee35becd FG1000 - Improvements to Checklists page, softkeys 2018-04-12 22:26:58 +01:00
Stuart Buchanan
9f7e17a434 Support for <group> of checklists.
Checklists now support grouping by placing a group of checklists
under a <group> node.

e.g. /sim/checklists/group/checklist

The group can have a <name>, which is used by the checklist dialog
and can be used by other interfaces, such as the FG1000.
2018-04-12 22:24:57 +01:00
Stuart Buchanan
7f09b1f3c6 FG1000: Active Flight Plan MFD Page
- View and edit the active flightplan
2018-04-06 19:52:18 +01:00
Stuart Buchanan
60352375d0 FG1000 - PFD Flightplan and improved GroupElement 2018-03-25 17:55:03 +01:00
Tobias Dammers
054da4e691 Fix: chat messages from MP list captured kbd forever 2018-03-19 09:47:16 +00:00
Thomas Geymayer
8eb3707042 canvas.gui: Fix warning when deleting widget after canvas 2018-02-27 08:42:34 +01:00
Stuart Buchanan
98e11ec207 Initial FG1000 PFD 2018-02-26 21:24:21 +00:00
Stuart Buchanan
91dd762736 Support for Runway numbers on RWY MapStructure layer
- Change getInstance to getOrCreateInstance for FG1000.
- Implement runway numbering on AirportInformation page.
2018-02-18 21:41:17 +00:00
Richard Harrison
d7a9b36c08 Joystick dialog changes
- Engines control now use the same axis methods as the flight controls; which allows for these to have an inverted checkbox.

- Change the axis combo boxes to instead show a popup dialog (much like the button config). This is better because the items can be grouped sensibly.

- Changed the way that the "all engines" controls work - the dialog binds these to a "engines/XXXX-all" for which there is a listener in controls.nas which propogates over all engines.

- Added extra bindings to both the buttons and the axis dialogs.

- moved the "None" button to the bottom and renamed it to the more comprehensible "Remove assignment"
2018-02-16 19:35:50 +01:00
Thorsten Renk
b09fcb593d Start adding widget collection for aircraft-side canvas dialogs 2018-02-11 10:04:08 +02:00
Florent Rougon
c17d9377f8 Add-ons: more specific file names for the interface between FG core and add-ons
The add-on framework now uses the following files in each add-on
directory:
  - addon-config.xml (previously: config.xml)
  - addon-main.nas   (previously: main.nas)

This is consistent with the addon-metadata.xml file that is already part
of the interface between FG core and add-ons. The goal is to make it
clearer, when browsing an add-on directory, which files belong to the
"FG core <-> add-on" interface and which files belong to the add-on
proper. This will be beneficial also when more files are added to the
"FG core <-> add-on" interface, such as possibly addon-events.xml in the
future.

This change is incompatible, thus it is the right time to do *before*
2018.2.1 is out, especially considering that this upcoming release
already has incompatible changes in the add-on API, namely the
requirement of the addon-metadata.xml file and the type of the argument
passed to each add-on's main() function. We'll try harder not to break
compatibility in the add-on API once 2018.2.1 is out. For now, it is
still a good time to try to get the API as clean as possible.
2018-02-10 19:50:00 +01:00
Stuart Buchanan
c8072e5e2c Fix badly flashing UI elements due to timers 2018-02-04 22:40:48 +00:00
Stuart Buchanan
e7a0fba8ac FG1000-specific VOR symbols. 2018-02-03 20:26:26 +00:00
Stuart Buchanan
339064ce31 VOR symbology and Nearest VOR page. 2018-02-03 20:25:48 +00:00
Stuart Buchanan
6f6cc8f925 NDB Symbol for MapStructure Layers 2018-02-02 16:06:15 +00:00
Stuart Buchanan
67b95bb1fe Fix highlighting of arrow elements 2018-02-01 22:28:39 +00:00
Stuart Buchanan
655c8719dc Additional style options for FIX MapStructure layer 2018-01-31 22:46:32 +00:00
Stuart Buchanan
d244358320 Fix COM toggle and increase map coverage to MFD. 2018-01-30 21:00:01 +00:00
Thorsten Renk
3d1921dd1f Add volcano simulation for Etna 2018-01-30 10:28:08 +02:00
Stuart Buchanan
183f5e2112 Add simple GPS leg Map Structure layer. 2018-01-29 20:44:36 +00:00
Thomas Geymayer
f8b0c5548c parsesvg: use new stroke-opacity and fill-opacity properties 2018-01-29 09:12:09 +01:00
Thorsten Renk
5334498037 Automatically run AW if /nasal/local_weather/enabled is true on startup 2018-01-29 08:57:13 +02:00
Richard Harrison
d287f23ad8 Emesary notifications: change explanation to match revised property for filtering outgoing properties
Change /sim/multiplay/transmit-only-generics to /sim/multiplay/transmit-filter-property-base, which can be 1 to transmit only generics, or a number greater than 1 to indicate the start index to transmit (e.g. 12000 for new emesary mp bridge properties)
2018-01-28 15:51:44 +01:00
Stuart Buchanan
ee69231220 Direct To part 2 - Waypoint Submenu 2018-01-27 21:55:22 +00:00
Stuart Buchanan
da252c8a18 Initial Direct To page - non-functional. 2018-01-26 19:06:06 +00:00
Stuart Buchanan
0c4544c1e1 Add Config Store and MFD Header display.
ConfigStore for storing and retrieving config settings (needs XML import/export)
Header display with 4 different header fields (all configurable)
Publisher for ADC and FMS.
2018-01-18 19:37:50 +00:00
Stuart Buchanan
f6f5efe9f4 Use Emesary interface rather than airportinfo() 2018-01-13 21:07:32 +00:00
Stuart Buchanan
cbb281759c NAV/COM Radio support
Add NAV/COM 8.33MHz radio support and integration
with the property trees for radios.

Also general cleanup.
2018-01-13 18:53:06 +00:00
Stuart Buchanan
ab8774a3e0 Extend MFDPageController to handle Emesary register 2018-01-08 21:39:39 +00:00
Florent Rougon
a57aed195e Add-ons: pass the addons.Addon ghost to main() instead of the base path
The addons.Addon instance (ghost) is much more interesting than its base
path. The base path is immediately accessible from the addons.Addon
instance using its 'basePath' attribute. The addons.Addon instance
allows main() to easily access essentially all of the add-on metadata,
including the add-on identifier, which makes it possible to write
main.nas without hardcoding the add-on id at all.

This is an incompatible change of course, so better do it now than
later.
2018-01-08 09:55:55 +01:00
Stuart Buchanan
73424c1791 Update NAV/COMM frequencies from properties
- Add new Emesary notification type for NAV/COM data
- Create Update/Publish interfaces using Emesary from properties
- Use interfaces to drive updates to EIS and NAV/COM frequencies
- Change the PageGroupController to a "proper" MFD page
2018-01-05 16:37:39 +00:00
Stuart Buchanan
ad77dc2f9c Modify FG1000 EIS to use Emesary,
- New Emesary notificaion type for engine data
- New Canvas PFD UI Elements - Pointer, Rotating
- Upate EIS to use above.
2018-01-03 20:24:41 +00:00
Stuart Buchanan
9eb91171b4 FG1000 Nearest Airports page
- DTO MapStructure layer to provide a DTO line to a lat/lon
- Support for scrolling lists in the PFD/GroupElement
- Support MAP (NavigationMap) and ENGINE (EIS) soft-keys from other pages.
2017-12-31 16:10:52 +00:00
Richard Harrison
cc152b67ad Emesary: modify bridge to use new MP properties; or to allow the property base for all bridges within a model to use.
By separating out the bridges this could be used in the future to transmit Emesary properties at a different rate. It is one of the future possible methods to improve MP communications and dual/multi controls
2017-12-28 01:25:01 +01:00
Richard Harrison
4e0483c9e8 NASAL: fix new truncateAt method to handle nil ptr errors during execution 2017-12-28 01:13:06 +01:00
Richard Harrison
79dc657170 Emesary: ensure that MPStringMaxLen initialized to default value in OutgoingBridge constructor 2017-12-28 00:15:15 +01:00
Stuart Buchanan
475fd50585 PFD UI Elements and NearestAirports page 2017-12-27 19:51:54 +00:00
Florent Rougon
c535306b3d Add-ons: simplify loading using the new API, set the 'loaded' flag
Also:
  - use the namespace __addon[ADDON_ID]__ when loading an add-on's
    main.nas file (previously, the namespace used was __addon[i]__ where
    i is 0 for the first registered add-on, 1 for the second one, etc.);
  - use logprint() instead of printlog(), because the former writes a
    more helpful source file and line number for the log call in
    fgfs.log (i.e., not always src/Scripting/NasalSys.cxx...);
  - remove the listener once it has been fired;
  - add documentation in Docs/README.add-ons.
2017-12-08 00:37:21 +01:00
Stuart Buchanan
3d31775ff3 Initial commit of FG1000 MFD 2017-11-24 23:04:46 +00:00
Richard Harrison
28fbda2e2a Emesary changes to better support GeoEventNotifications.
A GeoEventNotification can be used to notify all other MP craft (that are connected to the bridge) of AI objects or ballistic items that are present on the local player's machine. For example tankers, dropped payloads, missiles, carriers.

Changes

- Fix transfer string encoding for bridge. If the string contained untransmittable characters the length was wrong. Change to use the valid characters from BinaryTransfer.

- Fix bug transferring negative numbers.

- Add method to notification to provide the type key to be used to decide if a non distinct message should be added to the queue; rather than relying on the simple type.ident. This allows multiple notifications of the same type to be non distinct but also be transmitted

- Allow the maximum size of the mp string to be defined per bridge; rather than a system wide value. This allows the bridges to have their size tuned to match expected requirements; for example a bridge that is transmitting GeoEventNotification may need a lot more space than a bridge that is transmitting property sync notifications.

- Improve error message when out of space (due to the maximum string length)

- add trace option to bridges to aid debugging of transmitted values. This will produce verbose output.

- Add UniqueIndex to GeoEventNotification; to allow for multiple non-distinct notifications to be transmitted concurrently. This overrides the GetBridgeMessageNotificationTypeKey to include the UniqueIndex
2017-11-18 12:46:37 +01:00
Stuart Buchanan
1e69f3eb75 Fix handling of multiple MFDs
Found by chance during code read.  Untested, but surely correct.
2017-11-17 15:53:26 +00:00
Richard Harrison
8dafff9933 MFD framework - add support for Emesary
Allow a MFD to be controlled via Emesary notifications (notifications.PFDEventNotification);

Notification needs to be constructed with the following parameters;

1 - MFD designation (text; name of MFD)
2 - MFD identity (int, id of the MFD within the model). Default 1; same as used when creating the MFD
3 - Event type (PFDEventNotification.SoftKeyPushed, notifications.PFDEventNotification.ChangeMenuText
4 - Event parameter.
  a) for PFDEventNotification.SoftKeyPushed an int identifying the button
  b) for notifications.PFDEventNotification.ChangeMenuText a hash array containing the menu ID and the new text (e.g. [{ Id: 1, Text: "NNN"}])

Method obj.PFD.RegisterWithEmesary(emesary.GlobalTransmitter) need to be called to connect the MFD to a transmitter
2017-11-16 02:57:13 +01:00
Richard Harrison
08fd851489 Theme rework.
Change fonts; make use of the new feature to allow fonts to be specified using property from dialog xml.

Ensure that all fonts are defined within the style.
2017-11-12 16:57:39 +01:00
Stuart Buchanan
4bd57492f4 Add Lat/Lon grid MapStructure layer. 2017-10-15 21:54:05 +01:00
Stuart Buchanan
d84c527ca7 Canvas MapLayers for Airport
Add RWY, TAXI, TWR, PARKING map layers
Add new static position controller
Update Select Airport dialog to use new MapLayers.
2017-10-13 17:38:27 +01:00