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