Fix saving theme The option -trueColors is now saved with the theme settings when a pieceImageDirectory was given in XBoard, and the piece colors are saved when this option is off even with a piece directory. The square colors are now also saved when useBooardTextures is on, but the textures are transparent. For this the transparency also had to be made visible in the WinBoard front end, (by moving the flags for it to backend.c), but always stay at the default 0 there.
Silence warning WB No prototype for SendToICS was in a sufficiently shared header.
Show moves in Edit Book window as SAN The opening moves in the GUI book for the current position shown in the Edit Book window are converted to SAN before showing them, when they have the simple form fromSqr toSqr promoChar. (This excludes drop moves and double moves.)
Merge branch 'v4.8.x'
updated copyright for 2016
Process VariantMen PGN tag On loading a PGN game the VariantMen tag is now parsed, and the move definitions are assigned to the mentioned pieces. This only works when the pieceToCharTable is defined in advance!
Fix two compiler warnings
Allow engine to force popup of its settings dialog An engine can now force popping up of its settings dialog by sending 'feature done=3' to the GUI. It can clear its option list (e.g. for the purpose of resending it because of altered settings) by sending 'feature done=0'. Such resending would cause the dialog to be updated when it was already open, or close it and pop up a new one when the engine specifies it has to be redesigned by ending the list with 'feature done=2'.
Add support for Multi-PV Margin An engine option with a name containing multi, PV and margin is now recognized, and will lead to printing of a multi-PV header (during analysis in the Engine Output pane) even in absence of a MultiPV option. Right-clicking the part of that header between 'fewer' and 'more' allows tuning of the option value through horizontal mouse moving. During this tuning the value is displayed in the message field of the main window. When there is no MultiPV option to specify the number of PVs, the margin value will be displayed in the header instead of the number of PVs.
Let color of inscription depend on piece ID Only shogi-promoted piece types (with ID defined as +) will get their inscription rendered in red.
Updated copyright notice to 2015
Print PGN Piece tag listing engine-defined pieces A newly defined PGN tag is printed, which summarizes all non-standard pieces. Black copies of identically named white pieces are suppressed. In the future also non-standard naming should be reported here.
Size seek graph to also cover board rim WinBoard The seek graph always used the plain board size, but in WB it is possible to diplay a rim around the board, and the seekgraph would then be positioned in the upper-left corner of the rim, leaving the lower and right board edge and rim uncovered. Its size is now increased to fill the entire window (as leaving a rim around it seems not useful).
Add extra font field to Option struct Storing the font in the textValue field was too kludgy, as this field is already heavily used in the various Option types, for storing handles, or defining colors and callbacks. A 'font' field is now added at the end, so that it can be optionally initialized in the rare case it is needed.
Add Save Selected Games menu item A menu item to save all selected games in the Game List on a single file is added.
Allow pseudo-engines to adjust the clocks Implement new options -first/secondPseudo, which declare the corresponding engine to be a pseudo-engine, which will then be granted super-powers through some new engine->GUI commands. For instance, to adjust the time remaining on the GUI clocks through wtime and btime commands (using msec).
Kludge repair of expose after startup resize Redraw of the main board after resize is delegated to DragProc, which is scheduled after a delay, to make sure the user is done sizing (mainly to reposition docked windows). But at startup the program-requested resize when an engine does not support variant normal and needs a different board format takes so long that the finale size expose occurs after the DragProc timeout. As a result, the board was never drawn on the resized canvas. This is quite hard to fix in a satisfactory way. For now the suppression of board redrawing during resize is disabled during the first 10 seconds after startup, as any resize during that time is likely to be the result of a program request.
Allow adding played move to book A button is added in the Edit Book dialog to prime XBoard for adding the next move entered through the user interface to the book window, without actually playing it.
Play move right-clicked in Edit Book dialog A handler for button-3 down-clicks is added to the Edit Tags dialog, which fakes the clicked word was typed in the move type-in box.
Let Ctrl-O key open chat for last talker