by H.G.Muller » 01 Aug 2008, 17:10
WinBoard uses exactly the same routine to process the command line as it does to process the winboard.ini file. So any option that works in obnne case, also works in the other. But it processes the command-line options after the winboard.ini.
As it is not considered a mistake to set the same option twice (or more times), even to different values, that means that comment-line arguments prevail over the winboard.ini content. And as we usually save the options that are in force when we exit WinBoard, this means that most options, once used on the command line, will from then on be recorded in the winboard.ini. (Not all; some options are not saved, and they disappear all the time from the winboard.ini, even if they were there before, unless you suppress the saving-on-exit alltogether.)
Now I added yet another level to that, namely options that are on the engine command-line. They again are processed by the same routine. So in order of processing, WinBoard uses as option value:
1) the programmed default value
2) the options in winboard.ini
3) the options on the command line
4) the winboard options on the engine startup command line
As the value last seen is the one that sticks, the priotrity increases from 1 to 4. In practice the programmed default values are used only if there is no winboard.ini, and ensure the winboard.ini you make after the first run contains sensible values. Except for options that are not saved (like /variant=...), they usually use the default.