I decided to move from systems to some more visual things. The 747 now has ground services, though at the moment I only got the pushback tug and its associated features.
I should note that this is not an object that is tied to the external model, it is a separate BGL scenery object that the module hooks into FS9's BGL opcodes to drive vehicle animations and have animation states. Something that the newer FSX added with SimObjects and SimConnect, but neither of which are available to us in FS9.
This is a similar approach to what Aerosoft's AES did (their BGL objects looked to be older FS5 SCASM objects), but it relied on VistaMare's Core module to hook and serve the opcode hooks and IDs. Regardless, the same idea behind the BGL opcode hooks as well as an RPN expression interpreter used to create XML code for creating ground vehicle object states have been implemented.
I will say there is one major upside to my system compared to AES, and that is that there is no need for "credits", the ground vehicles are placed by first reading all the installed scenery's AFCAD files and indexing them in a cache file (similar to how GSX does it). This works for both default and add-on scenery provided that the add-on scenery's AFCAD is in good quality. Pushback tug directions are precalculated via the Dubins path, and I went through a lot of lengths to create a good algorithm that wouldn't cause the pushback tug to jackknife its towbar constantly with the aircraft.
Currently, there are no people models yet but I have found a way to implement vertex deformation animations in FS9, it requires hooking the vertex rendering pipeline every frame and its not as clean or as elegant as a solution as FSX's native skin system would be. The vertex animations in FS9 can only be done by exporting pre-baked vertex deformation and normals information beforehand from a 3d software and storing them as data for the module to use to control vertex animations. I have hopes that this system will allow us to have good looking ground crew animations instead of robotic movements.
There is only one downside to this system, and that it directly conflicts with AES. Because both me and ViMa's modules hook the same offsets, I anticipate there being quite a lot of instabilities. Therefore AES must be disabled or uninstalled to use the ground services feature. The rest of the aircraft however does not depend on this and will work fine with or without AES installed.
I should also note that my ground service system is not a replacement for AES. It only supports the 747, and only supports airports with GATE_HEAVY. Other aircraft are simply not supported and the ground service feature does nothing on aircraft that isn't the 747. Adding support for other aircraft is quite a big task and looks to be like an entirely new project.