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