I'm holding out hope that some enterprising programmer will figure out a way to restore our conditional animation abilities, even if they're driven by an app that's hung onto the sim somehow.
We already doing that, and it's way better and way powerful, flexible and elegant than any conditional animation might ever been in FS9.
Look for the ParkMe features and YouControl features in our two latest sceneries: JFK and Geneva: the docking systems are entirely interactive and don't use any FS2002/2004 code: it's ALL pure FSX code driven by Simconnect. Same for the user-controlled animations for the YouControl features, it's all FSX SDK methods, nothing of the old BGLC+ASM code has been used.
We do *exactly* like you are suggesting: an external application loaded with EXE.XML is driving the animations via Simconnect, and the interactivity is programmed by the developer using the best scripting language around: Stackless Python, which is a version of Python specifically optimized for multi-tasking operation.
Having Python inside, allows the developer to use a real object oriented language, which is mature, supported, reliable, open and with plenty of learning aids around.
Python acts as an high-level layer on top of Simconnect (and of course some things that are needed to allow communication between the C++ code and .MDLs that even Simconnect can't do) so the developer doesn't have to worry about the dirty details, but just concentrate on writing Python code to drive the scenery objects, because we obviously extended Python to give it access to FSX specific features, on top of having the whole Python commands available, with some extra feature added for good measure, like the wxPython library, which allows to construct GUIs in Python, to be used from FSX.
Another fine example of how we use our Python engine in FSX, it's the recently released XPOI product, which just got a very fine review on AVSIM:
http://www.avsim.com/pages/0109/FSDreamteam/XPOI.htm
This is done 100% in Python, and it took about a month, start to finish, to be done. I started it a while ago in C++, but as soon as we got the Python engine ready, we rewrote it in Python, and it was both easier and faster to do, with much more features than the first C++ prototype. Python of course gives us easy access (by means of its established and tested libraries) to the web, to the file system, etc.
And of course, we get full access to Simconnect features, with helper functions we added and extended into Python, to create common things like generic multi-page screen menus, controlled user-input in the green text line (it doesn't just show text: it can be used for input as well).
And, we get access to things that even Simconnect can't do, or does badly, like direct access to all the GPS features to read navaids and read/write flightplans on the flight, direct access to all gauges variables bypassing Simconnect, direct access to internal variables or features which are not available in Simconnect or via the gauge interface (like display settings, full AI control including removing any AI, etc...)
It's all available under a single and streamlined "glue", which is Python. You don't need to worry about the dirty details, or if something is done via Simconnect, via Gauges or via direct in-memory access: you just call an easy to understand Python function, and it will just work...
In the next release, we are going to add access to the AFCAD structure of the airport in realtime so, it would be possible to query the Python engine to get informations like the number/name/position/data of all the taxiways paths, parkings, etc. so addons might be able to interact with the actual airport structure (we need it to create ground AI traffic)
And yes, the engine IS available for licensing to 3rd parties...
regards,
Umberto Colapicchioni - VIRTUALI
http://www.fsdreamteam.com