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.