1
0
Fork 0
Commit graph

1411 commits

Author SHA1 Message Date
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