Third, it would be changing the design of the engine itself. The engine would shift from being the dumb "do what I am told" engine it is now, into its own launcher, which is not necessarily a bad thing (see, source engine and Civilization 5 (which actually has a launcher that chooses the DirectX api to use)), but is a fundamental shift of the design goals of the engine. While adding auto-detect of the resolution, etc. wouldn't be too hard, the problem is because it would mean bluring the lines between the engine and the launcher, at some point someone will come along and ask why doesn't the engine do <something the launcher currently handles>. Now, don't get my wrong, I am not opposed to a system like but it will be a lot of work and see point 2 above.
The point I was trying to make is that when a newbie comes along, he's told to select a mod but is often given no other instructions really. So what happens is that he's running at 640x480 at 16-bit color depth. There have been countless of posts about resolution and color depth issues.
I don't mind solving these issues at launcher level, but the problem is that no user is guaranteed to run a given launcher. There has been and there will be multiple choices when it comes to launchers. And since FSO is cross-platform application, we have a bunch of linux newbies who don't necessarily ever use a launcher.
What I tried to suggest is that by default FSO should have sensible default settings, auto-detection or no. This means finally getting rid of Windows registry and using unified, single solution for all platforms which 3rd party launchers can then interact with.
And now that you brought it up, I wouldn't be opposed to the idea of ditching 3rd party launchers for good and have one built into the FSO itself. In fact, in long-term that would probably be the best option in reducing support issues as well as giving unified, coherent end-user experience across all supported platforms as would be expected of a modern game.
But let's us tackle one issue at a time. But it would be nice to decide on the order at which they should be tackled at. So the issues are:
1) Have all needed features in wxlauncher that allows mods to control non-optional (non-overwritable) and optional settings.
2) Make wxlauncher the new recommended launcher across all platforms.
3) Create a table to support these mod controllable settings, separate from any launcher which would be loaded with just -mod parameter.
4) Get rid of Windows registry dependencies and move into unified single cross-platform solution.
5) Build a launcher into FSO itself.
But of course, perhaps it'd be best to skip straight to step 3. In an ideal world we could skip straight into steps 3, 4 and 5, but I doubt it'll happen.
Then we have a question of how would currently existing launchers interact with said settings table. What kind of conflicts would occur? What settings FSO would use, ones from table or ones from the launcher that doesn't read the new settings table? People will surely be using outdated launchers when said settings table is implemented in development builds, and likely even after release of final builds.