stevenaaus wrote:I installed two engine - sjeng, and tkchess. Two play a two engine game of crazy house i have to
LoadNewEngine - Select Sjeng as Engine 1
LoadNewEngine - Select TJ as Engine 2
I have to do this every time. Otherwise it always wants to use Fairymax.
Another Case - I want to play sjeng at Crazyhouse with time odds, which are not remembered.
And i often set the time odds before i remember to set the engine, when i have to set the time odds *again* as it hasn't remembered the value from 5 seconds ago.
Well, all this is easy to do. (The tables with command-line options in args.h contain a boolean field that determines if the option is persistent or volatile, and it is just a matter of flipping those, and recompile.) But the question is what is most desirable. In general people have many engines installed, and they don't use all of them equally often. The probability that they get the engine they need by default is then larger when their favorite engine is their fixed default, than when they get the engine they last used.
But a fixed default is of course the worst if it is a default you _never_ want. So there is some merit in Michel's proposal to make an option for setting the default engines. Note that the same effect can already be achieved by configuring, though: the default engines can be specified through normal -fcp, -scp options in the master settings file (/etc/xboard.conf). If it is undesirable that the user should alter system files (e.g.different users want different default engines) they can add another level of indirection by renaming their ~/.xboardrc to ~/.myXBoardSettings, and creating a new ~/.xboardrc that contains the lines:
-fcp sjeng
-scp tjchess
-variant crazyhouse
-settingsFile ~/.myXBoardSettings
-saveSettingsFile ~/.myXBoardSettings
After that, XBoard will always start with the mentioned engines as defaults.
Note that it should also be possible to select recently used installed engines directly from the Engine menu. This saves you the work of going to the Load Engine dialog. (I admit: this does not work for engine 2. I thought about whether I should bump first engine to second engine when the user uses this menu...)
Is there a way to resize the board ?
Not during a session. There are command-line options that specify the startup size, though. Like -size middling, -size bulky (equivalent to -size 49, -size 72). XBoard still lags a lot behind WinBoard in this respect.
Another criticism i have is the new variant dialog. This shows variants available for the current engine, but for ages this fact eluded me as it is not mentioned anywhere . It should say "Variants supported by engine Fairymax" ( or whatever), or better still - have a drop box at the top with which to select an engine.
Well, it does show all variants, but the variants that you cannot currently select, because they would only make the engine crash, are grayed out (set insensitive). I thought this was absolutely standard. Would it solve the problem if I added a message "(variants not supported by <engineName> disabled)"?
I see that when you select a variant the second engine does not play, XBoard complains about this when you select Two Machines, and exits with a fatal error. I guess the latter is a bit harsh; there really is no reason why it should exit at all. It can simply refuse to switch to Two Machines mode. I will certainly fix that for 4.6.1.
Calling dialogs from other dialogs is a bit tricky, and I'd rather not do it. Calling up the Load Engine dialog from the main menu is not any more work than calling it from the New Variant dialog.
Playing crazyhouse against an engine. I play - lose - step back a few moves to examine game, and then truncate game and set mode to engine as black. Well, it only succeeds half the time. The other times, the engine won't play. If i try another time or two, xboard can die.
OK, I see. It would be helpful if you could make a debug file (option -debug) of a case where it goes wrong,and send it to me, so that I can check if XBoard or the engine is at fault. (Some engines do not support the undo command properly, and there is nothing I can do about that.) Note that in principle the recommended way to do this is to use the Retract Move item in the Engine menu (or its Ctrl-X shortcut), not use Truncate Game. I will check if truncating while an engine is playing is properly handled. Do you switch to EditGame mode first?