Swap to using nautilus's own config systems #580
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This system is more expandable, gives more examples to users looking to use the system themselves, and you should always use your own API
Changes made in this pull request
Nautilus previously used its own file IO for various configuration options, this did nothing but obscure the codebase and have repeated code in multiple places, especially as they didn't all use the same system. I've left this intact for the various caches (craft tree cache, equipment type cache, techtype cache, etc) as these are not "configuration" options per-se but I wouldn't be against moving these into the configuration system as well for consolidation (or another consolidated json system, distinct from the config) I have also left the heading_states file alone, for the same reason, although I would also consider merging that into the config
Breaking changes
Should be none, so long as the change works and mods don't do anything stupid by trying to mess with the config themselves
Tested in subnautica, not below zero
Changes should be internal enough to not matter, but it still needs to get rudimentary bz testing. Testing in sn1 could also be more extensive, especially regarding the "Enable mod databank entries" option as I truly have no idea what it's meant to do
Before merging
Test in BZ, and look over the "Enable mod databank entries" because it currently does literally nothing. If it has a use, let me know what it is and write up a tooltip for it. If it doesn't, we need to remove it instead. From a cursory glance at it before this overhaul, it didn't do anything in the past either.