Given that "nothing endures longer than temporary measures", I suggest we make config visible (i.e. storing in PERSONAL) for now, and I don't see any harm in making it permanent.
(Users will never want to look for these files on their own initiative, it'll only be in response to us telling them to look for them, so there's no value in the location being intuitive.)
hehe. I actually know one crazy dude who has started 0ad with the express intention of having system_info.txt generated (there's some info there not provided by dxdiag).
Besides the issue of intent, I think the frequency of error reports might increase slightly if users have already seen those files when browsing through the personal folder.
And finally, what is the harm in putting anything of potential interest to the user in My Documents? I actually see a benefit: folders outside of that are potentially wiped out if someone does a system restore, whereas anything within My Documents is safe.
(This argument also applies to storing saved+recorded games in My Documents, which I now endorse.)
As to local vs roaming: I might actually change the interface to call the Windows function directly, since we call those functions exactly once. That would get rid of the boilerplate concern.
However, what I suggest is just storing everything in local. Who is going to expect a game they installed on two computers to maintain the same config on both? It's not even clear to me that that is a good thing (monitor resolution may differ). And I don't know if there is a Linux version that supports the same. If not, people would have to copy the config dir anyway.
Ooh, I am a bit concerned about the "0 A.D.". We're already buying into the "let's pray we support spaces correctly" game with "My Games", but at least that has a decent chance of success on Windows. However, if you change from 0ad, we should probably also rename it on other platforms, and that might also cause problems.
Is it that important? I don't mind 0ad, and precedent for that exists in the form of our URL.
Update (I hadn't seen Ben's post)
My Documents\OpenTTD is used for all content downloaded in the game, crash dumps, logs, saved games, scenarios/maps, and config files - anything created while the user plays the game. Not that we have to copy what others do, but it's a least some precedent.
Thanks for the example! To be clear, I would think it is good to store potentially bulky and unimportant stuff (i.e. the cache) outside of my docs, because otherwise we would unnecessarily slow down any backups users make of it.
But pretty much everything else in my docs? Sounds good to me.