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

Sort and fix Spectra NetKAN Provides/conflicts/depends/suggests/rec #7891

Merged
merged 5 commits into from
May 13, 2020
Merged

Sort and fix Spectra NetKAN Provides/conflicts/depends/suggests/rec #7891

merged 5 commits into from
May 13, 2020

Conversation

Avera9eJoe
Copy link
Contributor

I updated Spectra used this time to fix its NetKAN. I moved minor mods from Recommends to Suggests (added suggests), removed PlanetShine-config from Provides (No longer providing), removed GreenSkullRevived and PlanetShine-config from Conflicts (no longer conflicting), and removed Scatterer-sunflare-default from Depends (no longer depends).

I hope this looks in order, the file did not have suggests before this change, I added it from scratch based on the NetKAN of other mods. The goal is for all the mods in "recommends" to be auto-ticked when you install, and the mods in "suggests" to not.

I also reworked x_netkan_override. This might be set up incorrectly, though it doesn't matter as much as the rest. The current release of Spectra (1.3) is backwards compatible all the way to KSP version 1.3. Is this set up correctly?

…mends

I updated Spectra used this time to fix its NetKAN. I moved minor mods from Recommends to Suggests (added suggests), removed PlanetShine-config from Provides (No longer providing), removed GreenSkullRevived and PlanetShine-config from Conflicts (no longer conflicting), and removed Scatterer-sunflare-default from Depends (no longer depends).

I hope this looks in order, the file did not have suggests before this change, I added it from scratch based on the NetKAN of other mods. The goal is for all the mods in "recommends" to be auto-ticked when you install, and the mods in "suggests" to not.

I also reworked x_netkan_override. This might be set up incorrectly, though it doesn't matter as much as the rest. The current release of Spectra (1.3) is backwards compatible all the way to KSP version 1.3. Is this set up correctly?
@HebaruSan
Copy link
Member

For the version compatibility, would you be interested in adding a KSP-AVC .version file to this mod? Netkan (and KSP-AVC) can parse these to get the compatibility info automatically per-version, which tends to be more maintainable than tracking it in netkan overrides. If that sounds appealing we can help with figuring out the details.

@HebaruSan
Copy link
Member

Checking the latest download, there's still a dependency on Scatterer-sunflare-default in GameData/Spectra/Spectra_scatterer/Sunflares/Phi/Sun.cg:

@Scatterer_sunflare:AFTER[scatterer]
{

@Avera9eJoe
Copy link
Contributor Author

Avera9eJoe commented May 12, 2020 via email

@Avera9eJoe
Copy link
Contributor Author

Avera9eJoe commented May 12, 2020 via email

@HebaruSan
Copy link
Member

Confirmed that the changes for PlanetShine (the cfg patches the default config) and GreenSkullRevived (no more visor in the TextureReplacer folder) look correct.

The goal is for all the mods in "recommends" to be auto-ticked when you install, and the mods in "suggests" to not.

Yup, that's exactly how those are meant to be used! 👍

@HebaruSan
Copy link
Member

It requires the default Sunflare to be installed and usesmodulemanager to overwrite it. The Sunflare doesn't work unlesst the default Sunflare isalso installed, same with base Scatterer.

Yeah, that's what I was saying, it requires the default Sunflare to be installed, so that dependency should probably stay.

@Avera9eJoe
Copy link
Contributor Author

Avera9eJoe commented May 12, 2020 via email

@HebaruSan
Copy link
Member

You don't have to install Scatterer or ScattererSunflare if you want to run a lighter version.

True for Scatterer, but there are reasons for depending on the default sunflare.

There are alternate sunflares available (see #3950 and #6521), and if Spectra doesn't depend on the default sunflare, then the user will be prompted to choose a sunflare when they install Scatterer. If they choose the wrong one, then they would end up with a sunflare that is not compatible with Spectra's sunflare patches. Keeping the depends will ensure that only the right sunflare is installed.

@Avera9eJoe
Copy link
Contributor Author

Avera9eJoe commented May 12, 2020

Ah that makes sense, putting it that way does make sense to needing Scatterer-Sunflare. Should I make a new commit to re-add it?

@HebaruSan
Copy link
Member

I'm even less familiar with KSP-AVC than than CKAN, but recall LinuxGuruGamer's toolbar controller/click-through-blocker requiring zeroAVC, too though that might be unrelated.

That was specifically for MiniAVC, KSP-AVC is closely related but separate (and fortunately unaffected by that issue).

If that's a cleaner solution, that's alright with me, though it might be simpler to just remove it entirely?

OK, here's how a version file would look based on the current metadata:

{
    "NAME":     "Spectra",
    "DOWNLOAD": "https://spacedock.info/mod/1505/Spectra/download/1.3",
    "URL":      "<SEE NOTE BELOW>",
    "VERSION": {
        "MAJOR": 1,
        "MINOR": 3
    },
    "KSP_VERSION_MIN": {
        "MAJOR": 1,
        "MINOR": 3
    },
    "KSP_VERSION_MAX": {
        "MAJOR": 1,
        "MINOR": 9
    }
}

If you save that in a file called Spectra.version, include it the download, and update it when there's a new release, we can set up Netkan to pull the info automatically, no override pull request required.

The "URL" property is special. If you store a copy of the version file online somewhere and save its URL in the "URL" property, then any changes that you make to it can also apply to existing downloads without changing them. For example, if you someday discover that Spectra 1.3 works on KSP 1.10, just updating the online version file would make that change in CKAN (and KSP-AVC) as well. (This is also how KSP-AVC alerts the user to available upates.) Most mod authors use GitHub to host these files, although some use http://ksp-avc.cybutek.net/ (the workings of which I do not personally understand).

@Avera9eJoe
Copy link
Contributor Author

Nice! Yeah, I'll definitely do that. Its good to know that this is unrelated to MiniAVC too. I'm getting some things setup and I'll probably have another small commit soon.

@Avera9eJoe
Copy link
Contributor Author

Another strange instance, when I uninstall Scatterer, it seems to uninstall Spectra as well because of the dependency with Scatterer Sunflare. I'm not sure how to fix this yet.

@HebaruSan
Copy link
Member

Hmm, I tried installing Spectra with the current recommendations just now and then uninstalling Scatterer, and it didn't do that:

$ ckan.exe remove scatterer
About to remove:

 * scatterer 3:v0.0610
 * Scatterer Default Config 3:v0.0610

Continue? [Y/n] 

Is it possible you also selected to uninstall the sunflare?

@Avera9eJoe
Copy link
Contributor Author

That was the culprit, many thanks. Should I close this and start a new commit, or revert the Scatterer Sunflare changes here?

@HebaruSan
Copy link
Member

I'd say it's better to keep one pull request alive and update it until everything is in order. Go ahead and push a commit here if you're comfortable doing so, and I can help with any glitches that come up.

Joe and others added 3 commits May 12, 2020 17:12
Added my complete list of suggests, added DistantObjectEnhancement to recommends, cleaned up config.
@HebaruSan
Copy link
Member

Looks pretty good now; I'll merge it to master, and if you need any further changes just let us know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants