i've been exporting all the options and their details for a while now. if you don't want to use the exe you could use this to determine what settings you'd like changed and write your own scripts.
this is really very useful, i have indeed started to work on a python script to act as a backend, dependent on a config file that's based on your JSON. (i hadn't realized that there were ~400 option variables currently on the GUI. wow!)
Anyway, the idea is to read the options from the config, then parse the JSON for info on how to apply changed options.
Hopefully i will complete it and will be able to provide it as an (much uglier) alternative to the GUI, but OS-independent.
I have three questions though:
What about the "AffectsGraphicPacks" and "HasFileOverrides" variables?
A. AffectsGraphicPacks: Does it mean that by enabling an option (that has AffectsGraphicPacks set to true), the way the graphics pack works changes? If so how?
Is it also used when installing new tilesets?
Can you explain how "AffectsGraphicPacks": true, is processed by the GUI?
B. HasFileOverrides: Same deal here, but i understand it even less. What happens when its true?
C. From what i saw, the json hasn't info on how to change tilesets and colorschemes. These aren't hard to do, but did i miss any other important GUI options that the JSON lacks?