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
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 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
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.
Adds a sound frequency controller to glider-instrumentation-sdk.nas,
used for the ilec-sc7. This allows:
- Simpler <sound>.xml files to integrate the glider variometer.
- More accurate frequency scaling (frequency scales exponentially with
vertical speed, so that perceived changes in pitch are linear with
vertical speed).
- Fixes that the variometer sound would not drop at negative vertical
speeds.
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
These need to be included aircraft model side to work;
e.g.
<signals include="/Aircraft/Generic/flightrecorder/components/ai-models-carrier.xml">
<count type="int">4</count>
</signals>
<signals include="/Aircraft/Generic/flightrecorder/components/ai-models-escorts.xml">
<count type="int">12</count>
</signals>
<signals include="/Aircraft/Generic/flightrecorder/components/ai-models-tanker.xml">
<count type="int">4</count>
</signals>
Emesary is a simple and efficient class based interobject communcation system to allow decoupled disparate parts of a system to function together without knowing about each. It allows decoupling and removal of dependencies by using notifications to cause actions or to query values.
Emesary is all about decoupling and removing dependecies, and improving the structure of code. Using Emesary you can more easily define the what rather than the how. By using what is essential an event driven system it is easy to add or remove modules, and also for extra modules to be inserted that the rest of the aircraft knows nothing about (e.g. FGCamera or the Walker).
see: http://chateau-logic.com/content/emesary-nasal-implementation-flightgear
The AN/SPN-46 is an ACLS implementation using Emesary. ACLS is the Navy's version of ILS.