Many people use the default-settings file to edit their settings and wonder why their changes (partially) don't apply
The purpose of this issue is to move the discussion from Discord to GitLab for better visibility. Solving it could potentially save us a lot of time -- and let's not forget about AnyOldName3's sanity!
Here's the most recent chat log (if you don't want to be mentioned, just tell me):
AnyOldName3:
Once again, I think we should have a system to prevent users editing
settings-default.cfg
before we release 0.47, otherwise we're going to have another year of having to deal with people editing the wrong file.
psi29a:
Do we have a issue on the tracker to bitch on?
🙂
Atahualpa:
Not that I know of.
Solution 1: Just add 1000 lines of "# !!!!! Don't change that file, use your local settings.cfg file !!!!!" at the beginning of the default file...
Solution 2: Run a script to compare the current state of
settings-default.cfg
with its target state (which is deposited somewhere users don't have access to) on start-up which complains if there are differences and provides a "reset to default" and a "transfer differences to local file" option. Something like that...Anyway, why are we discussing this in the "release_videos" channel? Do you want johnnyhostile and me to give a sermon in the upcoming videos encouraging everyone to stay away from their default files?^^
elsid:
Do you want johnnyhostile and me to give a sermon in the upcoming videos encouraging everyone to stay away from their default files?
What will people do next depends on their reaction. Some people doesn't know about this file. When you expand the knowledge of this file even in the context of "don't dare to modify it", they may not listen. And in total we will have more people modifying it.
psi29a:
Streisdan effect?
johnnyhostile:
Can we hardcode defaults into the engine?
psi29a:
You. mean as a way to validate the file?
Then what would be the point of the file? :-P
It was supposed to be a sort of template anyway.
johnnyhostile:
This is my main question. If it's a footgun, what's the use?
wazabear_notabear:
If you really don't want them editing it then best thing is to not give it to people...or just turn it into a png :)
johnnyhostile:
my thoughts exactly! :-) the file says do not edit already. folks don't read. they never will.
psi29a:
You're going to trigger AnyOldName3 because I think we had this discussion now in #team-members-only and in #development ...
[...]
johnnyhostile:
What actual value does
settings-default.cfg
provide except an opportunity to footgun yourself because you didn't read?hardcoding it into the engine makes sense if you want to prevent that. IMO it's the only way.
We could still write the file, so it exists as a reference. But it should do nothing.
wazabear_notabear:
If it exists but does nothing that doesn't address the problems though, still will have people editing it and saying something doesn't work.
johnnyhostile:
that's true, but at least it isn't damage that's hard to undo. same pattern as now in those cases.
[...]
Atahualpa:
[...]
But honestly:
Solution 2: Run a script to compare the current state of settings-default.cfg with its target state (which is deposited somewhere users don't have access to) on start-up which complains if there are differences and provides a "reset to default" and a "transfer differences to local file" option. Something like that...
Why not do a sophisticated version of my quick solution? We could detect if changes were made to settings-default.cfg and:
- Prompt a warning message if it is the first time. The user may choose to a) automatically revert the changes b) transfer the changes to their local settings.cfg file. c) ignore the warning message (with the option to not show this message again, too)
- Do the same as (1) if the warning message has been ignored before.
- Silently launch the game when the warning is set to be ignored.
[...]
johnnyhostile:
I'm not against this, but I still don't see what the use of having
settings-default.cfg
to begin with is.
[...]
Atahualpa:
I'm not very fond of these default files too. But it looks like some people are used to working with them (which is understandable).
What about another approach: We no longer provide default files but rather implement an option in the launcher to export your current settings as a bare
settings.cfg
(only changes differing from the internal default settings are considered) or a fullsettings.cfg
(all settings are written to the file even if they are default settings). Both files would, of course, be used locally. Does that make sense?
[...]
johnnyhostile:
I like where you're going with this!