Fix two 64-bit warnings
[xboard.git] / NEWS
1 ** Version 4.6.0 **
2
3    (see http://www.gnu.org/software/xboard/whats_new/4.6.0/ )
4
5    * Engine vs. Engine
6     * Loading and installing engines through the menu
7     * Running tournaments with more than two partipants
8     * Stopping a match between two engines
9     * Replacing a tourney participant
10     * Playing openings in color-reversed pairs
11     * Perpetual chasing in Xiangqi 
12
13    * Interface Improvements
14     * Auto-Queen, and still under-promote?
15     * Piece fonts and figurine fonts
16     * Displaying PVs as SAN
17     * Small scores in the Eval Graph
18     * How close is the 50-move draw?
19     * Sign of the engine scores 
20
21    * Interactive Analysis
22     * Playing moves from the PV
23     * Rapidly changing the number of PVs
24     * Setting the other side to move in analysis
25     * Annotating a game with an engine 
26
27    * Other New Functionality
28     * Searching a position in a PGN file
29     * Editing the opening book 
30
31    * XBoard -> WinBoard Convergence
32     * Exporting the game list (XB)
33     * A move type-in box (XB)
34     * New-style Move History window (XB) 
35
36 ** Version 4.5.3a **
37
38    (see http://www.gnu.org/software/xboard/whats_new/4.5.3a/ )
39
40   * only changes to Winboard : build non JAW by default, fix compile errors
41
42 ** Version 4.5.3 **
43
44    (see http://www.gnu.org/software/xboard/whats_new/4.5.3/ )
45
46   * fixes of major bugs:
47    * In the file-browse dialog . and .. no longer mask other files if they are non-first in the directory
48    * Fix XBoard crash on showing an empty Engine Settings dialog, printing a message in stead
49    * The XBoard Game List can now handle files with more than 1900 games, by paging through them
50    * The state of the Move-History window is now remembered by XBoard even when the Engine-Output window is up
51    * Fix crash on switching sounds in WinBoard under Windows Vista
52    * Fix empty-string option values on XBoard command line (which were ignored)
53    * Fix spurious vertical scrolling in XBoard Engine-Output window on clicking in it
54    * Obey an engine's san feature when sending book moves to it
55    * Fix XBoard crash when 'filtering' made Game List empty
56    * Suppress clearing of Engine-Output window on automatic updates in analyze mode
57    * Force Move-History refresh after loading/reverting variation
58    * Fix closing brace, when joining two comments to same move
59
60   * fixes of minor bugs:
61    * Suppress playing sounds when no -soundProgram is set
62    * Fix display of last move of last match game
63    * Update window title after last game of match
64    * Never one-click move when legality testing is off
65    * Suppress playing book move when total weigth of all moves is zero
66    * Restore echo after ^C killed XBoard during ICS password
67    * Fix default of -remoteUser, which could cause crash when playing remote engines
68    * Fix recognition of separators between options in -adapterCommand command line
69    * Fix button sizing in generic popup
70    * Fix translatability of 'Spartan Chess' menu item WB
71    * Remove some duplicats from WB language template file
72    * Fix spurious 'Unfinished' sounds during ICS examining
73    * Fix bug in handling of partner command in zippy-mode bughouse games
74    * Create more space in some WB dialogs to accomodate translations
75
76   * Improvements benefitting the speaking version for the visually impaired (WB):
77    * Implement NVDA support in JAWS version
78    * Fix translation of spoken composite messages
79    * Fix JAWS reading of Engine-Settings dialog by removing group-boxes
80    * Add tab stops in WB generic popup
81    * Reorder controls in Engine-Setings dialog WB, so they are tabbed through in logical order
82
83   * fixed compiler warnings/errors and portability:
84    * Fix use of random function in XBoard shuffle dialog callback
85    * Fix inconsistent type of the variable 'shuffleOpenings'
86    * Silence warnings during rpm build
87    * Fix warnings XBoard file browser
88    * Fix some warnings and header-file improvement
89
90   * misc:
91    * Add -at and -opt options as alternative for @, as work-around for Windows shortcut bug
92    * Make occurrence of unknown option in settings file non-fatal
93    * Stale output no longer lingers in the engine-output window when a new game starts
94    * Popdown (stale) Comment window on new game
95
96 ** Version 4.5.2a (Winboard only)**
97
98    (see http://www.gnu.org/software/xboard/whats_new/4.5.2/ )
99
100   * Fix Engine Settings button options in WinBoard
101
102 ** Version 4.5.2  **
103
104    (see http://www.gnu.org/software/xboard/whats_new/4.5.2/ )
105
106   * Main new feature:
107    * Added many option dialogs and reworked some of the old ones
108
109   * bugfixes, packaging and install:
110    * Fix nps bug
111    * Fix flipBlack option XBoard with board texture
112    * Fix two bugs in reading position diagram
113    * Fix parsing bug of FRC castling
114    * Fix bugs in FRC castling rights
115    * Fix display of promotion piece in ICS superchess
116    * Fix path browsing in WinBoard
117    * Fix use of game/position file in first match game
118    * Fix build on Mac OS X
119    * install bitmaps and sounds during "make install"
120    * some minor bug fixes
121    * code cleanup (e.g. 64 bit warnings, removed malloc.h)
122
123 ** Version 4.5.1 **
124
125    (see http://www.gnu.org/software/xboard/whats_new/4.5.1/ )
126
127  * bugfixes:
128    * Revert "Implement -reset option feature in WinBoard"
129    * Fix deselection of greyed-out variant button (WB)
130    * Put warning in HTML help
131    * Fix unmarked translation
132    * Fix Alfil bug
133    * Fix variant janus size prefix
134    * Fix Xiangqi King facing
135    * Fix showing of user move after adjudication
136    * Make language choice from menu persistent
137    * Fix ICS channel 0
138    * Fix some resource leaks
139
140  * fixed packaging issues:
141    * add DIFFSTAT and SHORTLOG to tar-ball
142    * added history.c to the tar-ball. Needed for Winboard
143
144  * fixed compiler warnings/errors:
145    * added missing header file for sprintf
146    * added missing #includes and missing prototypes to filebrowser
147    * Fix MSVC compilability
148    * Fix 64-bit Windows compilability
149    * Fix MSVC snprintf problem
150
151  * fixed configure problems:
152    * fixed configure script to correctly detect Xaw3d library
153    * updated configure.ac to check for Xaw header files
154
155  * misc:
156    * Fix two typos in option names in texi file
157
158
159 ** Version 4.5.0 **
160
161    (see http://www.gnu.org/software/xboard/whats_new/4.5.0/ for more details)
162
163     General
164     -------
165     * User specific settings files
166     * More logical (and standard) menu structure
167     * Translation into other languages (WB)
168     * Walking the PV of an engine
169     * Exploring variations
170     * Playing through PGN variations
171     * Annotating a game with analysis results
172     * Editing Comments
173     * Controlling move choice of the GUI book
174     * Keeping the clock in sync in tournaments
175     * Starting an engine match from the menu
176     * Fixed thinking time per move
177     * Improved multi-PV support
178     * Where your pieces can move to
179     * Editing crazyhouse holdings
180     * Thai Chess (Makruk) and Seirawan Chess
181     * Non-compliant FEN and SAN input
182     * Improved Xiangqi adjudications
183     * Allowing engines to setup a position
184
185     Merging XBoard & WinBoard
186     ------------------------------
187     * Evaluation graph (XB)
188     * Settings file (XB)
189     * Filtering the game list (XB)
190     * Game-List options dialog (XB)
191     * Recalling the ICS input history (XB)
192     * Aribtrary board textures (XB)
193     * Highlight arrow (XB)
194
195     ICS-client Enhancements
196     -----------------------
197     * Maintaining a healty ICS connection
198     * Claiming a draw after your move
199     * ICS seek graph
200     * One-click moving
201     * Observing your bughouse partner
202     * Improved Chat-Box interface (WB)
203     * Uploading games to an ICS
204     * Side-by-side boards
205
206
207 ** Version 4.4.4 **
208
209  * Repair exit-popup deadlock patch
210  * Fix bug in sending "usermove" when forcing book moves
211  * Let move parser return ImpossibleMove for off-board moves
212  * Prevent engine stall on perpetual-chase evasion
213  * Pop down old tags on loadng new game in WinBoard
214  * Fix game end during dragging
215  * Repair animate dragging
216  * Fix bug in sending cores command to engine
217  * Fix parsing of SAN shogi promotions
218  * Fix variant switch on PGN loading
219  * Allow -flipBlack to work with font-based piece rendering
220  * Allow font-based piece rendering in board sizes below petite
221  * Fix WinBoard game-list title
222  * Fix deadlock in match-result display
223  * Fix regression in colorization of zippy-matched commands
224  * Fix zippy handling of draw offers from ICS
225  * Make some more zippy code obey the --disable-zippy flag
226  * Remove unnecessary double equals from configure.ac.
227  * Cut board squares out of texture bitmap more cleverly
228
229 ** Version 4.4.3 **
230
231  * Add variant Makruk
232  * Implement castling for variant CRC
233  * Extensive bugfix of -autoKibitz
234  * Accept <Enter> for changing chat partner
235  * Change opening array -variant fairy
236  * Send continuation lines to chat box they belong to
237  * Use -keepAlive option to determine connection health
238  * Fix of ancient WinBoard bug: check value of int options
239  * Fix bug for incommensurate time odds
240  * Fix piece-to-char table -variant fairy
241  * Fix TwoKings ICS castling-rights bug
242  * Fix reading castling rights FEN in knightmate and twokings
243  * Fix OO-castling in FRC after pasting FEN
244  * Fix bug in display of logos
245  * Fix highlighting bug in XBoard
246  * Match handles with multiple titles for channel Chat Boxes
247  * Make WinBoard makefiles use parser.c in XBoard directory
248  * Added missing sounds files to be able to compile on windows
249  * Added logo files for xboard
250  * Bugfix stale first-click
251  * Fix copying of WB Chat Window contents
252  * Fix XB crash on giving keyboard focus to non-text widget
253  * Bugfix copying from Chat Box, own lines
254  * Fix 'mamer bug' in Chat Boxes
255  * Fix copying of kibitzed lines from WB Engine-Output window
256  * Do not recognize non-ICS variants from PGN event tag
257  * Remake programVersion string after receiving engine features
258  * Set keyboard focus at startup to board window
259  * Fix window-position upset on failing engine start in WinBoard
260  * Allow lower-case promochar in moves of type h8=Q
261  * Small bugfixed for JAWS version
262  * Small bugfixes
263
264 ** Version 4.4.2 **
265
266  * add Winboard source files into tar-ball
267  * remove trailing \r in xboard output
268  * double buffer size to prevent overflow
269  * fix problem with empty string in -firstNeedsNoncompliantFEN
270  * updates makefiles to include dependency on config.h
271  * correctly apply some check boxes from the option menu
272  * score sign in analysis mode
273  * fix for bug #28077: xboard needs to link against x11
274  * fix castling rights when copying FEN to clipboard (again)
275  * fixed some outstanding pixmaps
276  * fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing.
277  * use xtell for talking to handles, but tell for talking into a channel.
278  * fix bug in bughouse drop menu
279  * removing some rather verbose debug messages that seem no longer needed.
280  * fix engine-sync on move-number type-in bug
281  * fix declaration of engineOutputDialogUp
282  * fix double start of zippy engine after switch to gothic
283  * the last move before the time control now gets its time listed in the PGN
284  * fix casting rights after FEN pasting
285  * fix crash on engine crash
286  * fixed build on openbsd
287  * cleaned up some debug messages and typos
288  * removed files that should only be in the windboard directory
289  * added missing library for build on OS X
290
291 ** Version 4.4.1 **
292
293  * added chat windows to keep track of multiple conversations (WinBoard only)
294  * allow the result comment as a display item in the game list
295  * added a "Mute All Sounds" item in the WinBoard Options menu
296  * new -forceIllegalMoves option
297  * new -keepAlive option (for ICS play)
298  * ported -autoDisplayComment and -autoDisplayTags to xboard, controling popups
299  * replaces analysispopup with engineoutputpopup in xboard
300  * allow copy/paste position and game to use clipboard (xboard)
301  * updated several bitmaps (xboard)
302  * Made the beep sounds for JAWS board navigation configurable
303    through command-line options
304  * added the result comment to the game-list tags when the game
305    list is exported to the clipboard
306  * updated RTF docs
307  * fixed premove problem
308  * fixed engine did not start playing when out of GUI book on second
309    move with white
310  * fix bug using opening books (file were not closed)
311  * fixed crash when opening Engine #1 Settings when there were no
312    text-edit options in the dialog
313  * fixed loading of games from command lines, fixes cmail bug
314  * fix joining lines split by ICS and resizing terminal window when using ICS
315    (new option -keepLineBreaksICS, -wrapContinuationSequence, -useInternalWrap)
316  * fixed -autoDisplayComment
317  * fixed wrong default value for engineDebugOutput in xboard
318  * swapped 'tell' and 'message' parsing order for correct colorization.
319  * fixed parse bug for pgn files
320  * fix for edit-position "moves" being sent by XBoard to the engine
321  * bugfix for protocol extensions: egtbpath -> egtpath
322  * fix bug in parser
323  * further bugfixes:  #8847, #10990, #27427, #27642,
324    #27666, #27667, #27668, #27715, #27751, #27760,
325    #27772, #27799, #27826 and several small ones
326  * use "make distcheck" to generate tar-balls
327  * prepared a system to internationalize winboard menus
328  * improved mouse handler
329  * rewrote wevalgraph for better frontend/backend separation
330  * code cleanup
331
332 ** Version 4.4.0 **
333
334 A new release of both XBoard and WinBoard is now available.  Version
335 4.4.0 includes many changes. It is the first major release of
336 xboard/winboard after a fork of the project after version 4.2.7. It
337 includes small changes made in the main line and changes made by a
338 fork of Alessandro Scotti and lots of changes made afterwards by
339 H.G. Muller (released as versions 4.3.x). This release represents a
340 unified version of all changes made after the fork. It includes many
341 new features and bugfixes.
342
343 You can get both XBoard and WinBoard from the Savannah
344 project pages:
345
346 https://savannah.gnu.org/projects/xboard/
347
348 If you find a bug, please report it in the bug tracker at
349 https://savannah.gnu.org/projects/xboard/ or by email to bug-xboard
350 (AT) gnu.org.
351
352
353 ** Version 4.3.16 **
354
355 New command-line options
356 /niceEngines=N       for adjusting the priority of engine processes so they don't soak up all your system resources
357 /firstOptions="..."   Allows the setting of options that engines define through the feature option="..." commands
358 /secondOptions="..."
359 /firstLogo=filename.bmp  Displays the mentioned bitmap next to the clock (with H:W =1:2 aspect ratio) (WB only)
360 /secondLogo=filename.bmp
361 /autoLogo=false          get logo files automatically from engineDirectory\logo.bmp
362
363 General enhancements:
364 * New WB-protocol command: 'feature option="NAME -TYPE VALUE OTHER"', which engines can use to define options
365 * New WB-protocol command: 'option NAME VALUE' used to set value of engine-defned options.
366 * implements /delayAfterQuit and /delayBeforeQuit in XBoard, and uses SIGKILL to terminate rogue engine processes
367
368
369 ** Version 4.3.15 **
370
371 New command-line options
372 /rewindIndex=N (for the new auto-increment mode of the loadGameIndex or loadPositionIndex in match mode)
373 /sameColorGames=N (for playing a match where the same player has white all the time)
374 /egtFormats="..." (for specifying where various end-game tables are installed on the computer)
375
376 New menu items
377 + Time-odds factors can be set in the time-control dialog
378 + Nr of CPUs for SMP engines can be set in the Options -> UCI dialog
379 + Own-Book options can be switched from the Options -> UCI dialog
380 + The ScoreIsAbs options can be set from the Options -> Engine dialog
381 + New-Variant menu adds Superchess
382
383 General Enhancements:
384 * WinBoard engines can now also use the Polyglot opening book (implemented as general GUI book)
385 * New WB-protocol commands memory, cores and egtpath make interactive setting of these parameters
386   possible on WB engines
387 * New Polyglot is available that relays the interactive setting of these parameters to UCI engines
388 * Match mode suports an auto-increment mode, so that all games or positions from a file can be played
389 * Draw claims with Kings and an arbitrary number of like Bishops (e.g. KBBKB) are accepted
390
391 The source tree in original xboard 4.2.7 format can now be compiled under Cygwin with the aid
392 of the cygwin.mak file in the ~/winboard/ subdirectory of the source releasy, after you put
393 the hep-file from an executabl distribution there. Maefiles for other compilers are not updated
394 since 4.2.7, as I do not have those compilers.
395
396
397 ** Version 4.3.14 **
398
399 This relaese was not made by the GNU xboard team, but by H.G.Muller.
400 It mainly contains developments on WinBoard. Nevertheless, an attempt
401 has been started to back-port the enormous number of improvements that
402 have been made to WinBoard since the Linux and Windows developments branched
403 to xboard. This is reflected by the source tree now having the same format
404 as that of xboard 4.2.7, including all the xboard sources.
405
406 An enormous amount of work still has to be done to make the xboard version
407 fully equivalent to WinBoard, especially on user-interface side. As a modest
408 beginning, the xboard source files have been patched to allow their compilation
409 with the newer back-end files from WinBoard. To this end, the number of piece
410 types in xboard has been increased from 6 to 22, and the WinBoard bitmaps
411 have been converted to xboard source format (.bm) and are included in the
412 xboard bitmaps directory. Other quick patches include the coloring of the
413 board squares (for xiangqi and holdings), and some code in the user-move
414 handling to suppress all moves into or out of the area between board and
415 holdings in crazyhouse, and the treatment of king-captures-own-piece
416 as a possibly valid move (for FRC castling). This should make it possible
417 to run xboard with the new back-end files without too much inconvenience.
418
419 New xboard command-line options have been added to make the added back-end
420 features available. The include the new variants (as argument of the old
421 -variant option), -boardWidth, -boardHeight and -holdingsSize. Be sure
422 to call xboard with "-boardSize middling" or "-boardSize bulky" if you
423 want to play with fairy pieces, or xboard might crash due to unavailability
424 of bitmaps. Other added xboard options are:
425
426 ADJUDICATION OPTIONS:
427 -checkMates
428 -testClaims
429 -materialDraws
430 -trivialDraws
431 -ruleMoves
432 -repeatsToDraw
433 -adjudicateLossThreshold
434 -firstScoreAbsolute
435 -secondScoreAbsolute
436
437 TIME-CONTROL OPTIONS
438 -firstTimeOdds
439 -secondTimeOdds
440 -timeOddsMode
441 -firstNPS
442 -secondNPS
443
444 GENERAL OPTIONS
445 -matchPause
446 -engineDebugOutput
447 -userName
448 -pgnExtendedInfo
449 -pgnEventHeader
450 -hideThinkingFromHuman
451
452 This is all completely untested, but as the options merely switch on well-tested
453 code in the back-end, there should not be too many problems with them.
454 Bugs can be reported in the WinBoard forum.
455
456
457 ** Version 4.3.14k **
458
459 Compared to version 4.3.13 described below, this version features
460
461 New command-line options:
462 /autoKibitz (for relaying the PV info of the engine to the ICS)
463 /userName="..." (for setting the name of the Human player, also as menu)
464 /engineDebugOutput=N (controlling the writing of engine output to debug file)
465 /firstNPS=N (for time management by node count or CPU time)
466 /secondNPS=N (likewise for the other engine)
467
468 New Menu items
469 + Enter Username (same as /userName command-line option)
470 + Save Diagram (for saving the Chessboard display as bitmap file)
471 + Machine Both (not implemented yet, but menu item already provided)
472 + New-Variant menu adds CRC, Janus and Berolina (the latter only with legality testing off!)
473 + Any variant can be played from a shuffled opening setup
474
475 Bugfixes:
476 * Problems with switching the variant in ICS zippy mode solved
477 * In ICS observing mode game history is now fully accessible
478 * Moves are not fed to engine in zippy mode, when observing a game from a variant unknown to the engine
479 * a problem with loading PGN of FRC games with move disambiguation and initial castling rights was fixed.
480 * A bug in the clock display that made previous versions of WinBoard crash for tiny displays is fixed
481
482 General enhancements:
483 * variant name displayed in title bar in ICS mode, when not 'normal'
484 * when receiving a challenge in ICS zippy mode, it is checked if the engine supports the variant (/zippyVariants="..." can still be used to limit the allowed variants, and for protocol-1 engines is still the only thing to go on)
485 * when loading a game from a PGN file, WB automatically switches to the variant specified in the PGN tags
486 * when starting from a loaded position (using /loadPositionFile), this position will be used on subsequent 'New Game' commands as well (until we switch variant)
487
488 New is also that the source tree is now brought back in the original WinBoard 4.2.7 format, including
489 xboard source files. Note, however, that the xboard sources are from an older date, and I did not test
490 if they still compile together with the much newer backend sources. I did add code in xboard.c to recognize
491 the new command-line options I added since then, and in so far they are back-end options that should be enough
492 to make them work. This is completely untested, though; I did not even try to compile it. Last time anyone
493 built a working xboard.exe from this was at a stage where WinBoard did have adjustable board size, allowing
494 it to play Xiangqi. But no crazyhouse holdings yet.
495
496
497 ** Version 4.3.13a **
498
499 This version of WinBoard_F fixes several bugs in 4.3.12, and also addse a few new features.
500 The new features include:
501 - some more fairy pieces, so that each side now has 22 piece types in stead of 17,
502 making most fairy pieces available in board size "petite" (next to "bulky" and "middling"),
503 making the ArchBishop and Chancellor, as well as one wildcard piece (the Lance) available in all
504 sizes from "petite" to "bulky".
505 - The FRC support is fully fixed, both in local and ICS mode.
506 - A mechanism is provided for safe draw claiming in cases where a 3-fold repetition woud occur only
507   after your own move. In this case a draw will be awarded by WinBoard if the engine sends "offer draw"
508   before making its move.
509 - Genuine draw offers are not passed on immediately to the opponent but held up to when the offerer announces
510   its move.
511 - Variants FRC, Cylinder and Falcon are added to the "New Variant..." menu.
512 - Support for playing time-odds games is added. (Options /firstTimeOdds, /secondTimeOdds, /timeOddsMode)
513 - A mechanism is provided for attaching WinBoard options to the engine command, to create options that
514 follow the engine (e.g. time odds) in a tournament run under a tournament manager.
515 Bugfixes include:
516 - Shatranj in ICS mode (did not work at all before)
517 - Some draw adjudications (QRKR was mistaken for KRKR, and KBKB with like Bishops is now recognized)
518 - time info in the PGN is now correct
519
520 ** Winboard_F.4.3.12 release notes
521
522 This WinBoard (beta-)version is derived from Allessandro Scotti's
523 Winboard_x, and supports the following new options, mainly in the area
524 of adjudication of engine-engine games, improved Crazyhouse support,
525 and allowing variants with non-conventional pieces and or board
526 sizes. (All option are shown here with their default values):
527
528 /variant=normal
529 This (already existing) option has been expanded with
530 several new variants, involving non-conventional pieces and deviating
531 board sizes. The board size is automatically adapted to the selected
532 variant, unless explicitly overruled (see below). The new variants are
533 (with default board size, files x ranks, in parentheses):
534
535 variant name    Game           board     description
536 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
537 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
538 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
539 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
540 shogi         Shogi             (9x9)  Japanese Chess
541 xiangqi       Xiangqi          (9x10)  Chinese Chess
542 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
543
544 The variant can be set from the newly added "File -> New Variant..."
545 sub-menu.  Extra board files are indicated by the letters i, j, k, l,
546 ... For boards with more than 9 ranks, the counting starts at zero!
547 More than 10 ranks is not tested and unlikely to work in the area of
548 PGN saving / reading. Non-FIDE pieces will be referred to in FENs and
549 PGN by letters that depend on the variant, and might collide with
550 piece designators in other variants. E.g. in Xiangqi 'C' is a Cannon,
551 in Capablanca Chess it is a Chancellor. Pieces that do not belong in a
552 variant cannot be addressed in FEN and PGN either, for as long as that
553 variant is selected, unless the letter assignment is overruled with
554 the aid of the /pieceToCharTable option. The variant is not saved in
555 the winboard.ini file; on start-up we always get variant "normal"
556 unless we use the command-line option, or have added the option to the
557 winboard.ini file manually (in which case it will disappear when this
558 file is overwritten by WinBoard saving its options).  WinBoard_F knows
559 the movement of all pieces occurring in Capablanca Chess (of which
560 FIDE Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so
561 that these games can be played with legality testing enabled.
562
563 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
564 Each piece that WinBoard knows (in its legality test) has a letter
565 associated with it, by which it will be referred to in FEN or PGN. The
566 default assignment can be overruled with this option. The value has to
567 be a string of even length, with at least 12 characters. The first
568 half of the string designates the white pieces, the second half the
569 black.  The last letter for each color will be assigned to the
570 King. (This is the piece that moves as an orthodox King; note that
571 Nightmate and Xiangqi have a different royal piece.) All letters
572 before it will be assigned to the other pieces in the order:
573
574 P Pawn                 (move often depends on variant)
575 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
576 B Bishop
577 R Rook
578 Q Queen                (Lance L in Shogi)
579 F Ferz/General         (The Shatranj 'Queen' and Xiangqi 'Adviser', used for Silver General S in Shogi.)
580 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
581 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
582 M Commoner/Man
583 O Cannon/Pao
584 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
585 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
586 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
587 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
588 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
589 S                      (Promoted Silver in Shogi)
590 K King
591
592 Pieces that are not mentioned (because the argument has less than 34
593 characters) will remain disabled. Mentioned pieces can be disabled by
594 assigning them a '.' (period). They are then not recognized in FEN or
595 PGN input. Non-FIDE pieces that are not assigned a letter will also
596 not appear on the promotion menu. It is not advisable to disable a
597 piece that is present in the opening position of the selected variant,
598 though.
599 Promoted pieces that need to be distinguished from original pieces of
600 the same type (because of demotion on capture and transfer to the
601 holdings) will be indicated by the letter for the unpromoted piece
602 with a '+' in front of it (Shogi), or by the letter of the promoted
603 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
604 with holdings that is not Shogi). To achieve this, they should be
605 assigned the characters '+' or '~', respectively.
606 All the new pieces have a native bitmap representation in the board
607 sizes 'bulky' and 'middling'. For all window sizes that do not support
608 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
609 normal piece symbol, so that Crazyhouse can be played at any
610 size. People disliking the fairy representations might even prefer
611 this.
612 There is an enhanced 'Edit Position' menu popup (right-clicking on the
613 squares after selecting this mode in the main menu), featuring some
614 common non-FIDE pieces, and 'promote' and 'demote' options to make
615 those not directly in the menu. The promotion popup shows ArchBishop
616 and Chancellor in Capablanca and Gothic, (or in fact in any game where
617 this piece is not disabled or a promoted version of a normal piece),
618 and leaves only the options YES / NO in Shogi. In Xiangqi there are no
619 promotions.
620
621 /fontPieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
622 This option is similar to /pieceToCharTable, but sets the font
623 character that is used to display the piece on the screen (when
624 font-based rendering is in use), rather than in the FEN or PGN. The
625 default setting should work with George Tsavdaris' WinboardF font,
626 which uses the 'intuitive' mapping of font characters to symbols. With
627 font-based rendering the fairy pieces can be used at any board size.
628 Note that UHACGS are also used to represent the promoted versions of
629 PNBRQF, in games like Crazyhouse and Shogi, where the promotion has to
630 be undone on capture. In such games you are likely to prefer a
631 different representation of those pieces then when they represent true
632 fairy pieces.
633
634 /flipBlack=FALSE
635 Traditional Shogi bitmaps are only included for size "moderate". For
636 other sizes you must depend on font-based rendering.
637
638 /detectMate=TRUE
639 /testClaim=TRUE
640 /materialDraws=TRUE
641 /trivialDraws=FALSE
642 /ruleMoves=51
643 /repeatsToDraw=6
644 The option /materialDraws=TRUE causes games with insufficient mating
645 material to be adjudicated immediately as draws, in case the engines
646 would not claim these draws. This applies to KK, KNK and KBK.  The
647 option /trivialDraws adjudicates KNNK, KBKB, KNKN, KBKN, KRKR and KQKQ
648 to draws after 3 moves (to allow for a quick tactical win). Note that
649 in KQKQ this might not be sound, but that problem would disappear once
650 bitbase probing is implemented.
651
652 Clocks
653 The flag-fell condition is now indicated as '(!)' behind the displayed
654 time, to eliminate the necessity for overwriting the message in the
655 title bar (which might contain indispensible information in match
656 mode).
657
658 Other improvements / changes
659 Castling rights and e.p. rights are now fully maintained, and
660 considered in legality testing. They are imported from and written to
661 FEN, as is the 50-move counter. (When reading an incomplete FEN they
662 are still guessed, though.)  The time (in sec, or min:sec) is now
663 always stored together with the PV information to the PGN, if storing
664 the latter was requested (through ticking "extended PGN info" in
665 "Options -> General..."). The saved time is the WinBoard clock time
666 (as opposed to the time reported by the engine).
667
668 ** Winboard_F.4.3.8 release notes
669
670 This Winboard supports the following new options (shown here with their default values):
671
672 /variant=normal
673 This (already existing) option has been expanded with several new
674 variants, involving non-conventional pieces and deviating board
675 sizes. The board size is automatically adapted to the selected
676 variant, unless explicitly overruled (see below). The new variants are
677 (with default board size, files x ranks, in parentheses):
678
679 variant name    Game           board     description
680 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
681 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
682 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
683 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
684 shogi         Shogi             (9x9)  Japanese Chess
685 xiangqi       Xiangqi          (9x10)  Chinese Chess
686 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
687
688 The variant can be set from the newly added "File -> New Variant..." sub-menu.
689 Extra board files are indicated by the letters i, j, k, l, ... For
690 boards with more than 9 ranks, the counting starts at zero! Non-FIDE
691 pieces will be referred to in FENs and PGN by letters that depend on
692 the variant, and might collide with piece designators in other
693 variants. E.g. in Xiangqi 'C' is a Cannon, in Capablanca Chess it is a
694 Chancellor. Pieces that do not belong in a variant cannot be addressed
695 in FEN and PGN either as long as that variant is selected, unless the
696 letter assignment is overruled by the /pieceToCharTable option. The
697 variant is not saved in the winboard.ini file; on start-up we always
698 get variant "normal" unless we use the command-line opton, or have
699 added the option to the winboard.ini file manually (in which case it
700 will disappear when this file is overwritten).  WinBoard_F knows the
701 movement of all pieces occurring in Capablanca Chess (of which FIDE
702 Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so that
703 these games can be played with legality testing enabled.
704
705 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
706 Each piece that WinBoard knows (in its legality test) has a letter
707 associated with it, by which it will be referred to in FEN or PGN. The
708 default assignment can be overruled with this option. The value has to
709 be a string of even length, with at least 12 characters. The first
710 half of the string designates the white pieces, the second half the
711 black.  The last letter for each color will be assigned to the
712 King. (This is the piece that moves as an orthodox King; note that
713 Nightmate and Xiangqi have a different royal piece.) All letters
714 before it will be assigned to the other pieces in the order:
715
716 P Pawn                 (move often depends on variant)
717 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
718 B Bishop
719 R Rook
720 Q Queen                (Lance L in Shogi)
721 F Ferz/General         (Silver General S in Shogi)
722 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
723 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
724 M Commoner/Man
725 O Cannon/Pao
726 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
727 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
728 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
729 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
730 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
731 S                      (Promoted Silver in Shogi)
732 K King
733
734 Pieces that are not mentioned (because the argument has less than 34
735 characters) will remain disabled. Mentioned pieces can be disabled by
736 assigning them a '.' (period). They are then not recognized in FEN or
737 PGN input. It is not advisable to disable a piece that is present in
738 the opening position of the selected variant, though.
739 Promoted pieces that need to be distinguished from original pieces of
740 the same type (because of demotion on capture and transfer to the
741 holdings) will be indicated by the letter for the unpromoted piece
742 with a '+' in front of it (Shogi), or by the letter of the promoted
743 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
744 with holdings that is not Shogi).
745 All the new pieces have a native biytmap representation in the board
746 sizes 'bulky' and 'middling'. For all window sizes that do not support
747 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
748 normal piece symbol, so that Crazyhouse can be played at any
749 size. People disliking the fairy representations might even prefer
750 that.
751 There is an enhanced 'Edit Position' menu popup (right-clicking on the
752 squares after selecting this mode in the main menu), featuring some
753 common non-FIDE pieces, and 'promote' and 'demote' options to make
754 those not directly in the menu. The promotion popup shows ArchBishop
755 and Chancellor in Capablanca and Gothic, (or in fact in any game where
756 this piece is not disabled), and leaves only the options YES / NO in
757 Shogi. In Xiangqi there are no promotions.
758
759 /alphaRank=FALSE
760 This option does not seem to work for reading PGN files. Saving works
761 fine. For now, using it is not recommended. In the future it might be
762 redefined as only affecting engine-engine communication, .
763
764 /flipBlack=FALSE
765 Setting this option will cause upside-down display of the native piece
766 bitmaps used to represent the pieces of the side that plays black, as
767 would be needed for a traditional representation of Shogi pieces. It
768 can be set from the "Options -> Board..." sub-menu, and it is saved in
769 the winboard.ini file. For now, traditional Shogi bitmaps are not
770 included, though.
771
772 Other improvements / changes
773 Castling rights and e.p. rights are now fully maintained, and
774 considered in legality testing. They are imported from and written to
775 FEN, as is the 50-move counter. The time (in sec, or min:sec) is now
776 always stored together with the PV information to the PGN, if storing
777 the latter was requested (through ticking 'extended PGN info' in
778 "Options -> General..."). The saved time is the Winboard clock time
779 (as opposed to the time reported by the engine).
780
781 ** Winboard_F.4.3.7 release notes
782
783 This Winboard supports the following new options (shown here with
784 their default values):
785
786 /variant=normal
787 This (already existing) option has been expanded with several new
788 variants, involving non-conventional pieces and deviating board
789 sizes. The board size is automatically adapted to the selected
790 variant, unless explicitly overruled (see below). The new variants are
791 (with default board size, files x ranks, in parentheses):
792
793 variant name    Game           board     description
794 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
795 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
796 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
797 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
798 shogi         Shogi             (9x9)  Japanese Chess
799 xiangqi       Xiangqi          (9x10)  Chinese Chess
800 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
801
802 The variant can be set from the newly added "File -> New Variant..." sub-menu.
803 Extra board files are indicated by the letters i, j, k, l, ... For
804 boards with more than 9 ranks, the counting starts at zero! Non-FIDE
805 pieces will be referred to in FENs and PGN by letters that depend on
806 the variant, and might collide with piece designators in other
807 variants. E.g. in Xiangqi 'C' is a Cannon, in Capablanca Chess it is a
808 Chancellor. Pieces that do not belong in a variant cannot be addressed
809 in FEN and PGN either as long as that variant is selected, unless the
810 letter assignment is overruled by the /pieceToCharTable option. The
811 variant is not saved in the winboard.ini file; on start-up we always
812 get variant "normal" unless we use the command-line opton, or have
813 added the option to the winboard.ini file manually (in which case it
814 will disappear when this file is overwritten).  WinBoard_F knows the
815 movement of all pieces occurring in Capablanca Chess (of which FIDE
816 Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so that
817 these games can be played with legality testing enabled.
818
819 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
820 Each piece that WinBoard knows (in its legality test) has a letter
821 associated with it, by which it will be referred to in FEN or PGN. The
822 default assignment can be overruled with this option. The value has to
823 be a string of even length, with at least 12 characters. The first
824 half of the string designates the white pieces, the second half the
825 black.  The last letter for each color will be assigned to the
826 King. (This is the piece that moves as an orthodox King; note that
827 Nightmate and Xiangqi have a different royal piece.) All letters
828 before it will be assigned to the other pieces in the order:
829
830 P Pawn                 (move often depends on variant)
831 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
832 B Bishop
833 R Rook
834 Q Queen                (Lance L in Shogi)
835 F Ferz/General         (Silver General S in Shogi)
836 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
837 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
838 M Commoner/Man
839 O Cannon/Pao
840 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
841 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
842 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
843 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
844 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
845 S                      (Promoted Silver in Shogi)
846 K King
847
848 Pieces that are not mentioned (because the argument has less than 34
849 characters) will remain disabled. Mentioned pieces can be disabled by
850 assigning them a '.' (period). They are then not recognized in FEN or
851 PGN input. It is not advisable to disable a piece that is present in
852 the opening position of the selected variant, though.
853 Promoted pieces that need to be distinguished from original pieces of
854 the same type (because of demotion on capture and transfer to the
855 holdings) will be indicated by the letter for the unpromoted piece
856 with a '+' in front of it (Shogi), or by the letter of the promoted
857 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
858 with holdings that is not Shogi).
859 All the new pieces have a native biytmap representation in the board
860 sizes 'bulky' and 'middling'. For all window sizes that do not support
861 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
862 normal piece symbol, so that Crazyhouse can be played at any
863 size. People disliking the fairy representations might even prefer
864 that.
865 There is an enhanced 'Edit Position' menu popup (right-clicking on the
866 squares after selecting this mode in the main menu), featuring some
867 common non-FIDE pieces, and 'promote' and 'demote' options to make
868 those not directly in the menu. The promotion popup shows ArchBishop
869 and Chancellor in Capablanca and Gothic, (or in fact in any game where
870 this piece is not disabled), and leaves only the options YES / NO in
871 Shogi. In Xiangqi there are no promotions.
872
873 /fontPieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
874 This option is similar to /pieceToCharTable, but sets the font
875 character that is used to display the piece on the screen (when
876 font-based rendering is in use), rather than in the FEN or PGN. The
877 default setting should work with the WinboardF font, which uses the
878 'intuitive' mapping of font characters to symbols.  Note that UHACGS
879 are also used to represent the promoted versions of PNBRQF, in games
880 like Crazyhouse and Shogi, where the promotion has to be undone on
881 capture.
882
883 /boardWidth=-1 /boardHeight=-1
884 Set a number of files and ranks of the playing board to a value that
885 will override the defaults for the variant that is selected. A value
886 of -1 means the variant default board size will be used for the
887 corresponding parameter (and is itself the default value of these
888 options). These parameters can be set in the "Files -> New Variant..."
889 sub-menu, where they are reset to the default -1 is you OK the chosen
890 variant without typing something to overrule it. These parameters are
891 saved in the winboard.ini file. (But unless you saved while a variant
892 with board-size override was selected, they will always be saved as
893 -1.)
894 A variant with a non-standard board size will be communicated to the
895 engine(s) with the board size prefixed to the variant name,
896 e.g. "variant 12x8_capablanca". In protocol 2 the engine must first
897 enable this feature by sending "boardsizeFxR" amongst the accepted
898 variants, where F is the maximum number of files, and R the maximum
899 number of ranks, as decimal numbers.
900
901 /holdingsSize=-1
902 Set the size of the holdings for dropable pieces to a value that will
903 override the default for the variant that is selected. A value of -1
904 means the variant default holdings size will be used for that
905 parameter (and is itself the default value of this options). This
906 parameter can be set in the Files -> New Variant... sub-menu, where it
907 is reset to the default -1 is you OK the chosen variant without typing
908 something to overrule it. This parameters is saved in the winboard.ini
909 file.  To disable holdings, set their size to 0. They will then not be
910 displayed. For non-zero holding size N, the holdings are displayed
911 left and right of the board, and piece drops can be effected by
912 dragging pieces from the holdings to the drop square. In bughouse, the
913 holdings will be filled by the ICS. In all other variants, captured
914 pieces will go into the holdings (after reversing their color). Only
915 the first N pieces of the /pieceToCharTable argument will go into the
916 holdings. All other pieces will be converted to Pawns. (In Shogi,
917 however they will be demoted in the regular way before determining if
918 they fit.) Pieces that are disabled (per default and per
919 /pieceToCharTable option) might not be counted when determining what
920 are the first N pieces.  Non-standard holdingsize will be communicated
921 to the engine by prefixing it (together with the board size, even if
922 this is standard) to the variant name, e.g. "variant 7x7+5_shogi". In
923 protocol 2 the engine should enable this feature by sending
924 "holdingsH" amongst the variant names, where H is the maximum
925 acceptable holdings size as a decimal number.
926
927 /alphaRank=FALSE
928 When this parameter is true, a-h are converted to 1-9, and vice versa,
929 in all move output and input (to PGN files or SAN move display as well
930 as in communication with the engine). This might be useful for Shogi,
931 where conventionally one uses letters to designate ranks, and digits
932 to designate files. Engines that want to use this option must make
933 sure pieces are never represented by lower case! This option can be
934 set from the Files -> New Variant... menu, where it defaults to FALSE
935 unless you explicitly set it. It is not saved in the winboard.ini
936 file.  Note that the PGN format in Shogi also leaves out the trailing
937 '+' as check indicator: In Shogi such a trailing '+' means promotion,
938 while a trailing '=' means defer promotion. Prefix '+' signs are used
939 on moves with promoted pieces, disambiguation is done western SAN
940 style.
941
942 /allWhite=FALSE
943 Causes the outline of the 'white' pieces to be superimposed onto the
944 'black' piece symbols as well (as a black outline) when native bitmaps
945 are used (as opposed to font-based rendering). This is useful if we
946 choose a very light color to represent the 'black' pieces. It might be
947 particularly useful in Shogi, where the conventional representation of
948 the 'black' pieces is as upside-down white pieces, so that both colors
949 would be white. This option is saved in the winboard.ini file, and can
950 be set in the "Options -> Board..." sub-menu.
951
952 /flipBlack=FALSE
953 This option is reserved for future use. It will cause upside-down
954 display of the 'black' native piece bitmaps, as would be needed for
955 Shogi. For now it can be set from the "Options -> Board..." sub-menu,
956 and it is saved in the winboard.ini file, but it is ignored.
957
958 /detectMate=TRUE
959 /testClaim=TRUE
960 /materialDraws=TRUE
961 /trivialDraws=FALSE
962 /ruleMoves=51
963 /repeatsToDraw=6
964 These are all options that only affect engine-engine play, and can be
965 set from the "Options -> Engine..." sub-menu. They are all related to
966 adjudication of games by the GUI. Legality checking must be switched
967 on for them to work.  If /detectMate is TRUE, the GUI recognizes
968 checkmate and stalemate (but not in games with holdings!), and ends
969 the game accordingly before the engines can claim. This is convenient
970 for play with engines that fail to claim, and just exit.  With
971 /testClaim set, all result and illegal-move claims by engines that
972 claim more than their own loss are scrutinized for validity, and false
973 claims result in forfeit of the game. Useful with buggy engines.  The
974 option /materialDraws=TRUE causes games with insufficient mating
975 material to be adjudicated immediately as draws, in case the engines
976 would not claim them.  The option /trivialDraws adjudicates KNNK,
977 KBKB, KNKN, KBKN, KRKR and KQKQ to draws after 3 moves (to allow for a
978 quick tactical win. Note that in KQKQ this might not be sound, but
979 that problem would disappear once bitbase probing is added).  The
980 /ruleMoves determine after how many reversible moves the game is
981 adjudicated as a draw. Setting this to 0 turns this option off. Draw
982 claims by the engine are still accepted (by /testClaim) after 50
983 reversible moves, even if /ruleMoves species a larger number. Note
984 that it is perfectly legal according to FIDE rules to play on after 50
985 reversible moves, but in tournaments having two engines that want to
986 play on forever is a nuisance in endings like KBNKR, where one of the
987 engines thinks it is ahead and can avoids repeats virtually forever.
988 The option /repeatsToDraw makes the GUI adjudicate a game as draw
989 after the same position has occurred the specified number of times. If
990 it is set to a value > 3, engines can still claim the draw after
991 3-fold repeat.  All these options are saved in the winboard.ini file.
992
993 Clocks
994 There is an "Options -> flip Clocks" command, that swaps the position
995 of white and black clocks (convenient in over-the-board matches, where
996 the screen is next to the board, and you want your own time to be
997 displayed on your side of the screen). The clocks can be adjusted in
998 "edit game" mode: right-clicking them adds one minute, left-clicking
999 subtracts one minute. (Also for OTB matches, to keep them synchronized
1000 with the official match clock.) The flag-fell condition is now
1001 indicated as (!) behind the time.
1002
1003 Other improvements
1004 Castling rights and e.p. rights are now fully maintained, and
1005 considered in legality testing. They are imported from and written to
1006 FEN, as is the 50-move counter.
1007
1008 ** Winboard_F 4.3.2
1009
1010 These are the release notes of Winboard_F 4.3.2, which is released
1011 under the GPL.  This version was derived from Allessandro Scotti's
1012 Winboard_x 4.2.7 source files.  It only includes the files that were
1013 changed:
1014
1015 config.h
1016 common.h
1017 parser.h
1018 moves.h
1019 resource.h
1020
1021 winboard.c
1022 backend.c
1023 moves.c
1024
1025 parser.l
1026 winboard.rc
1027
1028 and some bitmaps for piece symbols
1029
1030 I made modifications in the following areas:
1031
1032 1) Adjudication and claim verification
1033 2) Fairy pieces and board sizes other than 8x8
1034 3) Miscellaneous
1035
1036 Miscellaneous
1037
1038 /matchPause=10000
1039 is an option to set the length of the pause between two games of a
1040 match. The value is in msec, default value is 10000 (I will present
1041 all newly implemented options with their default value as example). Be
1042 aware that some engines might not be stopped yet if you make the pause
1043 too small, but might still be puking output, which then will interfere
1044 with the next game. But the fixed value of 10 sec of the old Winboard
1045 seemed like overdoing it.
1046
1047 Time info in PGN
1048 When you ask for the PV-info to be stored in the PGN (a Winboard_x
1049 option), it now also stores the time spent on the move with it.
1050
1051 Flag fell
1052 In engine-engine games the messge "white/black/both" flag(s) fell" no
1053 longer appears in the window caption, but as an exclamation point
1054 behind the clock time. (To prevent the annoying overwriting of the
1055 normal header line).
1056
1057 Adjudications and Claim verification.
1058
1059 These functions are only present in engine-engine games, and only if
1060 legality-testing is switched on. (The latter will be typically
1061 switched off in games with bizarre rules, which the GUI doesn't know,
1062 and in that case the GUI can never have an opinion on the outcome of a
1063 game.)
1064
1065 Illegal-move forfeit
1066 As soon as one of the engines plays an illegal move, it forfeits the
1067 game. This feature was already present, but it should be 100% reliable
1068 now, as it also takes e.p. and castling rights into account, rather
1069 than erring on the safe side.
1070
1071 Illegal-move claim
1072 From the above, it follows that any illegal-move claims by an engine
1073 must be false, and will result in forfeiting the game. (In Winboard_x
1074 this message is ignored, causing the game or match to hang.)
1075
1076 Checkmate adjudication
1077 As soon as one of the engines does a move that results in checkmate,
1078 the GUI declares the game won, without waiting for the engine to claim
1079 it.
1080
1081 Insufficient mating material
1082 As soon as the material on the board has shrunk to KK, KNK or KBK, the
1083 game is declared draw.
1084
1085 /adjudicateLossThreshold=0
1086 This option was already present in Winboard_x, (to declare a game lost
1087 for which both engines agree for 3 moves that the score is below the
1088 given threshold), but a non-zero value is now also used to enable the
1089 following adjudications. If you only want the latter, just make the
1090 threshold impossibly low (-40000 will usually do the trick).
1091
1092 Trivial draws
1093 If we are 3 moves into a KQKQ, KRKR, KBKB KBKN or KNKN end-game, the
1094 game is adjudicated as draw.
1095
1096 /repeatsToDraw=6
1097 When the specified number of repeats occurs, the game is adjudicated
1098 draw. Should keep track of e.p. and castling rights. This does not
1099 require legality-testing to be switched on. The engines retain the
1100 legal right to claim after a 3-fold repetition, though. If you set
1101 this parameter to 3 or less, they will never get the chance. Better
1102 not set it to 1 or less.
1103
1104 /ruleMoves=51
1105 After the given number of full moves without capture or Pawn move, the
1106 game is adjudicated draw. Even without legality testing. The engines
1107 retain the legal right to claim after 50 moves.
1108
1109 /testClaims=FALSE
1110 When enabled, this option verifies all result claims made by the
1111 engines, and overrules the claim if it is false (forfeiting the game
1112 for the claimer). An engine can still safely claim a win for its
1113 opponent on a nonsense reason, though; this is taken to be the
1114 equivalent of 'resign'. Draw claims (made before a draw adjudication)
1115 are checked against the 50-move, 3-fold-repetition or
1116 insufficient-material rules. Win claims are always considered false,
1117 as the GUI adjudicates checkmates (and stalemates) before any engine
1118 can claim them.
1119
1120 Fairy-Chess support
1121
1122 /boardWidth=8
1123 Sets the number of files on the board. The additional files are named
1124 i, j, k, l... in PGN, and should be indicated this way in
1125 communicating moves to and from the engine. Currently works upto
1126 12. No guarantees on how the rest of the display (clocks, etc.) looks
1127 if you make this number < 8.
1128
1129 /boardHeight=8
1130 Sets the number of ranks. Extra ranks are numbered 9, 10, 11... in
1131 PGN. This is so far largely untested, and unlikely to work for
1132 double-digit ranks. Displaying boards with upto 12 ranks seems to
1133 work, though, but double-digit ranks might cause all kind of unforseen
1134 problems in PGN file and move parser, or in communication with the
1135 engine. To avoid such problems as much as possible, in boards with
1136 more than 9 ranks the counting of ranks will start at zero rather than
1137 one!
1138
1139 /fontPieceToCharTable="......."
1140 This paramater, controlling the mapping of font symbols to piece
1141 types, was already present in Winboard_x. The default is dependent on
1142 the font selected with the /renderPiecesWithFont option. It can now
1143 accept upto 32 pieces, but the length should always be even. The first
1144 half designates the white pieces, the second half the black, both in
1145 the order PNBRACHFEWDOGMQK. (The letters mentioned here are the
1146 letters by which the pieces will be indicated in PGN and FEN notation,
1147 what you have to give as argument depends on the font you use. A black
1148 king might be 'l', for instance).  If you give fewer then 32 pieces,
1149 this will go at the expense of what is just before Queen. So the last
1150 two symbols you give for each color are always Queen and King, the
1151 others are assigned in the order Pawn, Knight, ... Pieces that do not
1152 get a symbol assigned will remain invisible.
1153
1154 fairy-FEN support
1155 The letters ACDEFGHMOW are accepted in FENs in addition to the regular
1156 PNBRQK,(and of course the lower case versions for black), and are
1157 passed to the engine in a setboard or edit menu.  Double-digit skips
1158 are acceptable in FENs. 'x' is interpreted as a skip of 10.  Castling
1159 rights should no longer be ignored. (Doesn't work for FRC yet,
1160 though.)  The 50-move-plies field should also be meaningful now.
1161
1162 Legality testing for Fairy pieces
1163 There is a build in notion of what some of the new pieces can do, according to
1164 A = Archbishop (aka Cardinal) = N+B
1165 C = Chancellor (aka Marshall) = N+R
1166 F = Ferz (aka General), moves 1 step diagonal
1167 W = Wazir (aka Grand Vizer), moves 1 step orthogonal
1168 E = Elephant (aka Alfil), jumps 2 steps diagonal
1169 D = Dabbabah (aka War Machine), jumps 2 steps orthogonal
1170 M = Man (aka Commoner), moves as King, but is not a royal piece
1171 O = Cannon, moves along Rook lines, but cannot capture unless it jumps over
1172             exactly one piece (friend or foe), and captures the first piece
1173             it encounters thereafter. It can only jump if it captures something.
1174             The piece jumped over (the 'platform') is not affected.
1175 The other pieces have not yet any moves implemented:
1176 H = Nightrider
1177 G = Grasshopper
1178 In games that use the mentioned pieces as described (Shatranj,
1179 Courier, Capablanca Chess) you can leave legality testing on. If you
1180 use them to represent pieces that move differently, you should switch
1181 legality testing off.
1182
1183 Pawn moves
1184 Pawn motion is made dependent on the variant played: in Shatranj and
1185 Courier the double move is forbidden. In those games promotions are
1186 always to Ferz. In Capablanca Chess the ArchBishop and Chancellor also
1187 appear as choices in the promotion popup box.
1188
1189
1190 /variant="normal"
1191 Several new variants names are added (replacing "variant31" upto
1192 "variant36"). They affect the initial position. (Board size has to be
1193 set separately.) They are: courier (a Medieval predecessor of modern
1194 Chess, played on a 12x8 board) capablanca (on a 10x8 board, featuring
1195 Archbishop and Chancellor) gothic (as Capablanca, but with a more
1196 exciting initial setup) xiangqi (Chinese Chess) shogi (Japanese Chess,
1197 no support yet) fairy (This variant plays on 8x8 with HEW in stead of
1198 NBR on the Queen side, so that all back-rank pieces are (potentially)
1199 different) Make sure the selected board size matches the variant; this
1200 is not automatic
1201
1202 Xiangqi and Shogi support (or lack thereof)
1203 Xiangqi is only partially supported. The board display is
1204 western-style (the pieces play on squares, rather than grid
1205 intersections). The legality testing uses the Shatranj Knight and
1206 Elephant, that cannot be blocked, and thus allows some moves that
1207 should be illegal in Xiangqi. The Palace region is indicated on the
1208 board, but there is no testing if the King or Mandarins (implemented
1209 as ordinary Ferzes) leave the Palace. SAN might be non-standard, as it
1210 uses O to indicate Cannon. Most of this will be fixed in a future
1211 version.  Shogi is not yet supported at all, first the shaky
1212 implementation of Crazyhouse will have to be beefed up.