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