sumghai / SDHI_ServiceModuleSystem

Parts pack for Kerbal Space Program that consists of a stockalike Service Module and accessories inspired by NASA’s Orion MPCV, and designed specifically for use with the stock Mk1-3 Command Pod.
Other
23 stars 9 forks source link

TacGenericConverter Fix and move FINAL to zSDHISMS MM pass #119

Closed RedAV8R closed 7 years ago

sumghai commented 7 years ago

I'm familiar with the :FOR keyword, but I don't quite understand why you've used :FOR[zSDHISMS], since it doesn't match any folder or assembly names associated with SDHI SMS. Could you please elaborate?

Also:

I'd rather your proposed changes don't affect my original intentions for this mod, so if you could elaborate on these as well, that would be appreciated.

Kerbas-ad-astra commented 7 years ago

Patches tagged FOR[X] (or BEFORE[X] or AFTER[X]) run in alphabetical order of "X", so marking these patches as "FOR[zSDHISMS]" will cause them to run almost at the very end of MM's patching, but before patches tagged FINAL (which I understand is best-practice, so that FINAL can be left for end-users). RedAV8R could just as well have used zFOO or zAnything as zSDHISMS, as the Z is what's important, but he probably chose zSDHISMS because it's meaningful and unlikely to inadvertently collide with any other mod's name.

If they were tagged NEEDS[zSDHISMS] (or BEFORE or AFTER), then the patches would not run, because (as you say) there is no zSDHISMS folder or DLL, but FOR[X] signals to Module Manager that "X" is present, so they'll work.

RedAV8R commented 7 years ago

Exactly as Kerbas-ad-astra has commented. :FOR doesn't have to be associated with anything. You can make anything be :FOR[WhateverYouWant] and that's the pass it will run on. If it doesn't already exist via folder or assembly then it will create it.

One thing I'd like to add is that now that :FOR[zSDHISMS] has been defined. Something else can be :BEFORE or :AFTER or :NEEDS.

I hope this clarifies what I did. As such. 1) The umbilical will be run. and 2) The TACLS patch will be run as well after the TACLS

In fact, everything is as it was done before just simply moved up a slight notch.

WAS: TAC-LS, SDHI, FINAL NOW: TAC-LS, SDHI, zSDHISMS, FINAL.

Now instead of running on the FINAL pass and requiring anything that may want to modify that, like RO, to have the physical file after your patches, simply requires that a :FOR pass be alphabetically after zSDHISMS (like :FOR[zz***]) OR can run on the FINAL pass.

sumghai commented 7 years ago

Thanks for the clarifications @RedAV8R and @Kerbas-ad-astra - PR accepted with thanks!