hgm wrote: Can you think of any other options as
-usePolyglotBook
-polyglotBook
-bookDepth
-bookVariation
-defaultHashSize
-defaultCacheSizeEGTB
-smpCores
that would have to be saved per tourney?
I think these (along the Permanent Brain setting) would be perfectly fine. For others more specific things, as you said, an user can just edit the file.
If I understand you correctly, this sounds like something very complex to do. In WinBoard, the engines have no identity other than described in the list of installed engines, which is only acessed the moment the engines are actually loaded because they have to play a game.
Could you not make a section for the options to give for every changed engine?
For example, let's pretend the user changed options "on the fly" for Houdini and Stockfish, for the former enabling learning and for the latter increasing aggressiveness, using something like:
Name=Houdini 3 (this the reference to the WB nickname)
[OPTIONS]
Learning=true
Learning File=try.lrn
Name=Stockfish 2.3.1
[OPTIONS]
Aggressiveness=200
Where you just take the values in the options sections and you give them with simple "set option *"?
You still would have to go through something like the Load Engine dialog for every on-the-fly engine.
Sure, but since it is facultative you would have to do only for those engines options you want to change and if you want to change them you have a reason to do so.
But anyway this is a very specialized thing, not so primary (differently from the indipendent tournament settings above). It would be a nice touch but nothing more, in definitive. Many users I don't think will dabble with it very much and yours being a "jack of all trades" GUI it would be mostly wasted, I think.
But, in case you want to expand even further the engine vs engine capability of WB in the future it's a "professional" touch you can take in consideration.