We tie MP and AI carrier together if /sim/mp-carriers/latch-always is true.
This is done by setting /ai/models/carrier[]/ai-latch to the
/ai/models/multiplayer path containing the corresponding Multiplayer
information. C++ code will detect this and copy across the position and
orientation each frame.
Generally this change proves that we probably don't need the MPCarrier model on the target system - because by using the fallback model to load the Nasal this will happen without needing the high detail models at all.
To support this :
- Added fallback models for all carriers (defined as AI scenarios)
- Added logic to fallback models so that MP carriers load correctly
- The model will still be the AI model.
- MPCarriers.nas from MPCarrier/systems now in Aircraft/Generic
* this was previously included in many glider aircraft in FGAddon, thus now saving space and maintenance work
* it also adds the noshadow animation to make the woolthread compatible with Compositor
* Please note: I was not able to figure out the original author (not me) of the model, texture and xml, but as far as I can see, it should be fine license-wise, since it was included in GPL FGAddon aircraft for ages
The ALT-ARM knob should only be arming the altitude interception when
the AP is activated. When rotating the AP alt-selector knob with
disabled AP, just the altitude alarm beep is configured.
From Benedikt Hallinger
Ticket-Id: https://sourceforge.net/p/flightgear/codetickets/2489/
Previously it was difficult to create custom EIS as paths
needed to be defined in multiple places.
This change creates a hash of id and paths to make this easier
in the future.
Before fallback models were introduced, the ufo
was invisible to other MP pilots that were not in a
ufo themselves.
When fallback models were introduced, at long range
the ufo was replaced by the glider model, and so became
visible.
This change makes it invisible again by using the ufo as its
own fallback model. This is safe because the ufo model is
very lightweight and also shipped with fgdata.
Previously pilot models would stay visible when the
walker was active. Which is a bit unrealistic given
the walker is supposed to be "you" in some way.
So now the internal pilot is hidden when the walker
is active outside the aircraft.
Fix provided by Benedikt Hallinger
Previously the GenericFuelPublisher would barf if tank contents
weren't defined properly with numbers.
Also the XML and .ac files were inconsistent in their use of PANDown
vs PanDown.
Both spotted by Mark JOSEPH (ePilot). Now fixed.
Previously select XPDR->CODE->7 and then another number caused very odd
transponder codes. Turns out this was due to extra whitespace in the
label causing various string concatenations and evaluations to fail.
Previously a completely new PFD or MFD was created when the Debug
menu items were used. This cause significant slowdown if used
multiple times. Now we just create one instance of each and re-use it.
Also clean up redundant code in the GUI.
Adds standard view option to enable pilot models.
Set /sim/rendering/pilot-model/available=true in aircraft
using pilot models.
/sim/rendering/pilot-model/enabled is used by users to
enable/disable the pilot models from the View Options dialog.
Note that pilot models are only visible for non-internal views.
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
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.