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