1
0
Fork 0
Commit graph

1393 commits

Author SHA1 Message Date
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
Stuart Buchanan
e38ec03c60 Add STAMEN layer. Patch by Slawek MIKULA. 2017-10-02 20:34:31 +01:00
Stuart Buchanan
a622f6f37e Add zoom limits for SlippyMap layers 2017-10-02 20:25:11 +01:00
Stuart Buchanan
5ec53b4c36 Fix FIX label location. Patch from Slawek MIKULA 2017-10-02 20:22:06 +01:00
Stuart Buchanan
b5c67d82bc Fix minor compilation bug in geo.nas 2017-10-02 20:21:37 +01:00
Nikolai V. Chr
4621d0a5d4 Fix for setting individual attributes in geo.Coord 2017-10-02 12:04:34 +02:00
Stuart Buchanan
2fbc1dc491 Add VFR charts to Canvas Maps
Also add limits to zoom function.
2017-09-28 18:11:41 +01:00
Stuart Buchanan
85b7665c19 Add Canvas Map Support for Slippy Map
- Include OSM and OpenAIP in the canvas-map dialog.
2017-09-28 15:38:03 +01:00
Thorsten Renk
91db77595d Some (pretty hot) volcano code - general management routines, Kilauea and Stromboli worked out as examples, WIP 2017-09-24 18:08:36 +03:00
Richard Harrison
5ca84cbfdf Revised classic theme to make it use better fonts and colours. 2017-09-18 00:48:20 +02:00
Richard Harrison
434d4fde90 Multiplayer chat : possibly fix the popup dialog getting stuck. 2017-09-18 00:45:15 +02:00
Richard Harrison
bc71bf297e Add Property / object update manager to props
Manage updates when a value has changed more than a predetermined amount. This makes updating displays (e.g. canvas), or performing actions based on a property (or value in a hash) changing by more than the preset amount.
2017-09-17 22:22:00 +02:00
Richard Harrison
91dc5d2a83 AI Tanker: notify any listeners that a new tanker has been added.
need to set /ai/models/model-added to the path of the tanker node when created.
2017-09-17 22:22:00 +02:00
Thorsten Renk
7df5690f08 ALS terrain overlay shaders, not yet used, terrain definitions will follow post-release 2017-09-16 09:44:18 +03:00
Thorsten Renk
40d5f90f7d Fix AW METAR mode check for T-storms 2017-08-22 11:37:28 +03:00
Torsten Dreyer
e35ff1aa9a Don't complain about non-existant /addon property 2017-08-12 22:32:40 +02:00