KSP-CKAN / NetKAN

Metadata files used by the NetKAN/CKAN indexer for KSP
Creative Commons Zero v1.0 Universal
69 stars 337 forks source link

Update paths of stock scatterer configs for new scatterer version #10058

Closed LGhassen closed 2 weeks ago

LGhassen commented 2 weeks ago

Hi, I'm going to push a new scatterer update (0.0876) which changes the paths of the built-in stock configs a bit to separate mod and configs for the stock system.

In the past the structure of the mod was as follows, where both the built-in quality presets and the stock planet and sunflare configs where all lumped under Scatterer/config

└───GameData
    └───Scatterer
        ├───config
        │   │      config.cfg
        │   │      planetsList.cfg
        │   │      qualityPresets.cfg
        │   ├───Planets
        │   ├───PluginData
        │   │       pluginData.cfg
        │   └───Sunflares
        ├───icon
        └───shaders

In the new version the stock planet and sunflare configs are moved to "StockScattererConfigs" which is a separate folders as follow, while the built-in quality presets remain under Scatterer/Config

└───GameData
    ├───Scatterer
    │   ├───config
    │   │      config.cfg
    │   │      qualityPresets.cfg
    │   ├───PluginData
    │   │      pluginData.cfg
    │   ├───icon
    │   └───shaders
    └───StockScattererConfigs
        ├───Planets
        │        planetsList.cfg
        └───Sunflares

I modified the netkan files for scatterer, scatterer-config and scatterer-sunflare to reflect this, let me now if this looks correct!

LGhassen commented 2 weeks ago

Hmm the automated checks don't pass btw because I haven't pushed the new update yet, not sure if I should push the update first or not, and if this can be set to only apply to the new version?

HebaruSan commented 2 weeks ago

Hi @LGhassen, thanks for the update!

Hmm the automated checks don't pass btw because I haven't pushed the new update yet, not sure if I should push the update first or not, and if this can be set to only apply to the new version?

It would be best if the new release came out before this is merged, so we can make sure we haven't missed anything. Hold on a bit, I'll freeze these netkans in the master branch so it won't update till after merge...

HebaruSan commented 2 weeks ago

OK @LGhassen, I think you can safely make the new release now without having CKAN pick it up. Then we can re-run the validation tools here and confirm that everything looks OK before the updated metadata goes out to users.

LGhassen commented 2 weeks ago

It's released now, thanks @HebaruSan

HebaruSan commented 2 weeks ago

Hi @LGhassen, thanks! The validation tool completed successfully this time. 🎉

I have a concern that I wanted to bring up before we merge this, just in case we can catch something before it becomes an issue. As implied in your description and confirmed in the installation tests, the following files have been moved from the Scatterer-config module to Scatterer:

If any of the other modules that provide Scatterer-config have their own copies of any of these files, this would result in having two copies of those files installed (the main one from Scatterer, which previously would not have been present, plus the one from the mod). Or worse, in some cases the depending mod will fail to install because it will try to overwrite the above files in their canonical locations, since they were previously not installed by the Scatterer dependency.

Some examples of such mods:

Could these files be moved to StockScattererConfigs in order to prevent such conflicts from occurring? If not, can you think of a different backwards-compatible way of making this change?

LGhassen commented 2 weeks ago

I see, these are settings meant for the user to tweak performance, didn't realize that some mods would ship them. I'd be fine with having them in StockScattererConfigs for the version downloaded from CKAN. Is it possible to just do that via the Netkan files?