Silence Clang warnings The assignment of the variant number to appData.variant was a real bug. The signedness of EP_STATUS looked like one, but seemed to work in practice.
Silence two warnings
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.)
Change the piece order again The internal piece encoding is now altered such that the uninteresting ones (promoted Shogi pieces and symmetry partners) are all at the end, just before King. These now start with the PromoBishop. A slash in the pieceToChar string skips to this new 'promoted series', so that strings can be made 'future proof' (for when new pieces are added before it). The promoted Chu pieces all get new book keys by this, but as it is unlikely that they occurin opening lines, this was considered acceptable. The +L, +T in Chu are now represented by Pegasus and Gnu rather than Knight and Chancellor, but the latter two are defined as fall-backs to remain compatible with old Chu themes. The +N, +L, +S replacements in Shogi are now also taken from amongst the regular pieces, rather than extra images stored beyond King.
Fix book probing The Zobrist key for Kings had been inadvertantly changed in the patch that assigned new keys to the pieces added for Chu Shogi (the 'chu-promoted series'), because the King would be considered as a chu-promoted piece.
Allow Lion double-moves in opening book Double moves can now be encoded in a Polyglot es promoType = 2, and a code for two King steps in the to-square. The moves are retrieved in the Alien Edition protocol format (i.e. comma-separated LAN). HandleMachineMove had to be adapted to handle the two legs coming as one, but otherwise the book code can just send the retrieved line directly to the engine. For Edit Book the format has to be converted to TSA-like for display, to make the move parser that will read it on saving understand the move as a single one.
Fix printing of book moves for double-digit ranks The book-code move_to_string was not adapted to double digits, and printed ':' in stead of 10.
Fix display update during Edit Book When moves were deleted from the book, this was only shown after quitting and restarting XBoard, because the stream that was used for reading the book was a different one as the stream writing it.
Fix probing of GUI book for board with more than 10 ranks The move-to-text code was not yet adapted to the convention that rank counting only starts at 0 for boards of exactly 10 ranks.
Change book Zobrist key for Chu promoted pieces Promoted pieces for Chu (i.e. above Lion, with the exception of King) now get keys derived from their base type, by XORing in a square-dependent 'promoted' key. This makes it possible to extend the unpromoted series with new pieces without altering the keys for the promoted pieces. So that the current book code works upto 48 unpromoted piece types, rather than 48 piece types total.
Fix book encoding of Chu promotion moves The Shogi promotion suffix had promotion code 8, which was not available in Chu at all, due to the large board size. So in stead we use code 1 now. Code 10 (or 2 in Chu) is reserved for encoding Lion moves, which currently do not work at all.
Extend book to 48 piece types and 256 squares Before the Zobrist key could only handle 24 piece types and 128 squares.
Fix MSVC problems Book.c did not include config.h, and thus missed the redefinition of snprintf (which is not known in MSVC). The use of 'inline' in parser.c also needed an MSVC redefinition, now added to winboard/config.h.
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.
Allow castling and e.p. to be edited in opening book
Allow drops / promotions/ deferrals to be edited into book For no real reason only NormalMove would be accepted when parsing the list of book moves.
removed trailing whitespace
Update WinBoard translation template
Implement book-creation functions A new menu item triggers conversion of the currently loaded PGN file to a Polyglot book, saved with the GUI-book filename. A (volatile) option -mcBookMode alters the probing algorithm to build a book from scratch by playing games (and using a form of learning).