Using attachments for the ET and SRBs is probably a good idea, although we'll need some way of controlling SRB gimballing, etc. The other issue will be transferring mass and thrust over to the shuttle vessel, but that'll be easy.I started working on the VAB.dll today. Will also pay attention that we can change visual depending on current era.
Some big picture development questions:
How does the dev team think about kicking the staging code out of SSU, replace it by using attachments?
Next: What about at this point remove the subsystem code from the "Atlantis" project and compile this code subsystem-wise into static libraries (.lib) for having a better project structure? Like using "ultra_gnc.lib" for the GNC components. By this, we could also make the main vessel class more compact by moving more stuff away from it and reduce the dependencies on it.
I think about having the subsystems more and more separated from the "Atlantis" code, until we can use them reliable for other vehicles. I have some early notes done for the changes towards it, but these need some more thinking now that I have more time for it. Such a "Ultra.lib" project would then also allow including such features like radio communication, TACAN and MLS by a single central DLL(maybe as Orbiter-plugin for allowing enabling/disabling of such advanced features).
I'll make a special post about the large scale plan as soon as I have confidence in it and finished some drawings, but these two things above are what I am already sure to make sense.
Points that are still not comfortable for me are:
- Additional levels of hierarchy for subsystems, like grouping them by Module/Assembly, so complete groups of subsystems can be removed/added at once.
- Changes to the scenario file format for having a standard parser for the subsystem/VC data, that does not rely on a fixed vessel structure.
- How to connect vessel visual to subsystems, like adding/removing ODS or Spacelab.
The main problem I have with using static libraries are that it'll be difficult to split the subsystems up into distinct libraries. For example, a lot of libraries will need to communicate with the power systems library. Also, a lot of this stuff will be fairly shuttle-specific, so it wouldn't be useful for other vessels.
---------- Post added at 02:02 PM ---------- Previous post was at 01:57 PM ----------
The RMS/MPM systems create the additional visuals in the Realize function; this should work for other subsystems.