i think this whole issue skates around something the game engine seriously needs, but nobody wants to deal with. frankly the game needs a new interface. i consider the launcher (as good as it is) a very hackish way to control game settings. nothing it does can be enforced, so i dont consider it a solution tot he problem. it still has its place and function though. its a good way to display information about mods and to let you pick them, you still have system level settings, like video mode, which has to be set at start up. i think in a perfect engine the engine itself would handle all that stuff and the need for a launcher would be completely eliminated. but i think that might be too much to ask from the scp. i dont want to invalidate anyone's work on the launcher of interface templates (i consider it a brute force way to customize an interface which should have been upgraded a long time ago, but it too still has its place (see below)), i just want to point out an area of the engine which i think is in dire need of improvement.
we already have the means to render a gui, all the scripting hooks are there for all parts of the interface. you can execute script at the opening, while viewing/interacting, and on exit of any section of the interface. i have put some effort to creating a script to deal with gui elements, which exploits those capabilities. its a system ive been working on mainly for my own mods, so that i could have in game settings that work in game. my script puts a lot of changes into the users controls, and given that all users do not have the same control options, and asking the user to edit a text file to change a preference is not a very good option. the idea was i could just "add a button" to the options screen, by placing it over an unused area of the interface. then i considered that it may at some point be able to replace the entire interface. one idea i considered is that the gui would need to do everything that can be seen in the hard coded interface. i even considered the idea of making a scripted interface with the exact same layout of the hard coded interface, which could be skinned with the interface templates. mod developers could of course design their own interfaces with a few function calls to my gui script.
now heres the problem, such an interface can only speak lua, it cant control anything that scripting cannot control. however if scripting did have control over ingame options the above system would be indispensable. you could use the engine without any of the fs2 resources or standinds thereof, you could expand it as more options become available, you could customize the hell out of it, you could even use it in-game and make it part of the gameplay. if theres a game setting we want to lock down, we can just hard code it in script tell the engine the value we want to use and dont give the user a gui interface to change it. with it we can change graphics settings, change multiplayer options on the fly, and do away with the mess of launcher flags we currently have to deal with.
im not going to get into the developers vs players debate of what the user should be allowed to change. if i dont like the radar, il script a new one (its actually very easy). the developers have a right to decide the rules of the game, including what should be an option and what should be enforced. i personally always hated going to multiplayer and being told that i couldn't ease my pyromaniac urges with infyrnos. as far as i was concerned these weapons were a valid part of the game, put there by the people who wrote the rulebook. anyone who uses their skills to break the rules is called a cheater. if you cant deal with the rules, dont play the game. now if the developer did something stupid, like force me to use a non-inverted mouse, i would probably be so pissed off about it i wouldn't play the game. as a developer id hate to force people into something that was detrimental to their experience, id want to give them as much control as i could. pure multilayer fps games showed the way by giving the game host more control over the rules, an idea which is really cool. where does this bring us, back to the original problem, we need a better options interface. it would solve most of the problems in this thread.