Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kopernicus default System.cfg should have a SpaceCenter{} node at Kerbin #332

Closed
gotmachine opened this issue Nov 9, 2018 · 4 comments
Closed

Comments

@gotmachine
Copy link
Contributor

System.cfg should be defined with a default SpaceCenter{} node like this :

Kopernicus
{
...
	Body
	{
		name = Kerbin
		...
		SpaceCenter
		{
		}
	}
}

The fact that it's missing is causing a ModuleManager mess because some mods may attempt to create the node, others may try to edit it, so the thing become order dependent. It would be a lot better if other mods could safely use the edit (@spacecenter{}) syntax. Current example with Sigma Dimensions + SVT :

  • Sigma is loaded (alphabetically) first, and try to do a @spacecenter{...}, which fail because the node doesn't exists. It should not create the node (ie, use the "%" syntax) because it's part of a generic patch for all Body{...} nodes using a @Body,* syntax
  • Then SVT create the node using a plain SpaceCenter{...} syntax

The two mods affects different fields inside the SpaceCenter node, so it doesn't really make sense for either to implement a Before/After syntax.

@Sigma88
Copy link
Contributor

Sigma88 commented Nov 9, 2018

the problem between SD and SVT is not going to be solved by adding an empty SpaceCenter node, the only solution is moving SD to apply later or moving SVT to apply earlier.

I am aware of this issue but since this was a MM limitation I just had to accept the fact that SD would apply at a certain point and all other mods would have to apply their changes earlier. However, there were talks on the MM side to introduce a new feature that would fix this issue but I haven't had the time to check if those changes have been introduced in the released version of MM or not. When I will have some free time to look into this, if those changes have been applied I will make a new release of SD that should be compatible with SVT, in the meantime it won't be compatible, sorry

@StollD
Copy link
Member

StollD commented Nov 9, 2018

Where would be the difference between trying to edit an empty space center node, and editing a node that hasn't been filled with values by SVT yet?

Also the amount of changes that can be done to the System.cfg file is very limited, because if the next release would add an empty SpaceCenter node for example, every mod that adds the node itself (i.e. adds it for a second time) would break, because Kopernicus just parses the first node it can find (which would be the empty prefab one).

This would break too many mods if you ask me, while it isn't actually required to keep Kopernicus working.

@gotmachine
Copy link
Contributor Author

gotmachine commented Nov 9, 2018

@StollD Indeed this would break existing mods... Maybe Kopernicus should stay as is and we should fix this at the SD level.

@Sigma88 Maybe it would make sense to set SD patches as :FINAL ?
edit : nevermind, I forgot about the SigDim / SigDim2 usage. Maybe you could at least use something like zzzSigDim / zzzSigDim2 in the patches, and keep a dummy FOR[SigDim] and FOR[SigDim2] somewhere to avoid breaking NEEDS in existing mods

@Sigma88
Copy link
Contributor

Sigma88 commented Nov 9, 2018

@gotmachine I don't like to use :FINAL because that should be left for players custom patches, and as you pointed out it wouldn't work anyways since I need 3 time points for SD (SigDim, SigDim2 and :AFTER[SigDim2])

I don't like using zzzz either, I plan to use this feature as soon as it is ready

@StollD StollD closed this as completed Feb 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants