Here we have some possible feature requests that seen sane, at least initially.
- The ability to access the instrument state (e.g. what ILS we're on) in terms of the nav DB. This would mean new datarefs that show which instrument the nav system is tuned to, whose values correspond to the codes returned from the navigation APIs.
- The ability to fully program the GPS, e.g. set the GPS datarefs using values from the navigation APIs.
(Note that this is not trivial because the handles returned by XPLMNavigation are not the internal values used by X-Plane.)
Benedikt suggests that an additional message is sent when an aircraft is unloaded. The reason is that if a plugin needs overrides (a/p override, f/d override, fmc override) a collision with a second plugin might occur if a plugin resets an override after detecting that it is not responsible for the currently loaded aircraft - possibly resetting an override that another plugin has set. This unload-message would prevent the plugin from beeing victim of a sorting issue. -- (added by Benedikt on Oct 31st 2007)
Ben says: this is in the new 2.0 SDK. I will delete this request when the new SDK docs are posted.
I (jlamorie) need to do some flying from the decks of boats, preferably the frigate. Here are the things I would like to be able to control from the SDK, listed in order of importance to me.
- Get naval vessel location (and the 'hard surface' onboard).
- Control naval vessel direction.
- Control naval vessel speed.
- Get naval vessel orientation (so I can slave a camera to it).
- Start the aircraft on the deck of the frigate. (Though, I assume I can use the vessel location to do this.)
- Disable the catapult on the carrier.
- Control naval vessel position (or at least command initial placement).
Ben says: 2.0 Y-test probe gives you the hard surface info - that is, collisions with the carrier should work. I have mixed opinion about vessel control -- on one hand we don't offer access to the scenery system on a persistent-object level, on the other hand, isn't it sort of a perverse version of multiplayer? (20 planes and 2 boats!)
Winch or Catapult Control
I (jlamorie again) would like to launch a UAV using something like that provided by the winch or the catapult, but with my own control of force/speed. I would also like to control where the ground point is fixed (and therefore stroke length).
Ideally, I would like to be able to mount/lock the UAV on to a structure that is firmly fixed to the ground (or Naval Vessel). Then, the winch/catapult would be located within the launch-structure-object.
Ben says: is this necessary? You can already accelerate the plane by simply writing directly to the plane's velocity datarefs, causing an acceleration.
Rejected Feature Requests
There are feature requests that I am leaning against. They're not definitely vetoed, but there is a case against them.
The problem with culling APIs is that the cost of the function call probably gets in the way of optimal performance. The cull is most useful when it's lightest weight, because it allows you to cull down to a finer granularity and reduce overall rendering load. So a function-based culling API would probably encourage inefficient plugins.
Better would be sample code that can be dropped right into a plugin, for maximum inlining, etc.
Extended access to sim textures
Ben says: LR is not prepared to make an API out of the sim's internal textures. So direct access to sim textures should not be encouaged. Two possible alternatives;
- Plugins can draw using OpenGL and own the texture.
- Future scenery system extensions can allow plugins to drive the choice of pre-existing textures -- see the various scenery RFCs
Requests that have not yet been rejected nor loved.