added a dialog for engine-specific option settings
authorH.G. Muller <h.g.muller@hccnet.nl>
Sun, 23 Aug 2009 00:19:11 +0000 (17:19 -0700)
committerArun Persaud <arun@nubati.net>
Sun, 23 Aug 2009 00:19:11 +0000 (17:19 -0700)
winboard/makefile.gcc
winboard/makefile.ms
winboard/winboard.c
winboard/winboard.rc
winboard/winboard.rtf
winboard/wsettings.c [new file with mode: 0644]

index 2e78c0b..8dc4a88 100644 (file)
@@ -7,7 +7,7 @@ PROJ=winboard
 OBJS=backend.o book.o gamelist.o lists.o moves.o pgntags.o uci.o zippy.o\\r
  parser.o wbres.o wclipbrd.o wedittags.o wengineo.o wevalgraph.o\\r
  wgamelist.o whistory.o winboard.o wlayout.o woptions.o wsnap.o\\r
- wsockerr.o help.o\r
+ wsockerr.o help.o settings.o\r
 \r
 \r
 # make compiling less spammy\r
@@ -18,10 +18,6 @@ compile = @echo "$1"; $(CC) $(CFLAGS) $1
 USE_DEBUG=0\r
 \r
 \r
-# JAWS support?\r
-JAWS=0\r
-\r
-\r
 # set this to 1 unless you don't mind linking with cygwin1.dll\r
 USE_MINGW=1\r
 \r
@@ -37,9 +33,7 @@ FLEX = "flex.exe" # we need version 2.5.4 or later, cygwin's is 2.5.35
 #      "c:/mingw/mingw32/bin/flex.exe"\r
 HC="C:/Program Files/Help Workshop/hcrtf" -xn\r
 DEFS = -D_WIN32_IE=0x0300 -DWIN32\r
-ifeq ($(JAWS),1)\r
-  DEFS += -DJAWS\r
-endif\r
+\r
 WARN = -Wall -Wno-char-subscripts -Wno-parentheses\r
 ARCH =\r
 ifeq ($(USE_DEBUG),0)\r
@@ -71,7 +65,7 @@ $(PROJ).hlp : $(PROJ).rtf
 \r
 # Update the resource if necessary\r
 wbres.o: $(PROJ).rc $(PROJ).h resource.h\r
-       windres $(DEFS) --use-temp-file --include-dir .. $< -O coff -o $@\r
+       windres --use-temp-file --include-dir .. $< -O coff -o $@\r
 \r
 \r
 # note: cygwin flex needs m4 package.  cygwin-setup forgets this dependency\r
@@ -163,5 +157,8 @@ book.o: ../book.c ../common.h ../backend.h ../lists.h
 uci.o: ../uci.c ..//common.h ../backend.h ../frontend.h ../lists.h\r
        $(call compile, $<)\r
 \r
+wsettings.o: wsettings.c ..//common.h ../backend.h ../frontend.h ../lists.h\r
+       $(call compile, $<)\r
+\r
 %.o: %.c\r
        $(call compile, $<)\r
index 2e0b953..5c28200 100644 (file)
@@ -3,38 +3,24 @@
 # For MSVC 8 (aka 2005) set VCVER=8.  Beyond that try 8 first.\r
 VCVER=6\r
 \r
-# If using MSVC 6.0 or earlier, you will need the latest platform SDK supported.\r
-# Set SDK_INC to the include directory after you install it.\r
-# See: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm\r
-#SDK_INC="C:\Program Files\Microsoft SDK\include"\r
-\r
 \r
 PROJ = winboard\r
 \r
 \r
-OBJS=backend.obj book.obj gamelist.obj lists.obj moves.obj pgntags.obj uci.obj\\r
- zippy.obj parser.obj wclipbrd.obj wedittags.obj wengineo.obj wevalgraph.obj\\r
- wgamelist.obj whistory.obj winboard.obj wlayout.obj woptions.obj wsnap.obj\\r
- wsockerr.obj help.obj\r
+OBJS=backend.obj book.obj gamelist.obj lists.obj moves.obj pgntags.obj uci.obj zippy.obj\\r
+ parser.obj wclipbrd.obj wedittags.obj wengineo.obj wevalgraph.obj wgamelist.obj\\r
+ whistory.obj winboard.obj wlayout.obj woptions.obj wsnap.obj wsockerr.obj help.obj\r
 \r
 \r
 # Debugging?\r
 USE_DEBUG=0\r
 \r
-\r
-# JAWS support?\r
-JAWS=0\r
-\r
-\r
 CC = @cl\r
 RC = @rc\r
 LINK = link\r
 HC="c:\program files\help workshop\hcrtf.exe" -xn\r
 FLEX = "c:/mingw/mingw32/bin/flex.exe"\r
-DEFS = -D_WIN32_IE=0x300 -DWIN32 -DWINVER=0x0500 -D_WIN32_WINDOWS=0x500\r
-!if $(JAWS) == 1\r
-DEFS = -DJAWS $(DEFS)\r
-!endif\r
+DEFS = -D_WIN32_IE=0x300 -DWIN32 -DWINVER=0x400 -D_WIN32_WINDOWS=0x500\r
 #WARN = -W3\r
 ARCH =\r
 \r
@@ -60,9 +46,6 @@ OPTS = -Od -Zi -Fd$(PROJ).pdb $(LIBF)d
 LFDEBUG = -DEBUG -PDB:$(PROJ).pdb -MAP:$(PROJ).map $(CLIB)d.lib\r
 !endif\r
 CF = $(CFDEBUG) $(DEFS) $(DEPRECATE) -I. -I..\r
-!if DEFINED(SDK_INC)\r
-CF = $(CF) -I$(SDK_INC)\r
-!endif\r
 CFLAGS = -c -nologo $(WARN) $(CF) $(ARCH) $(OPTS)\r
 LFLAGS = -nologo $(LFDEBUG)\r
 \r
@@ -168,6 +151,9 @@ zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \
 uci.obj: ../uci.c ..//common.h ../backend.h ../frontend.h ../lists.h\r
         $(CC) $(CFLAGS) ../uci.c\r
 \r
+wsettings.obj: wsettings.c ..//common.h ../backend.h ../frontend.h ../lists.h\r
+        $(CC) $(CFLAGS) wsettings.c\r
+\r
 \r
 $(PROJ).exe: $(OBJS) $(PROJ).res $(PROJ).hlp\r
     $(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\\r
index fb98336..21d731d 100644 (file)
@@ -856,7 +856,7 @@ InitInstance(HINSTANCE hInstance, int nCmdShow, LPSTR lpCmdLine)
   wp.rcNormalPosition.bottom = boardY + winHeight;\r
   SetWindowPlacement(hwndMain, &wp);\r
 \r
-  SetWindowPos(hwndMain, alwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST,\r
+  if(!appData.noGUI) SetWindowPos(hwndMain, alwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST,\r
                0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);\r
 \r
   if (hwndConsole) {\r
@@ -866,7 +866,7 @@ InitInstance(HINSTANCE hInstance, int nCmdShow, LPSTR lpCmdLine)
 #endif\r
     ShowWindow(hwndConsole, nCmdShow);\r
   }\r
-  UpdateWindow(hwnd);\r
+  if(!appData.noGUI)   UpdateWindow(hwnd);  else ShowWindow(hwnd, SW_MINIMIZE);\r
 \r
   return TRUE;\r
 \r
@@ -6127,6 +6127,14 @@ WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
       EnginePlayOptionsPopup(hwnd);\r
       break;\r
 \r
+    case IDM_Engine1Options:\r
+      EngineOptionsPopup(hwnd, &first);\r
+      break;\r
+\r
+    case IDM_Engine2Options:\r
+      EngineOptionsPopup(hwnd, &second);\r
+      break;\r
+\r
     case IDM_OptionsUCI:\r
       UciOptionsPopup(hwnd);\r
       break;\r
index 3037858..0218d98 100644 (file)
@@ -1,7 +1,6 @@
 //Microsoft Developer Studio generated resource script.\r
 //\r
 #include "resource.h"\r
-#include "config.h"\r
 \r
 #define APSTUDIO_READONLY_SYMBOLS\r
 /////////////////////////////////////////////////////////////////////////////\r
@@ -1142,7 +1141,9 @@ BEGIN
         MENUITEM "&General...",                 IDM_GeneralOptions\r
         MENUITEM "&Board...",                   IDM_BoardOptions\r
         MENUITEM "Adjudications...\tAlt+Shift+J",IDM_EnginePlayOptions\r
-        MENUITEM "Engine Settings...\tAlt+Shift+U",IDM_OptionsUCI\r
+        MENUITEM "Global Settings...\tAlt+Shift+U",IDM_OptionsUCI\r
+        MENUITEM "Engine #1 Settings...",       IDM_Engine1Options\r
+        MENUITEM "Engine #2 Settings...",       IDM_Engine2Options\r
         MENUITEM "&ICS...",                     IDM_IcsOptions, GRAYED\r
         MENUITEM "&Fonts...",                   IDM_Fonts\r
         MENUITEM "Soun&ds...",                  IDM_Sounds\r
index 4531eb9..3e9b86e 100644 (file)
@@ -218,7 +218,7 @@ footer;}{\s66\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cf11\cg
 {\listoverride\listid470094698\listoverridecount0\ls3}{\listoverride\listid1099714113\listoverridecount0\ls4}{\listoverride\listid1358388700\listoverridecount0\ls5}{\listoverride\listid2044863907\listoverridecount0\ls6}{\listoverride\listid640160996\r
 \listoverridecount0\ls7}{\listoverride\listid768165129\listoverridecount0\ls8}{\listoverride\listid903878531\listoverridecount0\ls9}{\listoverride\listid781152802\listoverridecount0\ls10}{\listoverride\listid1240552867\listoverridecount0\ls11}\r
 {\listoverride\listid640160996\listoverridecount0\ls12}{\listoverride\listid349260549\listoverridecount0\ls13}{\listoverride\listid1021513731\listoverridecount0\ls14}{\listoverride\listid1405952460\listoverridecount0\ls15}{\listoverride\listid1332292840\r
-\listoverridecount0\ls16}}{\*\revtbl {Unknown;}{Tim Mann;}}{\info{\title + $ # KWinBoard: Chessboard for Windows}{\author TRIO}{\operator hgm}{\creatim\yr2003\mo10\dy25\hr23\min40}{\revtim\yr2009\mo6\dy22\hr20\min30}{\printim\yr1997\mo4\dy22\hr23\min5}{\version42}{\edmins887}\r
+\listoverridecount0\ls16}}{\*\revtbl {Unknown;}{Tim Mann;}}{\info{\title + $ # KWinBoard: Chessboard for Windows}{\author TRIO}{\operator hgm}{\creatim\yr2003\mo10\dy25\hr23\min40}{\revtim\yr2009\mo8\dy13\hr7\min53}{\printim\yr1997\mo4\dy22\hr23\min5}{\version43}{\edmins888}\r
 {\nofpages78}{\nofwords17967}{\nofchars-32766}{\*\company DEC SRC}{\nofcharsws0}{\vern73}}\margl1417\margr1417\margt1417\margb1417 \r
 \widowctrl\endnotes\aendnotes\hyphhotz425\ftnnrlc\aftnnar\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\viewkind4\viewscale100 \fet1{\*\aftnsep \pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\chftnsep \r
 \r
@@ -231,12 +231,12 @@ footer;}{\s66\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cf11\cg
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \par }\pard\plain \s2\li119\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\f1\cf11 An updated description with the release of version 4.4.0.\r
 \par }\pard \s2\li119\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright {\f1\cf11 \tab \tab \tab \ldblquote For the ultimate WinBoard Experience\rdblquote \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 New features since WinBoard 4.2.7 that are implemented in Allessandro Scotti\rquote s Winboard_x are highlighted in red. }{\f1\cf11 New features in the WinBoard\r
- 4.3.xx series by H.G. Muller are highlighted in green}{\f1\cf2 , that in the unified 4.4 series in blue}{\f1\cf11 .}{\f1 \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 New features since WinBoard 4.2.7 that are implemented in Allessandro Scotti\rquote s Winboard_x are highlighted in red. }{\f1\cf11 \r
+New features in the WinBoard 4.3.xx series by H.G. Muller are highlighted in green}{\f1\cf2 , that in the unified 4.4 series in blue}{\f1\cf11 .}{\f1 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Description}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Description}}}{\f1  Description\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\i\f1 WinBoard}{\f1  is a graphical user interface for chess. It displays a chessboard on the screen, accepts moves made with the\r
- mouse, and loads and saves game files in standard chess notation. WinBoard serves as a front-end for many different services, including:\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\i\f1 WinBoard}{\f1 \r
is a graphical user interface for chess. It displays a chessboard on the screen, accepts moves made with the mouse, and loads and saves game files in standard chess notation. WinBoard serves as a front-end for many different services, including:\r
 \par {\pntext\pard\plain\f3\fs20\lang1033\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \fi-360\li480\sb80\sl-240\slmult0\nowidctlpar\jclisttab\tx480{\*\pn \pnlvlblt\ilvl0\ls3\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls3\adjustright \r
 \f5\fs20\cgrid {\b\i\f1 Chess engines}{\f1  that run on your PC. You can play a game against an engine, set up arbitrary positions, force variations, or watch a game between two engines. }{\i\f1\cf11 Fairy-Max}{\f1  is supplied with WinBoard }{\f1\cf11 \r
 4.3.14}{\f1 , and over 100 other free chess engines are available separately. Of these, Crafty is the most popular. See }{\f1\uldb Installing Chess Engines}{\v\f1 InstallingChessEngines}{\f1  for instructions on installing additional chess engines.\r
@@ -247,19 +247,19 @@ Chess servers}{\b\f1  }{\f1 on the Internet. You can play against other Internet
 The Web}{\f1  and your own saved games. You can use WinBoard as a helper application to view files in your Web browser or the Explorer. You can use it to keep track of email postal games, browse games off the net, or review games you have saved.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super K}{ Getting Started}}\r
 #{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super #}{ GettingStarted}}}{\f1 Getting Started\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 WinBoard starts up in one of three major modes: chess engine mode, ICS client mode, or game viewer mode. You cannot change modes while WinBoard is running, but \r
-you can access all the game viewer features directly from the other two modes. Also, you can start WinBoard several times to get multiple chessboard windows running in any combination of modes.\r
-\par }\pard\plain \s20\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {You will usually run WinBoard by choosing an item from the Win\r
-dows Start menu that runs it in the mode you want. If you just double-click on WinBoard.exe, you get a startup dialog asking which mode you want. If you choose chess engine mode, you can then select from the installed engines; if you choose ICS client mod\r
-e, you can then select from a list of known chess servers. More advanced users can }{\uldb customize}{\v icsNames}{ these lists or type in WinBoard }{\uldb command line options}{\v Options}{ directly.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
+WinBoard starts up in one of three major modes: chess engine mode, ICS client mode, or game viewer mode. You cannot change modes while WinBoard is running, but you can access all the game viewer features directly from the othe\r
+r two modes. Also, you can start WinBoard several times to get multiple chessboard windows running in any combination of modes.\r
+\par }\pard\plain \s20\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {You will usually run WinBoard by choosing an item from the Windows Start menu that runs it in the mode you want. If you just dou\r
+ble-click on WinBoard.exe, you get a startup dialog asking which mode you want. If you choose chess engine mode, you can then select from the installed engines; if you choose ICS client mode, you can then select from a list of known chess servers. More ad\r
+vanced users can }{\uldb customize}{\v icsNames}{ these lists or type in WinBoard }{\uldb command line options}{\v Options}{ directly.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 After starting WinBoard, you can make }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\super K}{\f1  move}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  move}}}{\f1 \r
-moves in several different ways. To move by dragging, press the left mouse button while the cursor is on one of your pieces, move the cursor to another square, and release the button. You can also move by clicking the left mouse button once (press and rel\r
+moves in several different ways. To move by dragging, press the left mouse button while the cursor\r
+ is on one of your pieces, move the cursor to another square, and release the button. You can also move by clicking the left mouse button once (press and release) over one of your pieces, moving the cursor to another square, and clicking again. You drop n\r
 e\r
-ase) over one of your pieces, moving the cursor to another square, and clicking again. You drop new pieces on the board (when applicable) by selecting from a context menu. Press the right mouse button over a square to bring up the menu; no menu will come \r
-u\r
-p in modes where dropping a new piece is not permitted. You can also make moves by typing them in standard algebraic chess notation. Either a dialog box will pop up for you to type into, or in ICS mode, your typing will be redirected into the ICS interact\r
-ion window.\r
+w pieces on the board (when applicable) by selecting from a context menu. Press the right mouse button over a square to bring up the menu; no menu will come up in modes where dropping a new piece is not permitted. You can also make moves by typing them in\r
+ standard algebraic chess notation. Either a dialog box will pop up for you to type into, or in ICS mode, your typing will be redirected into the ICS interaction window.\r
 \par When WinBoard}{\i\f1  }{\f1 is iconized, its }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  icon}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  icon}}}{\f1 icon is a white knight if it is White's turn to move, a black knight if it is Black's turn.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\f1 Additional Information\r
@@ -332,8 +332,8 @@ Event}{\f1  tag, by looking for the strings that the Internet Chess Servers put
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Save Game}\r
 }#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  SaveGame}}}{\f1  Save Game\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-Appends a record of the current game to a file. A popup dialog prompts you for the filename. If the game did not begin with the standard starting position, the game file includes the starting position used. Game files are saved in the PGN (portable game n\r
-otation) format, unless the }{\f1\uldb oldSaveStyle}{\v\f1 oldSaveStyle}{\f1  option is True, in which case they are saved in an older format that is specific to WinBoard}{\i\f1 .}{\f1 \r
+Appends a record of the current game to a file. A popup dialog prompts you for the filename. If the game did not begin with the standard starting position, the game file includes the starting position used. Ga\r
+me files are saved in the PGN (portable game notation) format, unless the }{\f1\uldb oldSaveStyle}{\v\f1 oldSaveStyle}{\f1  option is True, in which case they are saved in an older format that is specific to WinBoard}{\i\f1 .}{\f1 \r
  Both formats are human-readable, and both can be read back by the Load Game command. Notation of the form }{\i\f1 P@f7}{\f1  is generated for piece-drops in bughouse games; this is a nonstandard extension to PGN.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Copy Game To Clipboard}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  CopyGameToClipboard}}}{\f1  Copy Game To Clipboard\r
@@ -344,13 +344,12 @@ otation) format, unless the }{\f1\uldb oldSaveStyle}{\v\f1 oldSaveStyle}{\f1  op
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Load Position}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  LoadPosition}}}{\f1  Load Position\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Sets up a position from a position file. A popup dialog prompts you for the filename. Position files must be in FEN (Forsythe-Edwards notation), or in the format that the }\r
-{\f1\uldb Save Position}{\f1  command writes when }{\f1\uldb oldSaveStyle}{\v\f1 oldSaveStyle}{\f1  is turned on. }{\f1\cf11 Note tha\r
-t many variants require an extension of the original FEN standard. WinBoard tries to be as universal as possible in understanding FENs when different standards are raound, but has to make a choice when writing them. In FRC is uses Shredder-FEN (Haha castl\r
-i\r
-ng notation) , but it understands KQkq as the outermost Rook, so it also reads X-FEN. In Crazyhouse / Bughouse it appends the holdings immediately behind the board info between brackets [], but on input it also understands bFEN (which puts it behind a sla\r
-s\r
-h / as if it were an extra board rank). It uses a tilde ~ behind a piece to indicate it is really a promoted Pawn (like bFEN). In Shogi the holdings are printed like in Crazyhouse, but promoted pieces are represented by a plus sign + before the letter of \r
-the original piece. Letters used for the pieces can be set with the /pieceToCharTable command-line option.}{\f1 \r
+{\f1\uldb Save Position}{\f1  command writes when }{\f1\uldb oldSaveStyle}{\v\f1 oldSaveStyle}{\f1  is turned on. }{\f1\cf11 \r
+Note that many variants require an extension of the original FEN standard. WinBoard tries to be as universal as possible in understanding FENs when different standards ar\r
+e raound, but has to make a choice when writing them. In FRC is uses Shredder-FEN (Haha castling notation) , but it understands KQkq as the outermost Rook, so it also reads X-FEN. In Crazyhouse / Bughouse it appends the holdings immediately behind the boa\r
+r\r
+d info between brackets [], but on input it also understands bFEN (which puts it behind a slash / as if it were an extra board rank). It uses a tilde ~ behind a piece to indicate it is really a promoted Pawn (like bFEN). In Shogi the holdings are printed \r
+like in Crazyhouse, but promoted pieces are represented by a plus sign + before the letter of the original piece. Letters used for the pieces can be set with the /pieceToCharTable command-line option.}{\f1 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Load Next Position}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  LoadNextPosition}}}{\f1  Load Next Position\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Loads the next position from the last position file you loaded.\r
@@ -363,8 +362,8 @@ the original piece. Letters used for the pieces can be set with the /pieceToChar
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Save Position}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  SavePosition}}}{\f1  Save Position\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Appends a diagram of the current position to a file. A popup dialog prompts you for the filename. Positions are saved in FEN (Forsythe-Edwards notation) format, unless the \r
-}{\f1\uldb oldSaveStyle}{\v\f1 oldSaveStyle}{\f1  option is True, in which case they are saved in an older, human-readable format that is specific to WinBoard}{\i\f1 .}{\f1  Both formats can be read back by the Load Positio\r
-n command; however, currently Load Position can load only the first position in a file.\r
+}{\f1\uldb oldSaveStyle}{\v\f1 oldSaveStyle}{\f1  option is True, in which case they are saved in an older, human-readable format that is specific to WinBoard}{\i\f1 .}{\f1 \r
+ Both formats can be read back by the Load Position command; however, currently Load Position can load only the first position in a file.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 Save Diagram}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 Save Diagram}}}{\f1\cf11  Save Diagram\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Writes the current board display as a bitmap file. With this command you can use WinBoard as a diagram generator.\r
@@ -378,8 +377,8 @@ n command; however, currently Load Position can load only the first position in
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Exit}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Exit}}}{\f1  Exit\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Exits from WinBoard.\r
-\par }\pard\plain \s1\li120\sb280\sa120\sl-320\slmult0\nowidctlpar\outlinelevel0\adjustright \b\f5\cgrid {\f1\fs20 \page }{\cs58\f1\fs20\super K{\footnote\ftnalt \pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\b\f1\super K}\r
-{\f1  Mode Menu}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ModeMenu}}${\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
+\par }\pard\plain \s1\li120\sb280\sa120\sl-320\slmult0\nowidctlpar\outlinelevel0\adjustright \b\f5\cgrid {\f1\fs20 \page }{\cs58\f1\fs20\super K{\footnote\ftnalt \pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\r
+\f1  Mode Menu}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ModeMenu}}${\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\super $}{\f1  Mode Menu}}+{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super +}{\f1  main}}}{\f1\fs20  Mode Menu\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Machine White}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  MachineWhite}}}{\f1  Machine White\r
@@ -392,17 +391,18 @@ n command; however, currently Load Position can load only the first position in
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Starts a game between two chess engines.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 Machine Both}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 Machine Both}}}{\f1\cf11  Machine Both\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 A single chess engine plays itself. Ma\r
-inly useful for pseudo-engines, that are in fact communication links to another machine, where you want to observe a game that is being played. (E.g. the gothic-chess.com server). This command is not implemented yet (version 4.3.14).\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
+A single chess engine plays itself. Mainly useful for pseudo-engines, that are in fact communication links to another machine, where you want to observe a game that is being played. (E.g. t\r
+he gothic-chess.com server). This command is not implemented yet (version 4.3.14).\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Analysis Mode}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AnalysisMode}}}{\f1  Analysis Mode\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-In this mode, you can make moves for both sides on the board. After each move, the chess engine will think about possible replies and display its analysis in a separate window. Crafty was the first engine to support this feature, \r
-but by now there are many others that support it as well.\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cf2 From WinBoard 4.4 on this function can also be invoked in \lquote zippy mode\rquote \r
-, i.e. when you are logged on to an ICS with an engine loaded. In that case it is not your own moves that the engine analyzes, b\r
-ut the moves that are played in a game on the ICS that you are observing. You must start observing before you start the analysis mode! See the file zippy.README for how to connect to an ICS and a chess engine running on your local computer at the same tim\r
-e. (Basically this amounts to adding the /zp command-line option in addition to all options you would need for connecting to the ICS, as well as those needed for running the chess engine.)\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 In this mode, you can make moves for both sides on the board. After each move, the chess engine will think about possible rep\r
+lies and display its analysis in a separate window. Crafty was the first engine to support this feature, but by now there are many others that support it as well.\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cf2 From WinBoard 4.4 on this function can also be invoked in \lquote zippy mode\rquote , i.e. when you are log\r
+ged on to an ICS with an engine loaded. In that case it is not your own moves that the engine analyzes, but the moves that are played in a game on the ICS that you are observing. You must start observing before you start the analysis mode! See the file zi\r
+p\r
+py.README for how to connect to an ICS and a chess engine running on your local computer at the same time. (Basically this amounts to adding the /zp command-line option in addition to all options you would need for connecting to the ICS, as well as those \r
+needed for running the chess engine.)\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Analyze File}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AnalyzeFile}}}{\f1  Analyze File\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
@@ -410,43 +410,43 @@ In this mode, you can load a game from a file, and the chess engine will analyze
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  ICS Client\r
 }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ICSClient}}}{\f1  ICS Client\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 This is the normal mode when WinBoard is connected to a chess server. If you have moved into Edit Game or Edit Position mode, you can select this option to get out.\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 When you run WinBoard in ICS mode, it starts up a console window in which you can typ\r
-e commands and receive text responses from the chess server. You can use the standard Windows editing keys to edit your command line before pressing Enter. The console window keeps a history of the last few commands you typed. Press the up-arrow key to go\r
- back to a previous command; press the down-arrow key to go forward again to a later command. Press the right mouse button in the output area for a }{\f1\uldb context menu}{\v\f1 ICSInteractionContextMenu}{\f1 \r
- of editing commands and ICS command shortcuts.\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
+When you run WinBoard in ICS mode, it starts up a console window in which you can type commands and receive text responses from the chess server. You can use the standard Windows editing keys to edit your command line before pressing Enter. The console wi\r
+ndow keeps a history of the last few commands you typed. Press the up-arrow key to go back to a previous command; press the down-arrow key to go forward again to a later command. Press the right mouse button in the output area for a }{\f1\uldb \r
+context menu}{\v\f1 ICSInteractionContextMenu}{\f1  of editing commands and ICS command shortcuts.\r
 \par Some useful ICS commands include }{\b\f1 who}{\f1  to see who is logged on, }{\b\f1 games}{\f1  to see what games are being played, }{\b\f1 match}{\f1  to challenge another player to a game, }{\b\f1 observe}{\f1  to observe an ongoing game, }{\b\f1 \r
 examine}{\f1  or }{\b\f1 smoves}{\f1  to review a recently completed game, and of course }{\b\f1 help}{\f1 . \r
 \par Whenever you ask to observe an ongoing game, review a completed game, or resume an adjourned game, WinBoard retrieves and parses the list of past moves from the ICS, so you can review them with }{\f1\uldb Forward}{\v\f1 Forward}{\f1  and }{\f1\uldb \r
 Backward}{\v\f1 Backward}{\f1  or save them with }{\f1\uldb Save Game}{\v\f1 SaveGame}{\f1 .\r
 \par Some special ICS Client features are activated when you are in }{\b\f1 examine}{\f1  or }{\b\f1 bsetup }{\f1 mode on ICS. See the descriptions of the menu commands }{\f1\uldb Forward}{\v\f1 Forward}{\f1 , }{\f1\uldb Backward}{\v\f1 Backward}{\f1 , }{\r
-\f1\uldb Pause}{\v\f1 Pause}{\f1 , and }{\f1\uldb Stop Examining}{\v\f1 StopExamining}{\f1  below. You can also issue the ICS position-editing\r
- commands with the mouse. Move pieces by dragging with the left mouse button, or by left-clicking once on the starting square and once on the ending square. Press the right mouse button over a square for a context menu that lets you drop a new piece, empt\r
-y\r
- the square, or clear the board. Click on the White or Black clock to set the side to play. You cannot set the side to play or drag pieces to arbitrary squares while examining on ICC, but you can do so in bsetup mode on FICS. You can also make moves by ty\r
-ping them into the ICS window; you may have to do this occasionally if you are playing a chess variant whose rules WinBoard does not understand, such as Fischer Random.\r
-\par If you are playing a bughouse game on the ICS, a list of the offboard pieces that each p\r
-layer holds is shown in the window title bar. To drop an offboard piece, press the right mouse button over an empty square to bring up a context menu. To observe your partner's games, start a second copy of WinBoard, log in as a guest, and use the ICS }{\r
-\b\f1 follow}{\f1  or }{\b\f1 pfollow}{\f1  command in the new window.\r
+\f1\uldb Pause}{\v\f1 Pause}{\f1 , and }{\f1\uldb Stop Examining}{\v\f1 StopExamining}{\f1 \r
+ below. You can also issue the ICS position-editing commands with the mouse. Move pieces by dragging with the left mouse button, or by left-clicking once on the starting square and once on the ending square. Press the righ\r
+t mouse button over a square for a context menu that lets you drop a new piece, empty the square, or clear the board. Click on the White or Black clock to set the side to play. You cannot set the side to play or drag pieces to arbitrary squares while exam\r
+ining on ICC, but you can do so in bsetup mode on FICS. You can also make moves by typing them into the ICS window; you may have to do this occasionally if you are playing a chess variant whose rules WinBoard does not understand, such as Fischer Random.\r
+\r
+\par If \r
+you are playing a bughouse game on the ICS, a list of the offboard pieces that each player holds is shown in the window title bar. To drop an offboard piece, press the right mouse button over an empty square to bring up a context menu. To observe your par\r
+tner's games, start a second copy of WinBoard, log in as a guest, and use the ICS }{\b\f1 follow}{\f1  or }{\b\f1 pfollow}{\f1  command in the new window.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Edit Game}\r
 }#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  EditGame}}}{\f1  Edit Game\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Allows you to make moves for both Black and White, and to change moves after backing up with the }{\f1\uldb Backward}{\v\f1 Backward}{\f1 \r
  command. The clocks do not run, but you can adjust their reading by clicking on them. A left-click subtracts one minute, a right-click adds one minute.\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 In chess engine mode, the chess engine continues to check moves for legality but does not participate i\r
-n the game. You can bring the chess engine back into the game by selecting }{\f1\uldb Machine White}{\v\f1 MachineWhite}{\f1 , }{\f1\uldb Machine Black}{\v\f1 MachineBlack}{\f1 , or }{\f1\uldb Two Machines}{\v\f1 TwoMachines}{\f1 .\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 In chess engine mode, the chess engine continues to check moves for legality but doe\r
+s not participate in the game. You can bring the chess engine back into the game by selecting }{\f1\uldb Machine White}{\v\f1 MachineWhite}{\f1 , }{\f1\uldb Machine Black}{\v\f1 MachineBlack}{\f1 , or }{\f1\uldb Two Machines}{\v\f1 TwoMachines}{\f1 .\r
+\r
 \par In ICS mode, the moves are not sent to the ICS: Edit Game takes WinBoard out of ICS Client mode and lets you edit games locally. If you want to edit a game on ICS in a way that other ICS users can see, use the ICS }{\b\f1 examine}{\f1 \r
  command or start an ICS match against yourself.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Edit Position}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  EditPosition}}}{\f1  Edit Position\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Lets you set up an arbitrary board po\r
-sition. Use the left mouse button to drag pieces to new squares, or to delete a piece by dragging it off the board or dragging an empty square on top of it. To drop a new piece on a square, press the right mouse button over the square. This brings up a me\r
-nu of pieces. Additional menu choices let you empty the square or clear the board. You can set the side to play next by clicking on the White or Black indicator at the top of the screen. }{\f1\cf11 The pop-up menu also contains options to \lquote promote\r
-\rquote  or \lquote demote\rquote  the pie\r
-ce currently in the square. (In variants like Crazyhouse a piece has a different representation when it is a promoted Pawn rater than an original piece.) This allows you to create some of the not-so-common pieces (e.g. a Unicorn is a promoted King, a Comm\r
-oner is a demoted King).}{\f1 \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Lets you set up an\r
+ arbitrary board position. Use the left mouse button to drag pieces to new squares, or to delete a piece by dragging it off the board or dragging an empty square on top of it. To drop a new piece on a square, press the right mouse button over the square. \r
+This brings up a menu of pieces. Additional menu choices let you empty the square or clear the board. You can set the side to play next by clicking on the White or Black indicator at the top of the screen. }{\f1\cf11 \r
+The pop-up menu also contains options to \lquote promote\rquote  or \lquote demote\rquote \r
+ the piece currently in the square. (In variants like Crazyhouse a piece has a different representation when it is a promoted Pawn rater than an original piece.) This allows you to create some of the not-so-common pieces (e.g. a Unicorn is a pro\r
+moted King, a Commoner is a demoted King).}{\f1 \r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Selecting Edit Position causes WinBoard}{\i\f1  }{\f1 to discard all remembered moves in the current game.\r
-\par In ICS mode, change made to the position by Edit Position are not sent to the ICS: Edit Position takes WinBoard out of ICS Client mode and \r
-lets you edit positions locally. If you want to edit positions on ICS in a way that other ICS users can see, use the ICS }{\b\f1 examine}{\f1  command, or start an ICS match against yourself. (See also }{\f1\uldb ICS Client}{\v\f1 ICSClient}{\f1  above.)\r
-\r
+\par In ICS mode, change made to the position by Edit Position are not sent to the ICS: Edit Position takes WinBoard out of ICS Client mode and lets you edit positions locally. If you want to edit positions on ICS in a way that other ICS users can see, use the\r
+ ICS }{\b\f1 examine}{\f1  command, or start an ICS match against yourself. (See also }{\f1\uldb ICS Client}{\v\f1 ICSClient}{\f1  above.)\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 Show Engine Output}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 Show Engine Output}}}{\f1\cf6  Show Engine Output\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cf6 Open a new window dedicated to showing the thinking output of the engine(s), as controlled by \ldblquote Show Thinking\rdblquote .\r
@@ -462,9 +462,9 @@ lets you edit positions locally. If you want to edit positions on ICS in a way t
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cf6 Open a new window dedicated to showing the game currently in progress.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Training}}\r
 #{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Training}}}{\f1  Training\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
-Training mode lets you interactively guess the moves of a game for one of the players. While in Training mode, the navigation buttons are disabled. You guess the next move of the game by playing the move on the board (or using the }{\uldb Type In Move}{\r
-\v\uldb TypeInMove}{ command). If the move played matches the next move of the game, the move is accepted and the opponent\rquote s response is autoplayed.  If the move played is incorrect, an error message is displayed. \r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {Training mode lets you interactively guess the moves of a game for one of the players. While in Training mode, the navigation buttons are disabled. You\r
+ guess the next move of the game by playing the move on the board (or using the }{\uldb Type In Move}{\v\uldb TypeInMove}{ command). If the move played matches the next move of the game, the move is accepted and the opponent\rquote \r
+s response is autoplayed.  If the move played is incorrect, an error message is displayed. \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Edit Tags}\r
 }#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  EditTags}}}{\f1  Edit Tags\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Lets you edit the PGN (portable game notation) tags for the current game. After editing, the tags must still conform to the PGN tag syntax:\r
@@ -473,11 +473,10 @@ Training mode lets you interactively guess the moves of a game for one of the pl
 \par }\pard\plain \s20\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 See the PGN Standard for full details. Here is an example:\r
 \par }\pard\plain \s43\li520\sa60\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs20\cgrid {\f2 \line [Event "Portoroz Interzonal"]\line [Site "Portoroz, Yugoslavia"]\line [Date "1958.08.16"]\line [Round "8"]\line \r
 [White "Robert J. Fischer"]\line [Black "Bent Larsen"]\line [Result "1-0"]\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Any charac\r
-ters that do not match this syntax are silently ignored. Note that the PGN standard requires all games to have at least the seven tags shown above. Any that you omit will be filled in by WinBoard with }{\f2 "?"}{\f1  (unknown value) or }{\f2 "-"}{\f1 \r
- (inapplicable value).\r
-\par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Edi\r
-t Comment}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  EditComment}}}{\f1  Edit Comment\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Any characters that do not match this syntax are silently ignored. Note that the PGN standard requires all games to have at least the seven tags shown above. Any\r
+ that you omit will be filled in by WinBoard with }{\f2 "?"}{\f1  (unknown value) or }{\f2 "-"}{\f1  (inapplicable value).\r
+\par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
+ Edit Comment}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  EditComment}}}{\f1  Edit Comment\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Adds or modifies a comment on the current position. Comments are saved by }{\f1\uldb Save Game}{\v\f1 SaveGame}{\f1  and are displayed by }{\f1\uldb Load Game}{\v\f1 \r
 LoadGame}{\f1 , }{\f1\uldb Forward}{\v\f1 Forward}{\f1 , and }{\f1\uldb Backward}{\v\f1 Backward}{\f1 .\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
@@ -485,14 +484,14 @@ LoadGame}{\f1 , }{\f1\uldb Forward}{\v\f1 Forward}{\f1 , and }{\f1\uldb Backward
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cf11 Allows you to type the name of the human player, which will appear in the PGN header and in the window title.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Pause}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Pause}}}{\f1  Pause\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Pauses updates to the board, and if you are playing against a local chess engine, also pauses your clock.\r
- To continue, select Pause again, and the display will automatically update to the latest position. The }{\b\f1 P}{\f1  (or }{\b\f1 C}{\f1 ) button is equivalent to selecting Pause.\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If you select Pause when you are playing{\*\bkmkstart WHATSelSavT}{\*\bkmkend WHATSelSavT} {\*\bkmkstart fWHATtopic}against{\*\bkmkend fWHATtopic} a chess eng\r
-ine and it is not your move, the chess engine\rquote \r
-s clock will continue to run and it will eventually make a move, at which point both clocks will stop. Since board updates are paused, however, you will not see the move until you exit from Pause mode (or select }{\f1\uldb Forward}{\v\f1 Forward}{\f1 \r
-). This behavior is meant to simulate adjournment with a sealed move.\r
-\par If you select Pause while you are in }{\b\f1 examine}{\f1  mode on ICS, you can step backward and forward in the current history of the examined game without affecting the other examin\r
-ers or observers. Select Pause again to reconnect yourself to the current state of the game on ICS.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
+Pauses updates to the board, and if you are playing against a local chess engine, also pauses your clock. To continue, select Pause again, and the display will automatically update to the latest position. The }{\b\f1 P}{\f1  (or }{\b\f1 C}{\f1 \r
+) button is equivalent to selecting Pause.\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If you select Pause when you are playing{\*\bkmkstart WHATSelSavT}{\*\bkmkend WHATSelSavT} {\*\bkmkstart fWHATtopic}against{\*\bkmkend fWHATtopic}\r
+ a chess engine and it is not your move, the chess engine\rquote s clock will continue to run and it will eventually make a move, at which point both clocks\r
+ will stop. Since board updates are paused, however, you will not see the move until you exit from Pause mode (or select }{\f1\uldb Forward}{\v\f1 Forward}{\f1 ). This behavior is meant to simulate adjournment with a sealed move.\r
+\par If you select Pause while you are in }{\b\f1 examine}{\f1  mode o\r
+n ICS, you can step backward and forward in the current history of the examined game without affecting the other examiners or observers. Select Pause again to reconnect yourself to the current state of the game on ICS.\r
 \par If you select Pause while you are loading a game, the game stops loading. You can load more moves one at a time by selecting }{\f1\uldb Forward}{\v\f1 Forward}{\f1 , or resume automatic loading by selecting Pause again.\r
 \par }\pard\plain \s1\li120\sb280\sa120\sl-320\slmult0\nowidctlpar\outlinelevel0\adjustright \b\f5\cgrid {\f1\fs20 \page }{\cs58\f1\fs20\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super \r
 K}{\f1  Action Menu}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ActionMenu}}${\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \r
@@ -516,12 +515,12 @@ K}{\f1  Action Menu}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmul
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Offers a draw to your opponent, accepts a pending draw offer from your opponent, or claims a draw by repetition or the 50-move rule, as appropriate.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Adjourn}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Adjourn}}}{\f1  Adjourn\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Asks your opponent to agree to adjourning the current gam\r
-e, or agrees to a pending adjournment offer from your opponent. You continue an adjourned ICS game by challenging the same player again with the ICS }{\b\f1 match}{\f1  command.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Asks your opponent to agree to adjourning the current game, or agrees to a pending adjournment offer from your opponent. You continue an adjourne\r
+d ICS game by challenging the same player again with the ICS }{\b\f1 match}{\f1  command.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Abort}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Abort}}}{\f1  Abort\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Asks your opponent to agree to abort the current game, or agrees to\r
- a pending abort offer from your opponent. An aborted ICS game ends immediately without affecting either player's rating.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Asks your opponent to agree to abort the current game, or agrees to a pending abort offer from your opponent. An aborted ICS game ends immediately without \r
+affecting either player's rating.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Resign}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Resign}}}{\f1  Resign\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Resigns the game to your opponent.\r
@@ -545,14 +544,14 @@ e, or agrees to a pending adjournment offer from your opponent. You continue an
 \f5\fs20\cgrid {\cs58\f1\super $}{\f1  Step Menu}}+{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super +}{\f1  main}}}{\f1\fs20  Step Menu\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Type In Move}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  TypeInMove}}}{\f1  Type In Move\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Pops up a dialog box, into which you can type moves in standa\r
-rd algebraic chess notation. (You can also get this dialog box by simply starting to type over the chessboard, except in ICS mode, where such typing is redirected into the ICS interaction window.)\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Pops up a dialog box, into which you can type moves in standard algebraic c\r
+hess notation. (You can also get this dialog box by simply starting to type over the chessboard, except in ICS mode, where such typing is redirected into the ICS interaction window.)\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Backward}}\r
 #{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Backward}}}{\f1  Backward\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Steps backward through a series of remembered moves. The }{\b\f1 <}{\f1  button is equivalent to selecting Backward}{\f1\cf2 , as is turning the mouse wheel towards you}{\r
-\f1 .In most modes, Backward only lets you look back at old positions; it does not retract moves. This is the case if you are playing against\r
- a chess engine, playing or observing a game on the ICS, or loading a game. If you select Backward in any of these situations, you will not be allowed to make a different move. Use }{\f1\uldb Retract Move}{\v\f1 RetractMove}{\f1  or }{\f1\uldb Edit Game}{\r
-\v\f1 EditGame}{\f1  if you want to change past moves.\r
+\f1 .In most modes, Backward only lets you look back at old positions; it does not retract moves. This is the case if you are playing against a chess engin\r
+e, playing or observing a game on the ICS, or loading a game. If you select Backward in any of these situations, you will not be allowed to make a different move. Use }{\f1\uldb Retract Move}{\v\f1 RetractMove}{\f1  or }{\f1\uldb Edit Game}{\v\f1 EditGame\r
+}{\f1  if you want to change past moves.\r
 \par If you are examining a game on the ICS, the behavior of Backward depends on whether WinBoard}{\i\f1  }{\f1 is in }{\f1\uldb Pause}{\v\f1 Pause}{\f1  mode. If Pause mode is off, Backward issues the ICS command}{\b\f1  backward}{\f1 \r
 , which backs up everyone's view of the game and allows you to make a different move. If Pause mode is on, Backward only backs up your local view.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Forward}}#\r
@@ -560,14 +559,14 @@ rd algebraic chess notation. (You can also get this dialog box by simply startin
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Steps forward through a series of remembered moves (undoing the effect of }{\f1\uldb Backward}{\v\f1\uldb Backward}{\f1 ) or through a game file. The }{\b\f1 >}{\f1 \r
  button is equivalent}{\f1\cf2 , as is turning the mouse wheel away from you}{\f1 .\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If you are examining a game on the ICS, the behavior of Forward depends on whether WinBoard}{\i\f1  }{\f1 is in }{\f1\uldb Pause}{\v\f1 Pause}{\f1 \r
- mode. If Pause mode is off, Forward issues the ICS command}{\b\f1  forward}{\f1 , which moves\r
- everyone's view of the game forward along the current line. If Pause mode is on, Forward only moves your local view forward, and it will not go past the position the game was in when you paused.\r
+ mode. If Pause mode is off, Forward issues the ICS command}{\b\f1  forward}{\f1 , which moves everyone's view of t\r
+he game forward along the current line. If Pause mode is on, Forward only moves your local view forward, and it will not go past the position the game was in when you paused.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Back to Start}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  BacktoStart}}}{\f1  Back to Start\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Jumps backward to the first remembered position in the game. The }{\b\f1 << }{\f1 button is equivalent.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-In most modes, Back to Start only lets you look back at old positions; it does not retract moves. This is the case if you are playing against a chess engine, playing or observing \r
-a game on the ICS, or loading a game. If you select Back to Start in any of these situations, you will not be allowed to make a different move. Use }{\f1\uldb Retract Move}{\v\f1 RetractMove}{\f1  or }{\f1\uldb Edit Game}{\v\f1 EditGame}{\f1 \r
+In most modes, Back to Start only lets you look back at old positions; it does not retract moves. This is the case if you are playing against a chess engine, playing or observing a ga\r
+me on the ICS, or loading a game. If you select Back to Start in any of these situations, you will not be allowed to make a different move. Use }{\f1\uldb Retract Move}{\v\f1 RetractMove}{\f1  or }{\f1\uldb Edit Game}{\v\f1 EditGame}{\f1 \r
  if you want to change past moves; or use }{\f1\uldb New Game}{\v\f1 NewGame}{\f1  to start a new game.\r
 \par If you are examining a game on the ICS, the behavior of Back to Start depends on whether WinBoard}{\i\f1  }{\f1 is in }{\f1\uldb Pause}{\v\f1 Pause}{\f1  mode. If Pause mode is off, Backward issues the ICS command }{\b\f1 backward 999999}{\f1 \r
 , which backs up everyone's view of the game to the start and allows you to make different moves. If Pause mode is on, Back to Start only backs up your local view.\r
@@ -575,13 +574,13 @@ a game on the ICS, or loading a game. If you select Back to Start in any of thes
  Forward to End}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ForwardtoEnd}}}{\f1  Forward to End\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Jumps forward to the last position in the game. The }{\b\f1 >>}{\f1  button is equivalent.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If you are examining a game on the ICS, the behavior of Forward to End depends on whether WinBoard}{\i\f1  }{\f1 is in }{\f1\uldb Pause}{\v\f1 Pause}{\f1 \r
- mode. If Pause mode is off, Forward to End issues the ICS command }{\b\f1 forward 999999}{\f1 , which moves everyone's view of the game forward to the end of the current \r
-line. If Pause mode is on, Forward to End only moves your local view forward, and it will not go past the position the game was in when you paused.\r
+ mode. If Pause mode is off, Forward to End issues the ICS command }{\b\f1 forward 999999}{\f1 , which moves everyone's view of the game forward to the end of the current line\r
+. If Pause mode is on, Forward to End only moves your local view forward, and it will not go past the position the game was in when you paused.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Revert}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Revert}}}{\f1  Revert\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If you are examining a game on the ICS, issues the ICS command }{\b\f1 revert}{\f1 .\r
-\par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
- Truncate Game}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  TruncateGame}}}{\f1  Truncate Game\r
+\par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Truncate G\r
+ame}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  TruncateGame}}}{\f1  Truncate Game\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Discards all remembered moves of the game beyond the current position. Puts WinBoard into }{\f1\uldb Edit Game}{\v\f1 EditGame}{\f1  mode if it was not there already.\r
 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Move Now}}\r
@@ -604,35 +603,33 @@ If you are playing a game on the ICS, the board is always oriented at the start
 flipViewOption}{\f1  command line option.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\ul\cf11 Swap Clocks}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\ul\cf11 Swap Clocks}}}{\f1\cf11  }{\f1\ul\cf11 Swap Clocks}{\f1\cf11 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
-Interchanges the position of the white and black clocks on the screen. Intended for manually-operated computer-computer games, where the monitor is standing to the side of the playing board, to make sure that the operator sees the time of his own machine \r
-on his side of the table. Note that it is possible to adjust the clocks in steps of one minute, by left- (decrement) or right-clicking (increment) it with the mouse in \ldblquote Edit Game\rdblquote \r
- mode. (Clicking the clocks in other modes is interpreted as claiming the flag.)\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Interchanges the position of the white and black clocks on the screen. Intended for manually-operated computer-computer games, where the monitor is standing to t\r
+he side of the playing board, to make sure that the operator sees the time of his own machine on his side of the table. Note that it is possible to adjust the clocks in steps of one minute, by left- (decrement) or right-clicking (increment) it with the mo\r
+use in \ldblquote Edit Game\rdblquote  mode. (Clicking the clocks in other modes is interpreted as claiming the flag.)\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\ul\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super K}{\r
  General Options}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super #}{ GeneralOptions}}}{\f1\ul General}{\f1 \r
 \par }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Always On Top}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \r
 \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AlwaysOnTop}}}{\f1  Always On Top\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is on, WinBoard sets its chessboard to be a }{\i\f1 topmost}{\f1  window, meaning that it always appears on top of all ordinary windows on the screen.\r
-\par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Always\r
- Queen}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AlwaysQueen}}}{\f1  Always Queen\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If Always Queen is off, WinBoard brings up a dialog box whenever you move a pawn to the last rank, asking what piece you want to promote it to. If the option is on, your pawns are always promoted to queens. Your opponent can still underpromote, however.\r
-\r
+\par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
+ Always Queen}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AlwaysQueen}}}{\f1  Always Queen\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Always Queen is off, WinBoard brings up a dialog box whenever you move a pawn to the last rank, asking what piece you want\r
+ to promote it to. If the option is on, your pawns are always promoted to queens. Your opponent can still underpromote, however.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Animate Dragging}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AnimateDragging}}}{\f1  Animate Dragging\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If Animate Dragging is on while you are dragging a piece with the mouse, an image of the piece follows the mouse cursor. If Animate Dragging is off, there is no visual feedback while you are\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Animate Dragging is on while\r
+ you are dragging a piece with the mouse, an image of the piece follows the mouse cursor. If Animate Dragging is off, there is no visual feedback while you are\r
 \par dragging a piece, but if Animate Moving is on, the move will be animated when it is complete.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Animate Moving}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AnimateMoving}}}{\f1  Animate Moving\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Animate Moving is on, all piece moves are animated.  An image of the piece is shown moving from the old square to the \r
-new square when the move is completed (unless the move was already animated by Animate Dragging). If Animate Moving is off, a moved piece instantly disappears from its old square and reappears on its new square when the move is complete.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
+If Animate Moving is on, all piece moves are animated.  An image of the piece is shown moving from the old square to the new square when the move is completed (unless the move was already animated by Animate\r
+ Dragging). If Animate Moving is off, a moved piece instantly disappears from its old square and reappears on its new square when the move is complete.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Auto Flag}\r
 }#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AutoflagCmd}}}{\f1  Auto Flag\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If this option is on and one player runs out of time before the other, WinBoard will automatically call his flag, claiming a win on time. In ICS mode, Auto Flag will only call your opponent's flag, not yours, and the ICS may award you \r
-a draw instead of a win if you have insufficient mating material. On most chess servers, you can now do}{\b\f1  set autoflag 1 }{\f1 \r
-instead and have the server call the flag. In local chess engine mode, WinBoard may call either player's flag and will not take material into account.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is on and one player runs out of time before the o\r
+ther, WinBoard will automatically call his flag, claiming a win on time. In ICS mode, Auto Flag will only call your opponent's flag, not yours, and the ICS may award you a draw instead of a win if you have insufficient mating material. On most chess serve\r
+rs, you can now do}{\b\f1  set autoflag 1 }{\f1 instead and have the server call the flag. In local chess engine mode, WinBoard may call either player's flag and will not take material into account.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\b\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super K}{ Auto Flip View}}#{\footnote\ftnalt \r
 \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super #}{ AutoFlipView}}}{\b  Auto Flip View\r
 \par }{If this option is on when you}{\f1  start a game, the board will be automatically oriented so that your pawns move from the bottom of the window towards the top.}{\r
@@ -641,17 +638,17 @@ instead and have the server call the flag. In local chess engine mode, WinBoard
 \par }{If this}{\v autoFlipViewOption}{ option is on, whenever a new game begins, the chessboard window will be deiconized (if necessary) and raised to the top of the stack of windows on your screen.\r
 \par }\pard\plain \s2\li120\sb80\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super K}{ Blindfold}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super #}{ BlindfoldCmd}}}{Blindfold\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {If Blindfol\r
-d is on, WinBoard displays a blank board. Moves can still be entered with the mouse, either by dragging the (invisible) piece or clicking the starting and ending square. You can also enter your move by typing it on the keyboard}{\f1 .}{\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {If Blindfold is on, WinBoard displays a blank board. Moves can still be entered with the mouse, e\r
+ither by dragging the (invisible) piece or clicking the starting and ending square. You can also enter your move by typing it on the keyboard}{\f1 .}{\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Highlight Dragging}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  HighlightDragging}}}{\f1  Highlight Dragging\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If Highlight Dragging is on while you are dragging a piece with the mouse, the starting square and the square that the mouse cursor is over are highlighted. This option works even if Animate Dragging is off.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Highlight Dragging is on while you are dragging\r
+ a piece with the mouse, the starting square and the square that the mouse cursor is over are highlighted. This option works even if Animate Dragging is off.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 Extended PGN Info}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 ExtendedPGNInfo}}}{\f1\cf6  Extended PGN Info\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 \r
-The PGN will contain the engine search depth, score and time for each move where the depth is non-zero, as a comment behind the move if this option is on. Works only when \ldblquote Show Thinking\rdblquote  is enabled. The rec\r
-orded time is the time reported by the engine.\r
+The PGN will contain the engine search depth, score and time for each move where the depth is non-zero, as a comment behind the move if this option is on. Works only when \ldblquote Show Thinking\rdblquote \r
+ is enabled. The recorded time is the time reported by the engine.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 Extra Info In Move History}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 ExtraInfoInMoveHistory}}}{\f1\cf6  Extra Info In Move History\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 Same as above, but in move-history window. \r
@@ -661,9 +658,8 @@ orded time is the time reported by the engine.
  or }{\f1\uldb Back to Start}{\v\f1 BackToStart}{\f1 , the starting and ending squares of the last move to be }{\i\f1 unmade}{\f1  are highlighted.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Periodic Updates}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  PeriodicUpdatesCmd}}}{\f1  Periodic Updates\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If Periodic Updates is on, the Analysis window is updated every two seconds. If not, it is updated only when the best move found changes. The Analysis window currently works only with Crafty, and Periodic Updates may not work with all versions of Crafty.\r
-\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Per\r
+iodic Updates is on, the Analysis window is updated every two seconds. If not, it is updated only when the best move found changes. The Analysis window currently works only with Crafty, and Periodic Updates may not work with all versions of Crafty.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\pnrnot1\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\revised\super\revauth1\revdttm-1506646559 K}{\f1\revised\revauth1\revdttm-1506646559  Ponder Next Move}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\pnrnot1\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\revised\super\revauth1\revdttm-1506646559 #}{\f1\revised\revauth1\revdttm-1506646559  PonderNextMoveCmd}}}{\f1  Ponder Next Move\r
@@ -675,9 +671,9 @@ If this option is on, when WinBoard wants to display a message just before exiti
 \f1\uldb debugMode}{\v\f1 debugMode}{\f1  is on, however, the message will appear in the debug log.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Popup Move Errors}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  PopupMoveErrorsCmd}}}{\f1  Popup Move Errors\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If this option is off, when you make an error in moving (such as attempting an illegal move or moving the wrong color piece), the error message is displayed in the message area. If the option is on, move errors are displayed in small popup windows like ot\r
-her errors. You can dismiss an error popup either by clicking its OK button or by clicking anywhere on the board, including downclicking to start a move.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is off, when you make an error in moving (such as attempting an illegal move or mo\r
+ving the wrong color piece), the error message is displayed in the message area. If the option is on, move errors are displayed in small popup windows like other errors. You can dismiss an error popup either by clicking its OK button or by clicking anywhe\r
+re on the board, including downclicking to start a move.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Show Button Bar}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ShowButtonBarCmd}}}{\f1  Show Button Bar\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Show Button Bar is on, WinBoard displays on-screen }{\f1\uldb buttons}{\v\f1 BUTTONS}{\f1 \r
@@ -688,16 +684,16 @@ her errors. You can dismiss an error popup either by clicking its OK button or b
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Show Thinking}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ShowThinkingCmd}}}{\f1  Show Thinking\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is set, WinBoard displays the chess engine\rquote \r
-s current search depth and its notion of the score and best line of play from the current position as it is thinking.\r
- The score indicates how many pawns ahead (or if negative, behind) the engine thinks it is. In matches between two machines, the score is prefixed by W or B to indicate whether it is showing White's thinking or Black's.\r
+s current search depth and its notion of the score and best line of play from the current position as it is thinking. The score indicates \r
+how many pawns ahead (or if negative, behind) the engine thinks it is. In matches between two machines, the score is prefixed by W or B to indicate whether it is showing White's thinking or Black's.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Test Legality}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  TestLegalityCmd}}}{\f1  Test Legality\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If Test Legality is on, WinBoard tests whether the moves you enter with the mouse or read from game files are legal, and displays an error if they are not. Turn this option off if you are playing a chess variant that WinBoard does not unders\r
-tand. (Bughouse, suicide, and wild variants where the king may castle after starting on the }{\b\f1 d}{\f1  file are generally supported with Test Legality on. }{\f1\cf11 \r
-The same holds for variants with non-FIDE pieces, like shatranj, xangqi, shogi, gothic, capablanca, courier, k\r
-nightmate: WinBoard knows how all pieces occurring in those variants move. Falcon, cylinder and berolina are only partly supported, though, and the latter two should definitely be played with legality testing off, and falcon uses a wildcard piece for the \r
-Falcons, so it considers any move of them legal, but might miss checkmates that involve a Falcon. So you should not play it with claim verification switched on.}{\f1 )\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Tes\r
+t Legality is on, WinBoard tests whether the moves you enter with the mouse or read from game files are legal, and displays an error if they are not. Turn this option off if you are playing a chess variant that WinBoard does not understand. (Bughouse, sui\r
+cide, and wild variants where the king may castle after starting on the }{\b\f1 d}{\f1  file are generally supported with Test Legality on. }{\f1\cf11 \r
+The same holds for variants with non-FIDE pieces, like shatranj, xangqi, shogi, gothic, capablanca, courier, knightmate: WinBoard k\r
+nows how all pieces occurring in those variants move. Falcon, cylinder and berolina are only partly supported, though, and the latter two should definitely be played with legality testing off, and falcon uses a wildcard piece for the Falcons, so it consid\r
+ers any move of them legal, but might miss checkmates that involve a Falcon. So you should not play it with claim verification switched on.}{\f1 )\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 Hide Thinking From Human}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 HideThinkingFromHuman}}}{\f1\cf6  Hide Thinking From Human\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 An alternative to suppressing the Thinking Output in the display above the board by switching \ldblquote Show Thinking\rdblquote \r
@@ -721,13 +717,12 @@ bishop, Chancellor and the wildcard Lance exist in all sizes from Petite to Bulk
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Lets you change the colors WinBoard is using to draw the board and pieces.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 All White}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 AllWhite}}}{\f1\cf11  All White\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
-Uses the representation of the white pieces (a filled-in black outline) also for the black pieces (where you can fill them with another color to distinguish them). If you do not cho\r
-ose a very dark color for the black pieces, they look very ugly without outline, and using this option can fix that.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Uses the representation of the white pieces (a filled-in black outline) also for the black pieces (where you can fill them with another color to \r
+distinguish them). If you do not choose a very dark color for the black pieces, they look very ugly without outline, and using this option can fix that.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 Flip Black}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 FlipBlack}}}{\f1\cf11  Flip Black\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Displays the black pieces upside down (or the white pieces in \ldblquote Flip View\rdblquote ). This is useful in Shogi,\r
- when you want to use the traditional Japanese representation of the pieces.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Displays the black pieces upside down (or the white pieces in \ldblquote Flip View\rdblquote \r
+). This is useful in Shogi, when you want to use the traditional Japanese representation of the pieces.\r
 \par }\pard\plain \s5\li115\sb80\sl-240\slmult0\nowidctlpar\outlinelevel4\adjustright \f5\fs20\ul\cgrid {\b \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\ul\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super K}{ }{\r
 \f1\ul\cf6 Adjudications}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super #}{ }{\f1\ul\cf6 Adjudications}}}{\f1\ul\cf6 Adjudications\r
@@ -741,8 +736,8 @@ ose a very dark color for the black pieces, they look very ugly without outline,
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 Adjudicate Draw Moves}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 AdjudicateDrawMoves}}}{\f1\cf6  Adjudicate Draw Moves\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 \r
-Adjudicate a draw after the given number of moves, to prevent games from dragging on forever if two engines in a dead-drawn position, conspire to avoid 50-move draws. This and the folowing options are only active in \ldblquote Two Machines\rdblquote \r
- mode.\r
+Adjudicate a draw after the given number of moves, to prevent games from dragging on forever if two engines in a dead-drawn position, conspire to avoid 50-move draws. This and the folowing options are only active in \ldblquote Two Machines\rdblquote  m\r
+ode.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 Adjudicate Loss Threshold}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 AdjudicateLossThreshold}}}{\f1\cf6  Adjudicate Loss Threshold\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 Adjudicate the game as a loss when both engines agree that the (negative) score is  below the given threshold for the duration of 6 consecutive plies.\r
@@ -752,34 +747,34 @@ Adjudicate a draw after the given number of moves, to prevent games from draggin
 Test Legality\rdblquote  to be on in order to work.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 Detect Mates}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 DetectMates}}}{\f1\cf11  Detect Mates\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Let WinB\r
-oard detect checkmate and stalemate, even before the engine gets the chance to claim it. Useful with buggy engines, that exit without a claim, or just hang. Needs \ldblquote Test Legality\rdblquote  to be on in order to work.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
+Let WinBoard detect checkmate and stalemate, even before the engine gets the chance to claim it. Useful with buggy engines, that exit without a claim, or just hang. Needs \ldblquote Test Legality\rdblquote  to be on in order to work.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 Draw If Insufficient Material}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 DrawIfInsufficientMaterial}}}{\f1\cf11  Draw If Insufficient Material\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
 If this option is on, WinBoard will recognize KBKB positions with equally colored Bishops, KBK, KNK, and KK positions as draws, even before the engine can claim them. Needs \ldblquote Test Legality\rdblquote  to be on in order to work.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 Adjudicate Trivial Draws}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 AdjudicateTrivialDraws}}}{\f1\cf11  Adjudicate Trivial Draws\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 If this option is on, KBKB (with B on unlike color), KBKN, KNKN, KNNK, KRKR and KQKQ positions will be adjudicated \r
-draw after 6 ply. For KQKQ this is not really sound, and in the future it might be taken out of this option. But as long as tablebase adjudications are not implemented, it seems best to group this end-game with the trivial draws. Needs \ldblquote \r
-Test Legality\rdblquote  to be on in order to work.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 If this option is on, KBKB (with B on unlike color), KBKN, KNKN, KNNK, KRKR and KQKQ positions will be adjudicated draw after 6 ply. For KQKQ this i\r
+s not really sound, and in the future it might be taken out of this option. But as long as tablebase adjudications are not implemented, it seems best to group this end-game with the trivial draws. Needs \ldblquote Test Legality\rdblquote \r
+ to be on in order to work.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 N-Move Rule}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 N-MoveRule}}}{\f1\cf11  N-Move Rule\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Here you can set the number of reversible moves (non-pawn, non-capture) after which WinBoard should adjudicate a g\r
-ame as draw. Engine draw claims are always consider ed valid after 50 moves (in the context of \ldblquote Verify Claims\rdblquote \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
+Here you can set the number of reversible moves (non-pawn, non-capture) after which WinBoard should adjudicate a game as draw. Engine draw claims are always consider ed valid after 50 moves (in the context of \ldblquote Verify Claims\rdblquote \r
 ), but you can set a different value here to either give the engine more leeway if it wants to play on, or test its claiming capabilities, or set it to a smaller value if you are impatient.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 N-Fold Repetition Rule}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 N-FoldRepetitionRule}}}{\f1\cf11  N-Fold Repetition Rule\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Here you can set the number of repetitions of the same position that should occur in order for WinBoard to adjudicate the game as draw. En\r
-gine draw claims are always consider ed valid after 3 repetitions (in the context of \ldblquote Verify Claims\rdblquote \r
-) , but you can set a different value here to either give the engine more leeway if it wants to play on, or test its claiming capabilities, or set it to 2 if you are impatient. (Do not set it to 1!)\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
+Here you can set the number of repetitions of the same position that should occur in order for WinBoard to adjudicate the game as draw. Engine draw claims are always consider ed valid after 3 repetitions (in the context of \ldblquote Verify Claims\r
+\rdblquote ) , but you can set a different value here to either give the engine more leeway if it wants to play on, or test its claiming capabilities, or set it to 2 if you are impatient. (Do not set it to 1!)\r
 \par }\pard\plain \s5\li115\sb80\sl-240\slmult0\nowidctlpar\outlinelevel4\adjustright \f5\fs20\ul\cgrid {\b \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\ul\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super K}{ }{\r
 \f1\ul\cf6 Engine Settings}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super #}{ }{\f1\ul\cf6 Engine Settings}}}{\f1\ul\cf6 Engine Settings\r
 \par }{\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 Polyglot Directory}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 PolyglotDirectory}}}{\f1\cf6  Polyglot Directory\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 If WinBoard knows where to find Polyglot, you can install UCI engines as if they were WinBoard \r
-engines, and WinBoard will automatically invoke Polyglot as an adapter to run them.\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 \r
+If WinBoard knows where to find Polyglot, you can install UCI engines as if they were WinBoard engines, and WinBoard will automatically invoke Polyglot as an adapter to run them.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 Hash Size}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 HashSize}}}{\f1\cf6  Hash Size, }{\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \r
 \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 EGTB Path}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 \r
@@ -788,41 +783,40 @@ EGTBPath}}}{\f1\cf6  EGTB Path, }{\cs58\f1\cf6\super K{\footnote\ftnalt \pard\pl
 \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 Opening Book}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 OpeningBook}}}{\f1\cf6  Opening Book, }{\r
 \cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 Number of CPUs}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 Number of CPUs}}}{\f1\cf6  Number of CPUs\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 These are options that UCI engines expect to be specified. }{\f1\cf2 WinBoard protocol now also allows \r
-native WinBoard engines to request similar information, so it might be used for these engines as well. The memory size specified by the WinBoard-protocol \lquote memory\rquote \r
- command is the sum of the hash and EGTB cache sizes. The specified opening book, when enabled through the \lquote Use Book\rquote \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 These are options that UCI engines expect to be specified. }{\f1\cf2 \r
+WinBoard protocol now also allows native WinBoard engines to request similar information, so it might be used for these engines as well. The memory size specified by the WinBoard-protocol \lquote memory\rquote  \r
+command is the sum of the hash and EGTB cache sizes. The specified opening book, when enabled through the \lquote Use Book\rquote \r
  check box, will be used as GUI book for engines that do not have their own book (as indicated by the check boxes). It must be a book in Polyglot format.}{\f1\cf6 \r
 \par }\pard\plain \s5\li115\sb80\sl-240\slmult0\nowidctlpar\outlinelevel4\adjustright \f5\fs20\ul\cgrid {\b \r
 \par }{\cs58\b\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super K}{ ICS Options}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\super #}{ ICSOptions}}}{\b ICS\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Auto Comment}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AutoCommentCmd}}}{\f1  Auto Comment\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If Auto Comment is on, any remarks made on ICS while you are observing or playing a game are recorded as a comment on the current move. This includes remarks made with the ICS commands }{\b\f1 say, tell, whisper, }{\f1 and }{\b\f1 kibitz}{\f1 \r
-. Limitation: remarks that you type yourself are not \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Auto Comment is on, any remarks made on ICS while you are observing or playing a game are recorded as a comment on the current move.\r
+ This includes remarks made with the ICS commands }{\b\f1 say, tell, whisper, }{\f1 and }{\b\f1 kibitz}{\f1 . Limitation: remarks that you type yourself are not \r
 \par recognized; WinBoard scans only the output from ICS, not the input you type to it.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Auto Observe}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  AutobsCmd}}}{\f1  Auto Observe\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Auto Observe is on and you add a player to your }{\b\f1 gnotify}{\f1  list on ICS, WinBoard will automatically observe all of\r
- that player's games, unless you are doing something else (such as observing or playing a game of your own) when one starts. On most chess servers, you can now do }{\b\f1 follow }{\b\i\f1 player}{\f1 \r
- instead, and the server will automatically observe all of }{\b\i\f1 player\rquote s}{\f1  games.\r
-\par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Ge\r
-t Move List}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  GetMoveListCmd}}}{\f1  Get Move List\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Get Move List is on, whenever WinBoard}{\i\f1  }{\f1 \r
-receives the first board of a new ICS game (or a different ICS game from the one it is currently displaying), it retrieves the list of past moves from the server. You ca\r
-n then review the moves with the Forward and Backward commands or save them with Save Game. You might want to turn off this option if you are observing several blitz games at once, to keep from wasting time and network bandwidth fetching the move lists ov\r
-er and over. If you turn this option on while a game is in progress, WinBoard}{\i\f1  }{\f1 immediately fetches the current move list.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Auto Observe is on and you add a player to your }{\b\f1 gnotify}{\f1 \r
+ list on ICS, WinBoard will automatically observe all of that player's games, unless you are doing something else (such as observing or playing a game of your own) when one starts. On most chess servers, you can now do }{\b\f1 follow }{\b\i\f1 player}{\r
+\f1  instead, and the server will automatically observe all of }{\b\i\f1 player\rquote s}{\f1  games.\r
+\par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
+ Get Move List}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  GetMoveListCmd}}}{\f1  Get Move List\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Get Move List is on, whenever WinBoard}{\i\f1  }{\f1 receives the first board of a new ICS game (or a di\r
+fferent ICS game from the one it is currently displaying), it retrieves the list of past moves from the server. You can then review the moves with the Forward and Backward commands or save them with Save Game. You might want to turn off this option if you\r
+ are observing several blitz games at once, to keep from wasting time and network bandwidth fetching the move lists over and over. If you turn this option on while a game is in progress, WinBoard}{\i\f1  }{\f1 immediately fetches the current move list.\r
+\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  Local Line Editing}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  LocalLineEditing}}}{\f1  Local Line Editing\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Local Line Editing is }{\b\f1 on}{\f1 , your machine handles echoing, backspacing, et\r
-c., for the characters that you type into the ICS Interaction window. Output is forwarded to the ICS only when you hit Enter.The Enter key produces a newline character, also known as Ctrl+J, \\\r
-n, LF, linefeed, or decimal ASCII code 10. In this mode you can force a control character into the edit buffer by preceding it with Ctrl+Q (\ldblquote quote\rdblquote \r
-); however, the edit buffer will not accept certain control characters even when they are quoted in this way. You can force a control character to be sent immediately to ICS, bypassing the edit buffer, by preceding it with Ctrl+S (\ldblquote send\r
-\rdblquote ).\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-WinBoard keeps a history of lines you recently typed in Local Line Editing mode. You can bring back old lines by pressing the cursor up key in the text entry box. Press the cursor down key to go back down to newer lines.\r
-\par If Local Line Editing is }{\b\f1 off}{\f1 , all characters are sent to ICS as you type them. The Enter key produces a carriage return character, also known as Ctrl+M, \\r, CR, or decimal ASCII code 13. Use Ctrl+Backspace if you need the AS\r
-CII DEL character. You can enter any character code by holding down the Alt key and typing its decimal value (always beginning with 0) on the numeric keypad; this is a little-known standard feature of Windows.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If Local Line Editing is }{\b\f1 on}{\f1 \r
+, your machine handles echoing, backspacing, etc., for the characters that you type into the ICS Interaction window. Output is forwarded to the ICS only when you hit Enter.The Enter key produces a newline character, also known as Ctrl+J, \\\r
+n, LF, linefeed, or decimal ASCII code 10. In this mode you can force a control character into the edit buffer by preceding it with Ctrl+Q (\ldblquote quote\rdblquote ); however, the edit buffer will not accept certain con\r
+trol characters even when they are quoted in this way. You can force a control character to be sent immediately to ICS, bypassing the edit buffer, by preceding it with Ctrl+S (\ldblquote send\rdblquote ).\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 WinBoard keeps a history of lines you recently typed in Local Line Edit\r
+ing mode. You can bring back old lines by pressing the cursor up key in the text entry box. Press the cursor down key to go back down to newer lines.\r
+\par If Local Line Editing is }{\b\f1 off}{\f1 , all characters are sent to ICS as you type them. The Enter key produces a carriage return character, also known as Ctrl+M, \\\r
+r, CR, or decimal ASCII code 13. Use Ctrl+Backspace if you need the ASCII DEL character. You can enter any character code by holding down the Alt key and typing its decimal value (always beginning with 0) on \r
+the numeric keypad; this is a little-known standard feature of Windows.\r
 \par In both modes, if WinBoard}{\i\f1 \rquote s }{\f1 internal telnet protocol implementation is active, it translates all \\n characters to the standard telnet end-of-line sequence \\r\\n just before sending them out to ICS; see }{\f1\uldb telnetProgram}{\r
 \v\f1 telnetProgram}{\f1 .\r
 \par It is generally not a good idea to turn off this option while connected to ICS. If you are tempted to do so because everything you type is being echoed an extra time, see the paragraph about extra echoes under }{\f1\uldb LIMITATIONS}{\v\f1 LIMITATIONS}{\r
@@ -843,13 +837,13 @@ premoveBlackText}{.
  seconds.  For ICS games with time controls that include an increment, the alarm will sound each time the clock counts down to the }{\uldb icsAlarmTime}{\v icsAlarmTime}{.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  ICS Interaction Colors}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ICSInteractionColors}}}{\f1  ICS Interaction Colors\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Lets you change the colors and type styles that WinBoard uses t\r
-o distinguish between different types of messages in the ICS Interaction window. The types distinguished are: shout, sshout, channel 1 tell, other channel tell, kibitz (or whisper), personal tell (or new message notification), challenge, request (includin\r
-g abort, adjourn, draw, pause, and takeback), seek, and normal (all other messages).\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
+Lets you change the colors and type styles that WinBoard uses to distinguish between different types of messages in the ICS Interaction window. The types distinguished are: shout, sshout, channel 1 tell, other channel tell, kibitz (or whi\r
+sper), personal tell (or new message notification), challenge, request (including abort, adjourn, draw, pause, and takeback), seek, and normal (all other messages).\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Fonts}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Fonts}}}{\f1  }{\f1\ul Fonts}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Lets you change the fonts WinBoard is using.  The clock font, message font and coordinates font are specific to each board size.  The tags font, co\r
-mments font and ICS Interaction font are not dependent on the current size of the board.  The \ldblquote Revert to Defaults\rdblquote \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Lets you change the fonts WinBoard is using.  The clock font, mess\r
+age font and coordinates font are specific to each board size.  The tags font, comments font and ICS Interaction font are not dependent on the current size of the board.  The \ldblquote Revert to Defaults\rdblquote \r
  button will reset the clock font, message font and coordinates font for the current board size, and will set the tags font, message font and Ics Interaction font for all board sizes.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Sounds}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Sounds}}}{\f1  }{\f1\ul Sounds}{\f1 \r
@@ -1002,12 +996,12 @@ Save Settings on Exit}{\v\f1 SaveSettingsOnExit}{\f1 , so most people will not n
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Most options have two names, a long one that is easy to read and a short one that is easy to type. To turn on a boolean (true/false) option }{\i\f1 opt}{\f1 \r
 , you can just give its short name preceded by a minus sign or slash (-}{\i\f1 opt}{\f1  or /}{\i\f1 opt}{\f1 ); to turn one off, prefix the short name by an \ldblquote x\rdblquote  or an extra minus sign (-x}{\i\f1 opt}{\f1  or /-}{\i\f1 opt}{\f1 \r
 ). To set any other kind of option, or to set a boolean option using its long name, give the value after the name, separated by a space, colon, or equal sign. (-}{\i\f1 opt}{\f1  23 or /}{\i\f1 option}{\f1 \r
-:true). If a string option contains spaces or special characters, enclose it in double quotes and use the \\ quoting convention of C to name the special characters. Alternatively, you can enclose a string value in curly braces (/opt=\{string\}), a\r
-s long as the value does not contain a closing curly brace. If a filename option contains spaces, enclose it in either single or double quotes. In filename options, the \\\r
+:true). If a string option contains spaces or special characters, enclose it in double quotes and use the \\ quoting convention of C to name the special characters. Alternatively, you can enclose a string value in curly braces (/opt=\{string\}\r
+), as long as the value does not contain a closing curly brace. If a filename option contains spaces, enclose it in either single or double quotes. In filename options, the \\\r
  character is not treated specially, so use single quotes around the outside of the value if it has double quotes inside (and vice versa).\r
-\par When you start WinBoard, it will pop up the Startup dialog box unless you provide sufficient options on the command line for WinBoard to determine which major mode to be in and what engines to use or che\r
-ss server to connect to. To bypass this box, you must at minimum give one of the three options }{\f1\uldb /cp}{\v\f1 cp}{\f1 , /}{\f1\uldb ics}{\v\f1 ics}{\f1 , or /}{\f1\uldb ncp}{\v\f1 ncp}{\f1 .  If you give the /cp option, you must also give the /}{\r
-\f1\uldb fcp}{\v\f1 fcp}{\f1  and /}{\f1\uldb scp}{\v\f1 scp}{\f1  options. If you give the /ics option, you must also give the /}{\f1\uldb icshost}{\v\f1 icshost}{\f1  option.\r
+\par When you start WinBoard, it will pop up the Startup dialog box unless you provide sufficient options on the command line for WinBoard to determine which major mode to be in and what engines to use or chess server to\r
+ connect to. To bypass this box, you must at minimum give one of the three options }{\f1\uldb /cp}{\v\f1 cp}{\f1 , /}{\f1\uldb ics}{\v\f1 ics}{\f1 , or /}{\f1\uldb ncp}{\v\f1 ncp}{\f1 .  If you give the /cp option, you must also give the /}{\f1\uldb fcp}{\r
+\v\f1 fcp}{\f1  and /}{\f1\uldb scp}{\v\f1 scp}{\f1  options. If you give the /ics option, you must also give the /}{\f1\uldb icshost}{\v\f1 icshost}{\f1  option.\r
 \par }\pard\plain \s29\fi-240\li360\sb60\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\uldb Chess Engine Options}{\v\f1 ChessEngineOptions}{\f1 \r
 \par }{\f1\uldb UCI Engine Support                  !NEW!}{\v\f1 UCIEngineSupport}{\f1 \r
 \par }{\f1\uldb Internet Chess Server Options}{\v\f1 InternetChessServerOptions}{\f1 \r
@@ -1037,15 +1031,15 @@ moves}{\f1
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  inc}}}{\f1 /inc }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  timeIncrement}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  timeIncrement}}}{\f1 /timeIncrement }{\i\f1 seconds\r
 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is specified, movesPerSession is ignored. Instead\r
-after each player's move, timeIncrement seconds are added to his clock. Use -timeIncrement 0 if you want to require the entire game to be played in one timeControl period, with no increment. Default: -1, which specifies movesPerSession mode.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is specified, movesPerSession is ignored. Instead\r
+after each player's move, timeIncrement seconds are added to his clock. Use -timeIncrement 0 if you want to require the entire game to be played in one timeControl period, with no increment. Default: -1, which specifies movesPerSession mode.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  clock }}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  clock }}}{\f1  /clock }{\b0\f1 or }{\f1 /xclock}{\b0\f1 , or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \r
 \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  clockMode}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  clockMode}}}{\f1 \r
  /clockMode }{\i\f1 true|false\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-Determines whether or not to display the chess clocks. If clockMode is False, the clocks are not shown, but the side that is to play next is still highlighted. Also, unless searc\r
-hTime is set, the chess engine still keeps track of the clock time and uses it to determine how fast to make its moves.\r
+Determines whether or not to display the chess clocks. If clockMode is False, the clocks are not shown, but the side that is to play next is still highlighted. Also, unless sea\r
+rchTime is set, the chess engine still keeps track of the clock time and uses it to determine how fast to make its moves.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  st}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  st}}}{\f1  /st }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  searchTime }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  searchTime }}}{\f1  /searchTime }{\i\f1 \r
@@ -1111,8 +1105,9 @@ saveGameFile}{\v\f1 saveGameFile}{\f1  option is set, a move record for the matc
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Provided for backward compatibility. If true and matchGames=0, sets matchGames=1.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 matchPause}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 matchPause}}}{\f1\cf11  /matchPause }{\i\f1\cf11 number}{\f1\cf11 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Sets the length of the pause between games in match mode to }{\i\f1\cf11 number}{\f1\cf11  msec. Default value is 10000, i.e. 10 sec. (If this pause i\r
-s too short, engines not implementing \lquote ping\rquote  will sometimes send the last move of their previous game only when a new game has started, at which time the move is illegal, and causes them to forfeit the game.)\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Sets the length of the pause between games in match mode to }{\i\f1\cf11 number}{\f1\cf11 \r
+ msec. Default value is 10000, i.e. 10 sec. (If this pause is too short, engines not implementing \lquote ping\rquote \r
+ will sometimes send the last move of their previous game only when a new game has started, at which time the move is illegal, and causes them to forfeit the game.)\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  fd}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  fd }}}{\f1  /fd }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  firstDirectory}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  firstDirectory}}}{\f1  /firstDirectory }{\i\f1 dir\r
@@ -1126,26 +1121,25 @@ s too short, engines not implementing \lquote ping\rquote  will sometimes send t
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf11\super K}{\f1\cf11  secondChessProgram }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \r
 \f5\fs20\cgrid {\cs58\f1\cf11\super #}{\f1\cf11  secondChessProgram}{\f1  }}}{\f1  /secondChessProgram }{\i\f1 command}{\cs58\f1\super  }{\f1 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-Names of the chess engines and working directories in which they are to be run. The second chess engine is started only in Two Machines (match) mode. These arguments are parsed as filenames; that is, the \\\r
- character is interpreted literally, not as a C-style escape.\r
+Names of the chess engines and working directories in which they are to be run. The second chess engine is started only in Two Machines (match) mode. These arguments are parsed as filenames; that is, the \\ character is interpr\r
+eted literally, not as a C-style escape.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 The }{\i\f1 dir}{\f1 \r
- argument specifies the initial working directory for the chess engine. It should usually be the directory where the engine and its working files are installed. If }{\i\f1 dir}{\f1 \r
- is not an absolute pathname, it is interpreted relative to the directory from which WinBoard.exe itself was loaded. The }{\i\f1 dir}{\f1 \r
- argument is ignored if the chess engine is being run on a remote machine (see firstHost and secondHost below). The default value for }{\i\f1 dir }{\f1 "", meaning that the chess engine is expected to be installed in the same directory as WinBoard.\r
-\par The }{\i\f1 command}{\f1  argument is actually the command line to the chess engine, so if the engine itself needs command line arguments, you can include them by enclosing }{\i\f1 command}{\f1 \r
- in single or double quotes. If the engine name or an engine argument has a space in it, use single quotes around the whole }{\i\f1 command, }{\f1 and inside them use double quotes around each item that contains spaces. If the engine name has more than o\r
-ne period in it (for example, }{\f2 QChess1.5.exe}{\f1 ), you must include the "}{\f2 .exe}{\f1 " extension; otherwise you can leave it out. The default value for }{\i\f1 command}{\f1 \r
- is "", which brings up the startup dialog to ask which engines you want.\r
+ argument specifies the initial working directory for the chess engine. It should usually be the directory where the engine and its working files are installed. If }{\i\f1 dir}{\f1  is not an absolute pathname, it is inter\r
+preted relative to the directory from which WinBoard.exe itself was loaded. The }{\i\f1 dir}{\f1  argument is ignored if the chess engine is being run on a remote machine (see firstHost and secondHost below). The default value for }{\i\f1 dir }{\f1 \r
+"", meaning that the chess engine is expected to be installed in the same directory as WinBoard.\r
+\par The }{\i\f1 command}{\f1  argument is actually the command line to the chess engine, so if the engine itself needs command line arguments, you can include them by enclosing }{\i\f1 command}{\f1  in single or double quotes.\r
+ If the engine name or an engine argument has a space in it, use single quotes around the whole }{\i\f1 command, }{\f1 \r
+and inside them use double quotes around each item that contains spaces. If the engine name has more than one period in it (for example, }{\f2 QChess1.5.exe}{\f1 ), you must include the "}{\f2 .exe}{\f1 \r
+" extension; otherwise you can leave it out. The default value for }{\i\f1 command}{\f1  is "", which brings up the startup dialog to ask which engines you want.\r
 \par Examples:\r
 \par }\pard\plain \s19\fi-518\li1036\sb60\sl-240\slmult0\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs16\cgrid {\f2 WinBoard /cp /fd="C:\\Program Files\\Crafty" /fcp=WCrafty-15.12.exe /scp=GNUChess\r
 \par WinBoard /cp /fd="C:\\Miracle Games" /fcp='"Miracle Chess.exe" /wow' /scp=GNUChess\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 The basic rule is thus that what is inside \r
-the quotes delimiting the argument to /fcp and /scp, all goes to the engine, and is ignored by WinBoard. WinBoard 4.3.13 and later, however, knows an exception to this: If, within the quotes, the word WBopt appears, everything that follows this word will \r
-b\r
-e interpreted as a WinBoard argument, in stead of being passed to the engine on startup of the latter. (The WBopt itself is also not passed to the engine.) This possibility of hiding WinBoard arguments in the engine command is provided in order to create \r
-o\r
-ptions that follow the engine in a tournament, when a tournament manager like PSWBTM is used to invoke WinBoard. Because, in order to apply to a given engine, some options need to know if they apply to first or second engine, which might vary during the t\r
-ournament, options hidden inside the engine command-line can contain \lquote %s\rquote  which will be replaced at the time the option is used by \lquote first\rquote  or \lquote second\rquote , as applicable.\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 The basic rule is thus that what is inside the quotes delimiting the argument to /fcp and /scp, all goes to the engine, and is ignored by WinBoard. WinBoard 4.3.13 \r
+and later, however, knows an exception to this: If, within the quotes, the word WBopt appears, everything that follows this word will be interpreted as a WinBoard argument, in stead of being passed to the engine on startup of the latter. (The WBopt itself\r
\r
+is also not passed to the engine.) This possibility of hiding WinBoard arguments in the engine command is provided in order to create options that follow the engine in a tournament, when a tournament manager like PSWBTM is used to invoke WinBoard. Because\r
+, in order to apply to a given engine, some options need to know if they apply to first or second engine, which might vary during the tournament, options hidden inside the engine command-line can contain \lquote %s\rquote \r
+ which will be replaced at the time the option is used by \lquote first\rquote  or \lquote second\rquote , as applicable.\r
 \par Examples:\r
 \par }\pard\plain \s19\fi-518\li1036\sb60\sl-240\slmult0\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs16\cgrid {\f2\cf11 WinBoard /cp /fd="C:\\Engines\\Crafty" /fcp=\rdblquote WCrafty-15.12 WBopt /%sTimeOdds=2\rdblquote  /scp=GNUChess\r
 \r
@@ -1158,8 +1152,9 @@ ournament, options hidden inside the engine command-line can contain \lquote %s\
 \cs58\f1\super #}{\f1  sh }}}{\f1  /sh }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  secondHost }}#{\footnote\ftnalt \pard\plain \r
 \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  secondHost }}}{\f1  /secondHost }{\i\f1 host}{\f1 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Hosts on which the chess engines are to run. The default for each is "localhost". If you specify another host, WinBoard}{\i\f1  }{\f1 uses }{\f1\uldb rsh}{\v\f1 rsh}{\f1 \r
- to run the chess program there. The /fd and /sd flags do not work in conjunction with these flags; if you need a remote chess engine to run somewhere other than your default login directory on the remote machine, you will have to include a "cd" command i\r
-n the argument to /fcp or /scp.\r
+ to run the \r
+chess program there. The /fd and /sd flags do not work in conjunction with these flags; if you need a remote chess engine to run somewhere other than your default login directory on the remote machine, you will have to include a "cd" command in the argume\r
+nt to /fcp or /scp.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  initString\r
 }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  initString}}}{\f1  /firstInitString }{\b0\f1 or }{\f1 /initString }{\i\f1 string\line }{\cs58\f1\super K{\footnote\ftnalt \r
 \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  secondInitString}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1 \r
@@ -1175,11 +1170,11 @@ o the initString; see the GNU Chess documentati{\*\bkmkstart _Hlt386545814}o{\*\
 }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  initString}}}{\f1  /firstComputerString }{\i\f1 string\line }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \r
 \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  secondInitString}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  secondInitString}}\r
 }{\f1  /secondComputerString }{\i\f1 string}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If the chess engine is playing against another computer program (whether locally or on a chess server), by default the command "computer\\n" is sent to it. Some c\r
-hess engines change their playing style when they receive this command. If you do not want the engine to know when it is playing another computer, you can set the string to "".\r
-\par }\pard\plain \s66\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cf11\cgrid {Note that the computer string is sent to the engine after most other initializa\r
-tion commands, and is thus ideal for hiding a WinBoard-protocol command in that should be sent only to one engine, when the WinBoard option that normally specifies this command cannot be differentiated by engine, but s always sent to both engines. E.g. if\r
- you want one of the engines to ponder, and the other not. Because it is sent last, in can overrule earlier commands.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If the chess engine is playing against another computer program (whether locally or on a chess server), by default the command "computer\\n" is sent to it. Some chess en\r
+gines change their playing style when they receive this command. If you do not want the engine to know when it is playing another computer, you can set the string to "".\r
+\par }\pard\plain \s66\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cf11\cgrid {Note that the computer string is sent to the engine after most other initialization co\r
+mmands, and is thus ideal for hiding a WinBoard-protocol command in that should be sent only to one engine, when the WinBoard option that normally specifies this command cannot be differentiated by engine, but s always sent to both engines. E.g. if you wa\r
+nt one of the engines to ponder, and the other not. Because it is sent last, in can overrule earlier commands.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  fb }}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  fb }}}{\f1  /fb }{\b0\f1 or }{\f1 /xfb}{\b0\f1 , or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \r
 \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  firstPlaysBlack }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  firstPlaysBlack}}}\r
@@ -1207,14 +1202,13 @@ s. Other values for version-number are not supported.
 \f1\cf6 firstScoreAbs}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 firstScoreAbs}}}{\f1\cf6 /firstScoreAbs}{\i\f1\cf6  true|false\line }{\cs58\f1\cf6\super K\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 secondScoreAbs}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\super #}{\f1  }{\f1\cf6 secondScoreAbs}}}{\f1\cf6 /secondScoreAbs}{\i\f1\cf6  true|false\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 If this option is true, the score\r
- reported by the engine is taken to be that in favor of white, even when the engine plays black. Important when winboard uses the score for adjudications, or in PGN reporting. This can be a useful option in combination with WBopt in the engine command-lin\r
-e, see under /fcp.}{\cf6 \r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 If this option is true, the score reported by the engine is taken to be that in\r
+ favor of white, even when the engine plays black. Important when winboard uses the score for adjudications, or in PGN reporting. This can be a useful option in combination with WBopt in the engine command-line, see under /fcp.}{\cf6 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf2\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 niceEngines}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 niceEngines}}}{\f1\cf2 /niceEngines}{\i\f1\cf2  priority\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 \r
-This option allows you to lower the priority of the engine processes, so that the generally insatiable hunger for CPU time of chess engines does not interfere so much with smooth operati\r
-on of WinBoard (or the rest of your system). Try priority = 10 or even 20 to lower the priority of the engines. Negative values could increase the engine priority, which is not recommended.}{\cf6 \r
+This option allows you to lower the priority of the engine processes, so that the generally insatiable hunger for CPU time of chess engines does not interfere so much with smooth operation of WinBoard (or the rest of your \r
+system). Try priority = 10 or even 20 to lower the priority of the engines. Negative values could increase the engine priority, which is not recommended.}{\cf6 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf2\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 firstOptions}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 firstOptions}}}{\f1\cf2 /firstOptions}{\i\f1\cf2  string\line }{\cs58\f1\cf2\super K\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 secondOptions}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
@@ -1226,11 +1220,11 @@ on of WinBoard (or the rest of your system). Try priority = 10 or even 20 to low
 \f1\cf2  firstNeedsNoncompliantFEN}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf2\super #}{\f1\cf2  firstNeedsNoncompliantFEN}}}{\f1\cf2 /firstNeedsNoncompliantFEN}{\i\f1\cf2  string\r
 \line }{\cs58\f1\cf2\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf2\super K}{\f1\cf2  secondNeedsNoncompliantFEN}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf2\super #}{\f1\cf2  secondNeedsNoncompliantFEN}}}{\f1\cf2 /secondNeedsNoncompliantFEN}{\i\f1\cf2  string\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 The castling rights and e.p. fields \r
-of the FEN sent to the mentioned engine with the setboard command will be replaced by the given string. This can for instance be used to run engines that do not understand Chess960 FENs in variant fischerandom, to make them at least understand the opening\r
- position, through setting the string to \ldblquote KQkq -\rdblquote \r
-. (Note you also have to give the e.p. field!) Other possible applications are to provide work-arounds for engines that want to see castling and e.p. fields in variants that do not have castling or e.p. (shat\r
-ranj, courier, xiangqi, shogi) so that WinBoard would normally omit them (string = \ldblquote - -\ldblquote , or to add variant-specific fields that are not yet supported by WinBoard (e.g. to indicate the number of checks in 3check).\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 The castling rights and e.p. fields of the FEN sent to the mentioned engine with \r
+the setboard command will be replaced by the given string. This can for instance be used to run engines that do not understand Chess960 FENs in variant fischerandom, to make them at least understand the opening position, through setting the string to \r
+\ldblquote KQkq -\rdblquote \r
+. (Note you also have to give the e.p. field!) Other possible applications are to provide work-arounds for engines that want to see castling and e.p. fields in variants that do not have castling or e.p. (shatranj, courier, xiangqi, shogi) so that WinBoa\r
+rd would normally omit them (string = \ldblquote - -\ldblquote , or to add variant-specific fields that are not yet supported by WinBoard (e.g. to indicate the number of checks in 3check).\r
 \par }{\r
 \par }\pard\plain \s1\li120\sb280\sa120\sl-320\slmult0\nowidctlpar\outlinelevel0\adjustright \b\f5\cgrid {\f1\fs20 \page }{\cs58\f1\fs20\cf6\super +{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\super +}{\f1  main}}K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 UCI Engine Support}}${\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
@@ -1314,25 +1308,26 @@ The host name or numeric address of the Internet Chess Server to connect to when
 \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  useTelnet}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  useTelnet}}}{\f1 \r
 /useTelnet}{\i\f1  true|false}{\f1 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 This option is poorly named; it should be called }{\b\f1 /useHelper}{\f1 \r
-. If set to True, it instructs WinBoard to use an external helper program to communicate with the ICS, as specified by the telnetProgram option. The external program must be a pure console application that can communicate with WinBoard through pipes; the \r
-Windows telnet application is not suitable. If the option is False (the default), WinBoard communicates with the ICS by opening a Winsock TCP socket and using its own internal implementation of the telnet protocol.\r
+. If set to True, it instructs WinBoard to use an external helper program to communicate with the ICS, as specified by the telnetProgr\r
+am option. The external program must be a pure console application that can communicate with WinBoard through pipes; the Windows telnet application is not suitable. If the option is False (the default), WinBoard communicates with the ICS by opening a Wins\r
+ock TCP socket and using its own internal implementation of the telnet protocol.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  gateway}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  gateway}}}{\f1 /gateway }{\i\f1 hostname}{\f1 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is set to a host name, WinBoard uses }{\f1\uldb rsh}{\v\f1 rsh}{\f1 \r
- to run the telnetProgram remotely on the given host to communicate with the Internet Chess Server instead of using its own internal implementation of the telnet protocol. See the }{\f1\uldb FIREWALLS}{\v\f1 FIREWALLS}{\f1  s\r
-ection below for an explanation of when this option is useful.\r
+ to run the telnetProgram remotely on the given host to communicate with the Internet Chess Server instead of using its own internal implementation of the telnet protocol. See the }{\f1\uldb FIREWALLS}{\v\f1 FIREWALLS}{\f1 \r
+ section below for an explanation of when this option is useful.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  telnetProgram}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  telnetProgram}}}{\f1 /telnetProgram }{\i\f1 program}{\f1 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 This option is poorly named; it should be called }{\b\f1 /helperProgram}{\f1 \r
-. It gives the name of the remote or external helper program to be used with the gateway or useTelnet option. The default is "telnet". The telnet program is invoked with the value of internetChessServer as the first argument and the value of internetChess\r
-ServerPort as the second argument on its command line.\r
+. It gives the name of the remote or external helper program to be used with the gateway or useTelnet option. The default is "tel\r
+net". The telnet program is invoked with the value of internetChessServer as the first argument and the value of internetChessServerPort as the second argument on its command line.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  icscom }}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  icscom }}}{\f1 /icscom }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  internetChessServerComPort }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  internetChessServerComPort }}}{\f1 \r
 /internetChessServerComPort }{\i\f1 name}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is set, WinBoard communicates with the Internet Chess Serve\r
-r using a serial communication port instead of a network connection. Use this option if your machine is not connected to a network (not even via SLIP or PPP), but you do have Internet access through another machine by dialing in using a modem or by connec\r
-ting directly to a serial terminal port. Example:\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
+If this option is set, WinBoard communicates with the Internet Chess Server using a serial communication port instead of a network connection. Use this option if your machine is not connected to\r
+ a network (not even via SLIP or PPP), but you do have Internet access through another machine by dialing in using a modem or by connecting directly to a serial terminal port. Example:\r
 \par }\pard\plain \s19\li120\sb60\sl-240\slmult0\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs16\cgrid {\f2 WinBoard /ics /icscom:com1\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 After you start WinBoard in this way, type whatever modem commands are necessary to dial out to your Internet provider and log in. You may need to turn off }{\f1\uldb \r
 Local Line Editing}{\v\f1 LocalLineEditing}{\f1  on the Options menu while typing commands to the modem, but turn it on again afterwards. Then telnet to the ICS, using a command like "telnet chessclub.com 5000". Important: See the paragraph in the }{\r
@@ -1431,10 +1426,11 @@ Load and Save Options
 filename}{\f1 \line }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  lgi }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \r
 \f5\fs20\cgrid {\cs58\f1\super #}{\f1  lgi }}}{\f1  /lgi }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  loadGameIndex }}#{\footnote\ftnalt \r
 \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  loadGameIndex }}}{\f1  /loadGameIndex }{\i\f1 N}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If loadGameFile is set, WinBoard reads the specified game file at startup. You can leave out the name of this option and \r
-give just the file name, which is handy if you want to configure WinBoard as a game viewer with a browser such as the Windows Explorer or Netscape. The filename is interpreted relative to WinBoard's initial working directory. The filename "-" specifies th\r
-e standard input. If there is more than one game in the file, WinBoard pops up a menu of the available games, with entries based on their PGN tags. If loadGameIndex is set to }{\i\f1 N, }{\f1 the menu is suppressed and the }{\i\f1 N}{\f1 \r
-th game found in the file is loaded immediately.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If loadGameFile is set, Wi\r
+nBoard reads the specified game file at startup. You can leave out the name of this option and give just the file name, which is handy if you want to configure WinBoard as a game viewer with a browser such as the Windows Explorer or Netscape. The filename\r
\r
+is interpreted relative to WinBoard's initial working directory. The filename "-" specifies the standard input. If there is more than one game in the file, WinBoard pops up a menu of the available games, with entries based on their PGN tags. If loadGameIn\r
+dex is set to }{\i\f1 N, }{\f1 the menu is suppressed and the }{\i\f1 N}{\f1 th game found in the file is loaded immediately.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  td }}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  td }}}{\f1  /td }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  timeDelay }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  timeDelay }}}{\f1  /timeDelay }{\i\f1 seconds}{\f1 \r
@@ -1445,8 +1441,8 @@ th game found in the file is loaded immediately.
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  sgf }}}{\f1  /sgf }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  saveGameFile }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  saveGameFile }}}{\f1  /saveGameFile }{\i\f1 \r
 filename}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If this option is set, WinBoard appends a record of every game played to the specified file. The filename is interpreted relative to WinBoard's initial working directory. The filename "-" specifies the standard output.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is set, Wi\r
+nBoard appends a record of every game played to the specified file. The filename is interpreted relative to WinBoard's initial working directory. The filename "-" specifies the standard output.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  autosave }\r
 }#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  autosave }}}{\f1  /autosave}{\b0\f1  or }{\f1 /xautosave}{\b0\f1 ,}{\f1  }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \r
 \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  autoSaveGames }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1 \r
@@ -1459,15 +1455,15 @@ If this option is True, at the end of every game WinBoard prompts you for a file
 \i\f1 filename}{\f1 \line }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  lpi }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  lpi }}}{\f1  /lpi }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  loadPositionIndex }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  loadPositionIndex }}}{\f1  /loadPositionIndex }{\i\f1 N}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If loadPositionFile is set, WinBoard loads the specified\r
- position file at startup. The filename is interpreted relative to WinBoard's initial working directory. The filename "-" specifies the standard input. If loadPositionIndex is set to }{\i\f1 N}{\f1 , the }{\i\f1 N}{\f1 \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If loadPositionFile is set, WinBoard loads the specified position file at st\r
+artup. The filename is interpreted relative to WinBoard's initial working directory. The filename "-" specifies the standard input. If loadPositionIndex is set to }{\i\f1 N}{\f1 , the }{\i\f1 N}{\f1 \r
 th position found in the file is loaded; otherwise the first is loaded.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  spf }}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  spf }}}{\f1  /spf }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  savePositionFile }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  savePositionFile }}}{\f1  /savePositionFile }{\r
 \i\f1 filename}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is set, WinBoard appends the final position reached in every game played t\r
-o the specified file. The filename is interpreted relative to WinBoard's initial working directory. The file name "-" specifies the standard output.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is set, WinBoard appends the final position reached in every game played to the specified file. The filename is interpreted relative to WinBoard's initial w\r
+orking directory. The file name "-" specifies the standard output.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 pgnExtendedInfo}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 pgnExtendedInfo}{\f1  }}}{\f1\cf6  /pgnExtendedInfo }{\i\f1\cf6 true|false}{\f1\cf6 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 If this option is set, WinBoard saves depth, score and time used for each move that the engine found as a comment in the PGN file.\r
@@ -1482,15 +1478,15 @@ o the specified file. The filename is interpreted relative to WinBoard's initial
 #{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  oldsave }}}{\f1  /oldsave }{\b0\f1 or }{\f1 /xoldsave}{\b0\f1 , or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \r
 \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  oldSaveStyle }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  oldSaveStyle }}}{\f1 \r
  /oldSaveStyle}{\i\f1  true|false}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-If this option is False (the default), WinBoard saves games in PGN (portable game notation) and positions in FEN (Forsythe-Edwards notation). If the option is True, a save style that is compatible with older versions of WinBoard (and of xboard)\r
- is used instead.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is False\r
+ (the default), WinBoard saves games in PGN (portable game notation) and positions in FEN (Forsythe-Edwards notation). If the option is True, a save style that is compatible with older versions of WinBoard (and of xboard) is used instead.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  debug}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  debug}}}{\f1  /debug}{\b0\f1  or }{\f1 /xdebug}{\b0\f1 ,}{\f1  }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \r
 \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  debugMode}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  debugMode}}}{\f1 \r
  /debugMode}{\i\f1  true|false}{\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Writes debugging information to the file \ldblquote WinBoard.debug\rdblquote , including all commands sent to the chess engine, all output received from it, and all com\r
-mands sent to ICS. You can press Ctrl+Alt+F12 to turn this option on or off while WinBoard is running. Each time you turn it on, any existing debug file is overwritten.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Writes debugging information to the file \ldblquote WinBoard.debug\rdblquote \r
+, including all commands sent to the chess engine, all output received from it, and all commands sent to ICS. You can press Ct\r
+rl+Alt+F12 to turn this option on or off while WinBoard is running. Each time you turn it on, any existing debug file is overwritten.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 debugFile}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 debugFile}{\f1  }}}{\f1\cf6  /debugFile}{\cs58\f1\cf6\super  }{\f1\cf6  }{\i\f1\cf6 filename}{\r
 \f1\cf6  }{\b0\f1\cf6 or}{\f1\cf6  }{\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 nameOfDebugFile}{\f1  }}#{\footnote\ftnalt \pard\plain \r
@@ -1502,9 +1498,8 @@ mands sent to ICS. You can press Ctrl+Alt+F12 to turn this option on or off whil
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Specifies how WinBoard should handle unsolicited output from the engine, with respect to saing it in the debug file. The output is further (hopefully) ignored. If }{\r
 \i\f1\cf11 numbe}{\f1\cf11 r=0, WinBoard refrains from writing such spurious output to the debug file. If}{\i\f1\cf11  numbe}{\f1\cf11 r=1, all engine output is written faithfully to the debug file. If }{\i\f1\cf11  numbe}{\f1\cf11 \r
 r=2, any protocol-violating line is prefixed with a \lquote #\rquote  character, as the engine itself should have done if it wanted to submit info for inclusion in the debug file.\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cf11 \r
-This option is provided for the benefit of applications that use the debug file as a source of information, such as the broadcaster of live games TLCV / TLCS. Such applications can be protected from spurious engine output that might otherwise confuse them\r
-.\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cf11 This option is provided for the benefit of applications that use the debug file as a\r
+ source of information, such as the broadcaster of live games TLCV / TLCS. Such applications can be protected from spurious engine output that might otherwise confuse them.\r
 \par }{\r
 \par }\pard\plain \s1\li120\sb280\sa120\sl-320\slmult0\nowidctlpar\outlinelevel0\adjustright \b\f5\cgrid {\f1\fs20 \page }{\cs58\f1\fs20\super +{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super \r
 +}{\f1  main}}K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  User Interface Options}}${\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \r
@@ -1514,14 +1509,15 @@ User Interface Options
  firstLogo}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf2\super #}{\f1\cf2  firstLogo}}}{\f1\cf2  /firstLogo }{\i\f1\cf2 filename}{\f1\cf2 \r
 \par }\pard \s2\li119\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright {\cs58\f1\cf2\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf2\super K}{\f1\cf2  secondLogo}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf2\super #}{\f1\cf2  secondLogo}}}{\f1\cf2  /secondLogo }{\i\f1\cf2 filename}{\f1\cf2 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 The appearance of either of these options causes\r
- WinBoard to reserve space for displaying logos on both sides of the clocks. Normally the first logo goes left, the second right, unless the option \lquote swap clocks\rquote  is in effect. The }{\i\f1\cf2 filename}{\f1\cf2 \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 The appearance of either of these options causes WinBoard to reserve space for displaying logos on both sides of \r
+the clocks. Normally the first logo goes left, the second right, unless the option \lquote swap clocks\rquote  is in effect. The }{\i\f1\cf2 filename}{\f1\cf2 \r
  must refer to a bitmap file (.bmp) containing a logo for the particular player (usually a 130x65 or 100x50 bitmap, which will be scaled to the height of two clock lines.)\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf2\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf2\super K}{\r
 \f1\cf2  autoLogo}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\cf2\super #}{\f1\cf2  autoLogo}}}{\f1\cf2  /autoLogo}{\i\f1\cf2  true|false}{\f1\cf2 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 When true, causes WinBoard to automatically supply a logo for the first and second chess program, by looki\r
-ng for a fie named logo.bmp in the engine directory (as specified by the /fd or /sd option), and then displays it like this file was given as an argument to the /firstLogo or /secondLogo option. In this mode it will also look in a sub-folder of its instal\r
-lation folder called \ldblquote logos\rdblquote , for finding logos with names corresponding to the ICS (e.g. \ldblquote chessclub.com.bmp\rdblquote ) or to the human user, should they be involved in a game.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 \r
+When true, causes WinBoard to automatically supply a logo for the first and second chess program, by looking for a fie named logo.bmp in the engine directory (as specified\r
+ by the /fd or /sd option), and then displays it like this file was given as an argument to the /firstLogo or /secondLogo option. In this mode it will also look in a sub-folder of its installation folder called \ldblquote logos\rdblquote \r
+, for finding logos with names corresponding to the ICS (e.g. \ldblquote chessclub.com.bmp\rdblquote ) or to the human user, should they be involved in a game.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 hideThinkingFromHuman}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 hideThinkingFromHuman}}}{\f1\cf6  /hideThinkingFromHuman}{\i\f1\cf6  true|false}{\f1\cf6 \r
 \r
@@ -1614,9 +1610,8 @@ t participating in a game, then the positioning of the board at the start of eac
 \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super #}{ dsc}}}{\f1 /dsc }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\super K}{\f1  darkSquareColor}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  darkSquareColor}}}{\f1  /darkSquareColor }{\i\f1 color}{\cs58\f1\super  }{\f1 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Color specifications for white pieces, black pieces, light squares, and dark squares. Colors can be specified only by red/green/blue intensity, either in hexadecimal (as }{\r
-\i\f1 #rrggbb}{\f1 ) or in decimal (as }{\i\f1 rrr,ggg,bbb}{\f1 ). In the latter format, yo\r
-u must enclose the string in quotation marks if you leave spaces after the commas. The defaults are respectively #FFFFCC, #202020, #C8C365, and #77A26D. Available on the }{\f1\uldb Board Colors}{\v\f1 BoardColors}{\f1  section of the }{\f1\uldb \r
-Board Options}{\v\f1 BoardOptions}{\f1  dialog.\r
+\i\f1 #rrggbb}{\f1 ) or in decimal (as }{\i\f1 rrr,ggg,bbb}{\f1 ). In the latter format, you must enclose the string in quotation marks\r
+ if you leave spaces after the commas. The defaults are respectively #FFFFCC, #202020, #C8C365, and #77A26D. Available on the }{\f1\uldb Board Colors}{\v\f1 BoardColors}{\f1  section of the }{\f1\uldb Board Options}{\v\f1 BoardOptions}{\f1  dialog.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If you are using a }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  grayscale}\r
 }#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  grayscale}}}{\f1  grayscale monitor, try setting the colors to:\r
 \par }\pard\plain \s19\li520\sb60\sl-240\slmult0\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs16\cgrid {\f2\fs20 -whitePieceColor:#FFFFFF\line -blackPieceColor:#000000\line -lightSquareColor:#CCCCCC\line -darkSquareColor:#999999\r
@@ -1626,8 +1621,8 @@ Board Options}{\v\f1 BoardOptions}{\f1  dialog.
 \cs58\f1\super  }{\f1 \line }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\super K}{ phc}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \r
 \f5\fs20\cgrid {\cs58\super #}{ phc}}}{\f1 /phc }{\b0\f1 or }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  premoveHighlightColor}}#{\footnote\ftnalt \r
 \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  premoveHighlightColor}}}{\f1  /premoveHighlightColor }{\i\f1 color}{\cs58\f1\super  }{\f1 \r
-\par }{\b0\f1 Color specifications for the }{\b0\f1\uldb Highlight Last Move}{\b0\v\f1 HighlightLastMove}{\b0\f1  and }{\b0\f1\uldb Premove}{\b0\v\f1 PremoveCmd}{\b0\f1 \r
- options, respectively. Colors can be specified only by red/green/blue intensity, either in hexadecimal (as }{\b0\i\f1 #rrggbb}{\b0\f1 ) or in decimal (as }{\b0\i\f1 rrr,ggg,bbb}{\b0\f1 \r
+\par }{\b0\f1 Color specifications for the }{\b0\f1\uldb Highlight Last Move}{\b0\v\f1 HighlightLastMove}{\b0\f1  and }{\b0\f1\uldb Premove}{\b0\v\f1 PremoveCmd}{\b0\f1  options, respectively. Colors can be specified only by red/green/blue int\r
+ensity, either in hexadecimal (as }{\b0\i\f1 #rrggbb}{\b0\f1 ) or in decimal (as }{\b0\i\f1 rrr,ggg,bbb}{\b0\f1 \r
 ). In the latter format, you must enclose the string in quotation marks if you leave spaces after the commas. The defaults are respectively #FFFF00 and #FF0000, respectively.\r
 \par }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  mono }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\super #}{\f1  mono }}}{\f1  /mono}{\b0\f1  or }{\f1 /xmono}{\b0\f1 ,}{\f1  }{\b0\f1 or}{\f1  }{\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  monoMode}}#\r
@@ -1640,14 +1635,13 @@ BoardColors}{\f1  section of the }{\f1\uldb Board Options}{\v\f1 BoardOptions}{\
 Determines whether WinBoard displays the black pieces upside down (or the white pieces in Flip View). Useful with Shogi with the traditional Japanese pieces, which are not distinguished by color but by orientation.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 allWhite}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 allWhite}{\f1  }}}{\f1\cf11  /allWhite}{\i\f1\cf11  true|false}{\f1\cf11 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
-Determines whether the white piece bitmaps will be used to display black pieces. The white pieces have a dark outline, which the black pieces lack. This makes the latter look vague if the color you give them is not very dark.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Determines whether the white piece bitmaps will be used to display black pieces. The white pieces have a dark outline, which the black pieces lack. This makes the l\r
+atter look vague if the color you give them is not very dark.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 renderPiecesWithFont}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 renderPiecesWithFont}{\f1  }}}{\f1\cf6  /renderPiecesWithFont }{\i\f1\cf6 fontname}\r
 {\f1\cf6 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 \r
-Uses the named true-type font to render the pieces, rather than the built-in bitmaps. The font must be installed on your computer. If the name starts with a *  it is ignored, allowing you to easily disable a font temporarily in the whinboard.ini file.\r
-\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 Uses the named true-type font to render the pieces, rather than the built-in bitmaps. The font must be installed\r
+ on your computer. If the name starts with a *  it is ignored, allowing you to easily disable a font temporarily in the whinboard.ini file.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 fontPieceToCharTable}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 fontPieceToCharTable}{\f1  }}}{\f1\cf6  /fontPieceToCharTable }{\i\f1\cf6 \r
 characterstring}{\f1\cf6 \r
@@ -1782,8 +1776,8 @@ The name of a }{\f2 .wav}{\f1  file. The filename is interpreted relative to Win
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  icsMenu}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  icsMenu}}}{\f1 /icsMenu=\{}{\i\f1 entries}{\f1 \} }{\b0\f1 or }{\f1 /icsMenu=@}{\i\f1 filename\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 This option lets you customize the right-button }{\f1\uldb context menu}{\v\f1 ICSInteractionContextMenu}{\f1 \r
- that is available in the upper (output) pane of the ICS Interaction window. It consists of a list of menu entries, one per line. If the option value starts with an @ \r
-sign, it is the name of a file that contains the entries. Each entry contains either four fields separated by commas or the single character }{\f2 "-"}{\f1 . The fields are:\r
+ that is available in the upper (output) pane of the ICS Interaction window. It consists of a list of menu entries, one per line. If the opt\r
+ion value starts with an @ sign, it is the name of a file that contains the entries. Each entry contains either four fields separated by commas or the single character }{\f2 "-"}{\f1 . The fields are:\r
 \par {\pntext\pard\plain\f5\fs20\lang1033\cgrid \hich\af5\dbch\af0\loch\f5 1.\tab}}\pard\plain \fi-360\li480\sb80\sl-240\slmult0\nowidctlpar\jclisttab\tx480{\*\pn \pnlvlbody\ilvl0\ls14\pnrnot0\pndec\pnstart1\pnindent360\pnhang{\pntxta .}}\ls14\adjustright \r
 \f5\fs20\cgrid {The menu text. If this field begins with }{\f2 "|"}{, the item begins a new column in the menu and the }{\f2 "|"}{ is not shown. If this field contains an }{\f2 "&"}{\r
 , the character after the ampersand is underlined in the menu and acts as a keyboard shortcut for the item when the menu is displayed. Do not assign the same shortcut key to two different menu items.\r
@@ -1796,23 +1790,22 @@ A flag (1 or 0) saying whether the result should be sent immediately to ICS or l
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {The entry }{\f2 "-"}{ produces a separator line in the menu. The top three menu entries are always }{\b Copy and Paste}{, }{\b Copy}{, and }{\b Paste}{\r
 , but you have full control over the rest of the menu.\r
 \par }{\f1 The default menu is:\r
-\par }\pard\plain \s19\li520\sb60\sl-240\slmult0\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs16\cgrid {\f2\fs20 \endash \line &Who,who,0,1\line Playe&rs,players,0,1\line &Games,games,0,1\line &Sought,sought,0,1\line \r
-|&Tell (name),tell,1,0\line M&essage (name),message,1,0\line \endash \line &Finger (name),finger,1,1\line &Vars (name),vars,1,1\line &Observe (name),observe,1,1\line &Match (name),match,1,1\line Pl&ay (name),play,1,1\r
+\par }\pard\plain \s19\li520\sb60\sl-240\slmult0\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs16\cgrid {\f2\fs20 \endash \line &Who,who,0,1\line Playe&rs,players,0,1\line &Games,games,0,1\line &Sought,sought,0,1\line |&T\r
+ell (name),tell,1,0\line M&essage (name),message,1,0\line \endash \line &Finger (name),finger,1,1\line &Vars (name),vars,1,1\line &Observe (name),observe,1,1\line &Match (name),match,1,1\line Pl&ay (name),play,1,1\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 There is no graphical user interface to set this option. To change it, edit your }{\f1\uldb settings}{\v\f1 settings}{\f1  file with a plain text editor such as Notepad.\r
 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  icsNames}}\r
 #{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  icsNames}}}{\f1 /icsNames=\{}{\i\f1 names}{\f1 \} }{\b0\f1 or }{\f1 /icsNames=@}{\i\f1 filename\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-This option lets you customize the drop-down list of ICS names that appears in the WinBoard startup dialog. It consists of a list of strings, one per line. If the option value starts wit\r
-h an @ sign, it is the name of a file that contains the strings. When you select a string from the drop-down list, WinBoard prepends the text \rdblquote /ics /icsHost=\rdblquote \r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 This option lets you customize the drop-down list of ICS names that appears in the WinBoard startup dialog. It consists of a list \r
+of strings, one per line. If the option value starts with an @ sign, it is the name of a file that contains the strings. When you select a string from the drop-down list, WinBoard prepends the text \rdblquote /ics /icsHost=\rdblquote \r
  and adds the result to the command-line options. There is no graphical user interface to set this option. To change it, edit your }{\f1\uldb settings}{\v\f1 settings}{\f1  file with a plain text editor such as Notepad.\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  firstChessProgramNames}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  firstChessProgramNames}}}{\f1 /firstChessProgramNames=\{}{\i\f1 names}{\f1 \} }{\b0\f1 or }{\f1 \r
 /firstChessProgramNames="@}{\i\f1 filename}{\f1 "\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 \r
-This option lets you customize the first drop-down list of chess engine names that appears in the WinBoard startup dialog. It consists of a list of strings, one per line. If the option value starts with an @ sign, it is the name of a file that contains th\r
-e strings. When you select a string from the drop-down list, WinBoard prepends the text \rdblquote /cp /firstChessProgram=\rdblquote  and adds the result to the command-line options. \r
+This option lets you customize the first drop-down list of chess engine names that appears in the WinBoard startup dialog. It consists of a list of strings, one per line. If the option value starts with an @ sign, it is \r
+the name of a file that contains the strings. When you select a string from the drop-down list, WinBoard prepends the text \rdblquote /cp /firstChessProgram=\rdblquote  and adds the result to the command-line options. \r
 \par \r
 \par There is no graphical user interface to set this option. To change it, edit your }{\f1\uldb settings}{\v\f1 settings}{\f1  file with a plain text editor such as Notepad. Example:\r
 \par }\pard\plain \s19\li520\sb60\sl-240\slmult0\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs16\cgrid {\f2 /firstChessProgramNames=\{GNUChess\line WCrafty-15_11 /fd="C:\\Program Files\\Crafty"\line ArasanX /fd="C:\\Program Files\\Arasan\r
@@ -1820,9 +1813,9 @@ e strings. When you select a string from the drop-down list, WinBoard prepends t
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  secondChessProgramNames}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  secondChessProgramNames}}}{\f1 /secondChessProgramNames=\{}{\i\f1 names}{\f1 \}}{\b0\f1  or }{\f1 \r
 /secondChessProgramNames="@}{\i\f1 filename}{\f1 "}{\i\f1 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 This option lets you customize the second drop-down list of chess engine names that appears in the WinBoard startup dialog. It consists of a lis\r
-t of strings, one per line. If the option value starts with an @ sign, it is the name of a file that contains the strings. When you select a string from the drop-down list, WinBoard prepends the text \rdblquote /cp /secondChessProgram=\rdblquote \r
- and adds the result to the command-line options.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 This option lets you customize the second drop-down list of chess engine names that appears in the WinBoard \r
+startup dialog. It consists of a list of strings, one per line. If the option value starts with an @ sign, it is the name of a file that contains the strings. When you select a string from the drop-down list, WinBoard prepends the text \rdblquote \r
+/cp /secondChessProgram=\rdblquote  and adds the result to the command-line options.\r
 \par \r
 \par There is no graphical user interface to set this option. To change it, edit your }{\f1\uldb settings}{\v\f1 settings}{\f1  file with a plain text editor such as Notepad. Example:\r
 \par }\pard\plain \s19\li520\sb60\sl-240\slmult0\keep\nowidctlpar\tx520\tx920\tx1320\tx1720\tx2120\adjustright \f6\fs16\cgrid {/secondChessProgramNames=\{GNUChess\line WCrafty-15_11 /sd="C:\\\\Program Files\\\\Crafty\\"\line ArasanX /sd="C:\\Program Files\\\r
@@ -1833,8 +1826,8 @@ Arasan\\Arasan 4.1"\line "EXchess xb" /sd=C:\\EXchess\line Comet-WB /sd=C:\\Come
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  xywh coordinates of Analysis window}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  xywh}}}{\f1 /analysisX=}{\i\f1 xcoord  }{\f1 /analysisY=}{\i\f1 ycoord}{\f1   /analysisW=}{\r
 \i\f1 width}{\f1   /analysisH=}{\i\f1 height\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 These options have been deprecated, as the analysis window is replaced by the more gener\r
-al engine-output window. They are recognized, but ignored, and no longer saved in the winboard.ini file.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf2 These options have been deprecate\r
+d, as the analysis window is replaced by the more general engine-output window. They are recognized, but ignored, and no longer saved in the winboard.ini file.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1 \r
  xywh coordinates of Comment window}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  xywh}}}{\f1 /commentX=}{\i\f1 xcoord  }{\f1 /commentY=}{\i\f1 ycoord}{\f1   /commentW=}{\r
 \i\f1 width}{\f1   /commentH=}{\i\f1 height\r
@@ -1882,16 +1875,16 @@ engineOutputUp}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\no
 \f1\cf6 stickyWindows}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 stickyWindows}}}{\f1\cf6 /stickyWindows }{\i\f1\cf6 true|false\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 Auxiliary windows touching the main window will stay attached to the latter when you move it.\r
 \par }\pard\plain \s2\li119\sb120\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 \r
-autoDisplayComments}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 autoDisplayComments}}}{\f1\cf6 /autoDisplayComments }{\i\f1\cf6 true|false\r
+autoDisplayComment}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 autoDisplayComment}}}{\f1\cf6 /autoDisplayComment }{\i\f1\cf6 true|false\r
 \par }\pard \s2\li119\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 autoDisplayTags}}#\r
 {\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 autoDisplayTags}}}{\f1\cf6 /autoDisplayTags }{\i\f1\cf6 true|false\r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 If set to True, these options cause the window with the move comments, and the window with PGN tags, respectively\r
-, to pop up automatically when such tags or comments are encountered during the replaying a stored or loaded game.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 If set to True, these options cause the window with the move comments, and the window with PGN tags, respectively, to p\r
+op up automatically when such tags or comments are encountered during the replaying a stored or loaded game.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 gameListTags}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 gameListTags}{\f1  }}}{\f1\cf6  /gameListTags }{\i\f1\cf6 string}{\f1\cf6 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 The }{\i\f1\cf6 string}{\f1\cf6  contains single-character codes specifying the PGN tags that have to be li\r
-sted for each game in the game-list window, and their order. The meaning of the characters is a=out-of-book info, b=black Elo, e=event, d=date, o=round, p=players, r=result, w=white Elo, s=site, t=time control and v=variant, Default: \ldblquote eprd\r
-\rdblquote .\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 The }{\i\f1\cf6 string}{\f1\cf6  contains single-character codes specifying the PGN tags that have to be listed f\r
+or each game in the game-list window, and their order. The meaning of the characters is a=out-of-book info, b=black Elo, e=event, d=date, o=round, p=players, r=result, w=white Elo, s=site, t=time control and v=variant, Default: \ldblquote eprd\rdblquote .\r
+\r
 \par }\pard\plain \s1\li120\sb280\sa120\sl-320\slmult0\nowidctlpar\outlinelevel0\adjustright \b\f5\cgrid {\f1\fs20 \page }{\cs58\f1\fs20\cf6\super +{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\super +}{\f1  main}}K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\f1\cf6 Adjudication Options}}${\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\r
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super $}{\f1  }{\f1\cf6 Adjudication Options}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 AdjudicationOptions}}}{\r
@@ -1899,8 +1892,8 @@ sted for each game in the game-list window, and their order. The meaning of the
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 adjudicateLossThreshold}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 adjudicateLossThreshold}{\f1  }}}{\f1\cf6  /adjudicateLossThreshold }{\i\f1\cf6 \r
 scorethreshold}{\f1\cf6 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 If the given value is non-zero, WinBoard adjudicates the game as a loss\r
- if both engines agree for a duration of 6 consecutive ply that the score is below the given score threshold for that engine. Make sure the score is interpreted properly by WinBoard, using /firstScoreAbs and /secondScoreAbs if needed.}{\cf6 \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf6 If the given value is non-zero, WinBoard adjudicates the game as a loss if bo\r
+th engines agree for a duration of 6 consecutive ply that the score is below the given score threshold for that engine. Make sure the score is interpreted properly by WinBoard, using /firstScoreAbs and /secondScoreAbs if needed.}{\cf6 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf6\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf6 adjudicateDrawMoves}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf6 adjudicateDrawMoves}{\f1  }}}{\f1\cf6  /adjudicateDrawMoves }{\i\f1\cf6 number}{\r
 \f1\cf6 \r
@@ -1911,8 +1904,8 @@ scorethreshold}{\f1\cf6
 {\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 testClaims}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 testClaims}{\f1  }}}{\f1\cf11  /testClaims}{\i\f1\cf11  true|false}{\f1\cf11 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
-If this option is True, WinBoard verifies all result claims made by engines, and those who send false claims will forfeit the game because of it. Legality-testing must be on for this option to work.}{\cf11 \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 If this option is True, WinBoard verifies all result clai\r
+ms made by engines, and those who send false claims will forfeit the game because of it. Legality-testing must be on for this option to work.}{\cf11 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 materialDraws}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 materialDraws}{\f1  }}}{\f1\cf11  /materialDraws}{\i\f1\cf11  true|false}{\f1\cf11 \r
 \r
@@ -1921,9 +1914,10 @@ If this option is True, WinBoard adjudicates games as draws when there is no suf
 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 trivialDraws}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 trivialDraws}{\f1  }}}{\f1\cf11  /trivialDraws}{\i\f1\cf11  true|false}{\f1\cf11 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 If this option is True, WinBoard adjudicates games as draws that cannot \r
-be usualy won without opponent assistance. This applies to KBKB with unlike bishops, and to KBKN, KNKN, KNNK, KRKR and KQKQ. The draw is called after 6 ply into these end-games, to allow quick mates that can occur in some positions. KQKQ does not really b\r
-elong in this category, and might be taken out in the future. (When bitbase-based adjudications are implemented.) Legality-testing must be on for this option to work.}{\cf11 \r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 \r
+If this option is True, WinBoard adjudicates games as draws that cannot be usualy won without opponent assistance. This applies to KBKB with unlike bishops, and to KBKN, KNKN, KNNK, KRKR and KQKQ. The draw is c\r
+alled after 6 ply into these end-games, to allow quick mates that can occur in some positions. KQKQ does not really belong in this category, and might be taken out in the future. (When bitbase-based adjudications are implemented.) Legality-testing must be\r
+ on for this option to work.}{\cf11 \r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 ruleMoves}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 ruleMoves}{\f1  }}}{\f1\cf11  /ruleMoves }{\i\f1\cf11 number}{\f1\cf11 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 If the given value is non-zero, WinBoard adjudicates the game as a draw after the given }{\i\f1\cf11 number}{\f1\cf11 \r
@@ -1931,8 +1925,8 @@ elong in this category, and might be taken out in the future. (When bitbase-base
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 repeatsToDraw}{\f1  }}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 repeatsToDraw}{\f1  }}}{\f1\cf11  /repeatsToDraw }{\i\f1\cf11 number}{\f1\cf11 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 If the given value is non-zero, WinBoard adjudicates the game as a draw if a position is repeated the given }{\i\f1\cf11 number}{\f1\cf11 \r
- of times. Engines can claim draws after 3 repeats, (on the 3rd occurrence, actually), irrespective of the value of }{\i\f1\cf11 number}{\f1\cf11 . Beware that positions that have different castling or\r
- en-passant rights do not count as repeats, WinBoard is fully e.p. and castling aware!}{\cf11 \r
+ of times. Engines can claim draws after 3 repeats, (on the 3rd occurrence, actually), irrespective of the value of }{\i\f1\cf11 number}{\f1\cf11 . Beware that positions that have different castling or en-passant rights do not count as repeats, WinBoar\r
+d is fully e.p. and castling aware!}{\cf11 \r
 \par }\pard\plain \s1\li120\sb280\sa120\sl-320\slmult0\nowidctlpar\outlinelevel0\adjustright \b\f5\cgrid {\f1\fs20\cf11 \page }{\cs58\f1\fs20\super +{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\r
 \cs58\f1\super +}{\f1  main}}K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  Other Options}}${\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \r
 \f5\fs20\cgrid {\cs58\f1\super $}{\f1  Other Options}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  OtherOptions}}}{\b0\f1\fs18\up6  }{\f1\fs20 Other Options\r
@@ -1947,12 +1941,12 @@ If this option is True, WinBoard acts as a passive chessboard; it does not start
 \nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  initialMode}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  initialMode}}}{\f1  /initialMode }{\i\f1 modename\r
 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 If this option is given, WinBoard selects the given }{\i\f1 modename}{\f1  from the }{\f1\uldb Mode menu}{\v\f1 ModeMenu }{\f1 \r
-after starting and (if applicable) processing the }{\f1\uldb loadGameFile}{\v\f1 loadGameFile }{\f1 or }{\f1\uldb loadPositionFile}{\v\f1 loadPositionFile }{\f1 option. Default: "". Other supported values are \r
-TwoMachines, AnalyzeFile, Analysis, MachineWhite, MachineBlack, EditGame, EditPosition, and Training.\r
+after starting and (if applicable) processing the }{\f1\uldb loadGameFile}{\v\f1 loadGameFile }{\f1 or }{\f1\uldb loadPositionFile}{\v\f1 loadPositionFile }{\f1 option. Default: "". Other supported values are TwoMachin\r
+es, AnalyzeFile, Analysis, MachineWhite, MachineBlack, EditGame, EditPosition, and Training.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 variant}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  variant}}}{\f1  /variant}{\b0\f1  }{\i\f1  varname}{\f1 \r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {Activates preliminary, partial support for playing chess variants against a local engine or editing variant games\r
-. This flag is not needed in ICS mode. Recognized variant names are:\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {Activates preliminary, partial support for playing chess variants against a local engine or editing variant games. This fl\r
+ag is not needed in ICS mode. Recognized variant names are:\r
 \par }\pard\plain \s20\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {normal\tab \tab Normal chess\line wildcastle\tab Shuffle chess, king can castle from d file\line nocastle\tab Shuffle chess, no castling allowed\line fischerandom\tab \r
 Fischer Random shuffle chess\line bughouse\tab Bughouse, ICC/FICS rules\line crazyhouse\tab Crazyhouse, ICC/FICS rules\line losers  \tab Lose all pieces or get mated (ICC wild 17)\line suicide\tab Lose all pieces including king (FICS)\line giveaway\tab \r
 Try to have no legal moves (ICC wild 26)\line twokings\tab Weird ICC wild 9\line kriegspiel\tab Opponent's pieces are invisible\line atomic   \tab Capturing piece explodes (ICC wild 27)\line 3check\tab Win by giving check 3 times (ICC wild 25)\r
@@ -1963,8 +1957,8 @@ A patented Chess variant with two Falcon pieces (10x8) board \line berolina\tab
 fairy\tab \tab A variant in which all pieces known to WinBoard can participate\line knightmate\tab King moves a Knight, and vice versa\line }{\cf2 super\tab \tab Superchess, a shuffle variant with B+N, R+N, K+N and Q+N compound\line great\tab \tab \r
 Great Shatranj, whithout sliders, on 10x8 board (legality testing off!)\line }{\r
 \par In the shuffle variants, WinBoard does now shuffle the pieces, although you can still do it by hand using Edit Position. }{\cf0 Some variants are supported only in ICS mode, including bughouse, and kriegspiel.}{ }{\cf0 \r
-The winning/drawing conditions in crazyhouse (offboard interposition on mate), losers, suicide, giveaway, atomic, and 3check are not fully understood. In crazyhouse,}{ WinBoard now does keep track of offboard pieces.In shat\r
-ranj it does implement the baring rule when mate detection is switched on.\r
+The winning/drawing conditions in crazyhouse (offboard interposition on mate), losers, suicide, giveaway, atomic, and 3check are not fully understood. In crazyhouse,}{ WinBoard now does keep track of offboard pieces.In shatranj it d\r
+oes implement the baring rule when mate detection is switched on.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\cf11\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  }{\r
 \f1\cf11 boardHeight}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  }{\f1\cf11 boardHeight}}}{\f1\cf11  /boardHeight }{\i\f1\cf11 height}{\f1\cf11 \r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1\cf11 Allows you to set a non-standard number of board ranks in any variant. If the height is given as \lquote -1\rquote , the default height for the variant is used.\r
@@ -2037,8 +2031,8 @@ option while reading settings (whether from the command line or a file), it read
 \par Warning: Because Save Settings overwrites the last settings file (usually WinBoard.ini) and only saves a subset of WinBoard's options, you should not add \r
 settings of more options to such a file with a text editor. If you do this, your additional options will be lost on the next Save Settings. You can change the values of existing settings freely, using Notepad or any plain text editor. Be careful not to do\r
  this while WinBoard is running, however, unless you know that Save Settings on Exit is off. Otherwise all your changes will be overwritten and lost when WinBoard exits.\r
-\par }\pard\plain \s66\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cf11\cgrid {\f1 Notice that tournament managers, like PSWBTM, usually call WinBoard with the option \r
-not to save settings on exit, so that the entire tournament uses the same settings. So it does make sense to edit \lquote volatile\rquote  options, such as /variant, into the settings file.\r
+\par }\pard\plain \s66\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cf11\cgrid {\f1 Notice that tournament managers, like PSWBTM, usually call WinBoard with the option not\r
+ to save settings on exit, so that the entire tournament uses the same settings. So it does make sense to edit \lquote volatile\rquote  options, such as /variant, into the settings file.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\cs58\f1\super K{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super K}{\f1  ICS Logon}\r
 }#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  ICSLogon}}}{\f1  ICS Logon\r
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Whenever WinBoard connects to the Internet Chess Server, if it finds a file called }{\i\f1 ICS.ini }{\f1 in its installation directory}{\i\f1 ,}{\f1 \r
@@ -2076,13 +2070,13 @@ mpt box and make sure it works before you go on.
 \r
 \par }\pard\plain \s63\fi-720\li1440\sb80\sl-240\slmult0\nowidctlpar\adjustright \f2\fs20\cgrid {WinBoard /cp /fcp=WCrafty-15.* /fd="C:\\Program Files\\Crafty" /scp=WCrafty-15.* /sd="C:\\Program Files\\Crafty"\r
 \par }\pard\plain \s16\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 WinBoard should start up, with Crafty running as its chess engine. Check that you can play chess against Crafty.\r
-\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 4. To make a shortcut or Start menu entry for Crafty: Right-click on the desktop and select New/Shortcut. Use \r
-the Browse button to find your winboard.exe file and get its name into the Command Line box. (It usually will be "C:\\Program Files\\WinBoard\\\r
+\par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 4. To make a shortcut or Start menu entry for Crafty: Right-click on the desktop and select New/Shortcut. Use the Bro\r
+wse button to find your winboard.exe file and get its name into the Command Line box. (It usually will be "C:\\Program Files\\WinBoard\\\r
 winboard.exe".) Click in the Command Line box and hit the End key to go to the end. Add the following to the end of the command line, }{\i\f1 after}{\f1  the closing quotation mark. Use the actual name of the wcrafty file you downloaded, not an }{\f2 *}{\r
 \f1 , and if your browser changed the first period to an underscore when you downloaded the file, make that change in the command line too.\r
 \par }\pard\plain \s63\fi-720\li1440\sb80\sl-240\slmult0\nowidctlpar\adjustright \f2\fs20\cgrid {/cp /fcp=WCrafty-15.* /fd="C:\\Program Files\\Crafty" \line /scp=WCrafty-15.* /sd="C:\\Program Files\\Crafty"\r
-\par }\pard\plain \s62\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Press Next, choose a name for the shortcut, and press Finish. You can now use this shortcut to run WinBoard with Crafty. Double-click it to check that it works\r
-. You can drag or copy the shortcut into your Start menu if you like.\r
+\par }\pard\plain \s62\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Press Next, choose a name for the shortcut, and press Finish. You can now use this shortcut to run WinBoard with Crafty. Double-click it to check that it works. You c\r
+an drag or copy the shortcut into your Start menu if you like.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 5. To add Crafty as an option in the WinBoard Startup dialog, edit your }{\f1\uldb WinBoard.ini file}{\v\f1 Settings}{\f1 \r
  with Notepad or another plain text editor, carefully following the example shown under }{\f1\uldb /firstChessProgramNames}{\v\f1 firstChessProgramNames}{\f1  above.\r
 \par }\pard\plain \s2\li120\sb120\sa60\sl-240\slmult0\nowidctlpar\outlinelevel1\adjustright \b\f5\fs20\cgrid {\f1 For more information\r
@@ -2117,8 +2111,8 @@ e scope of this document, but see the SOCKS Web site at http://www.socks.nec.com
 K}{\f1  Limitations}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super #}{\f1  Limitations}}${\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \r
 \f5\fs20\cgrid {\cs58\f1\super $}{\f1  Limitations}}+{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\cs58\f1\super +}{\f1  main}}}{\f1\fs18\up6  }{\f1\fs20 LIMITATIONS }{\f1\fs20\cf11 \r
 AND NON-LIMITATIONS}{\f1\fs20 \r
-\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 WinBoard}{\i\f1  }{\f1 is a Win32 application. It runs only on Windows NT and Windo\r
-ws 95. It does not work on Windows 3.11 or earlier, even with the Win32s compatibility package.\r
+\par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 WinBoard}{\i\f1  }{\f1 is a Win32 application. It runs only on Windows NT and Window\r
+s 95. It does not work on Windows 3.11 or earlier, even with the Win32s compatibility package.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\i\f1 CMail, }{\f1 the companion program to xboard for playing electronic mail correspondence chess, has not been ported to Win32.\r
 \par There is no way for two people running copies of WinBoard}{\i\f1  }{\f1 to play each other without going through the Internet Chess Server.\r
 \par Under some circumstances, your ICS password may be echoed when you log on.\r
@@ -2163,7 +2157,7 @@ on he added most of the adjudication options, made WinBoard ore robust in dealin
 \par }\pard\plain \s66\li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cf11\cgrid {\f1 The WinBoard 4.3.xx line is being developed by H.G. Muller independently of the GNU Savannah xboard project. Bug reports on this version, and suggestions for impr\r
 ovements and additions, are best posted in the WinBoard forum, development section (}{\field{\*\fldinst {\f1  HYPERLINK http://www.open-aurec.com/wbforum) }{\f1 {\*\datafield \r
 00d0c9ea79f9bace118c8200aa004ba90b02000000170000002300000068007400740070003a002f002f007700770077002e006f00700065006e002d00610075007200650063002e0063006f006d002f007700620066006f00720075006d0029000000e0c9ea79f9bace118c8200aa004ba90b460000006800740074007000\r
-3a002f002f007700770077002e006f00700065006e002d00610075007200650063002e0063006f006d002f007700620066006f00720075006d0029000000000000000000000000}}}{\fldrslt {\cs59\ul\cf2 http://www.open-aurec.com/wbforum)}}}{\f1 .\r
+3a002f002f007700770077002e006f00700065006e002d00610075007200650063002e0063006f006d002f007700620066006f00720075006d002900000000000000000000000000}}}{\fldrslt {\cs59\ul\cf2 http://www.open-aurec.com/wbforum)}}}{\f1 .\r
 \par }{\f1\cf2 Michel van den Bergh provided the code for reading Polyglot opening books.\r
 \par Arun Persaud worked with H.G. Muller to combine all the features of the never-released WinBoard 4.2.8 of the Savannah project (mainly by Daniel Mehrmann), and the never-released 4.3.16 into a unified WinBoard 4.4, which is now available both from the Sava\r
 nnah web site and the WinBoard forum.\r
@@ -2173,11 +2167,11 @@ K}{\f1  Copyright}}#{\footnote\ftnalt \pard\plain \s57\li120\sb80\sl-240\slmult0
 \par }\pard\plain \s26\li120\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts. \line Enhancements Copyright 1992-2009 Free Software Foundation, Inc.\r
 \par }\pard\plain \li120\sb80\sl-240\slmult0\nowidctlpar\adjustright \f5\fs20\cgrid {\f1 The following terms apply to Digital Equipment Corporation's copyright interest in WinBoard:\r
 \par All Rights Reserved\r
-\par Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyri\r
-ght notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Digital not be used in advertising or publicity pertaining to distribution of the software without spec\r
-ific, written prior permission.\r
-\par DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAM\r
-AGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r
+\par Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided\r
+ that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Digital not be used in advertising or publicity pertaining to distribution of the\r
+ software without specific, written prior permission.\r
+\par DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENT\r
+IAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r
 \par The following terms apply to the enhanced version of WinBoard distributed by the Free Software Foundation:\r
 \par This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.\r
 \par This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.\r
diff --git a/winboard/wsettings.c b/winboard/wsettings.c
new file mode 100644 (file)
index 0000000..0a25f9b
--- /dev/null
@@ -0,0 +1,658 @@
+/*\r
+ * Engine-settings dialog. The complexity come from an attempt to present the engine-defined options\r
+ * in a nicey formatted layout. To this end we first run a back-end pre-formatter, which will distribute\r
+ * the controls over two columns (the minimum required, as some are double width). It also takes care of \r
+ * grouping options that start with the same word (mainly for "Polyglot ..." options). It assigns relative\r
+ * suitability to break points between lines, and in the end decides if and where to break up the list\r
+ * for display in multiple (2*N) columns.\r
+ * The thus obtained list representing the topology of the layout is then passed to a front-end routine\r
+ * that generates the actual dialog box from it.\r
+ */\r
+\r
+//#include "config.h"\r
+#include "config.h"\r
+\r
+#include <stdio.h>\r
+#include "common.h"\r
+#include "backend.h"\r
+\r
+int layoutList[2*MAX_OPTIONS];\r
+int checkList[2*MAX_OPTIONS];\r
+int comboList[2*MAX_OPTIONS];\r
+int buttonList[2*MAX_OPTIONS];\r
+int boxList[2*MAX_OPTIONS];\r
+int groupNameList[2*MAX_OPTIONS];\r
+int breaks[MAX_OPTIONS];\r
+int checks, combos, buttons, layout, groups;\r
+\r
+void\r
+PrintOpt(int i, int right, ChessProgramState *cps)\r
+{\r
+    if(i<0) {\r
+       if(!right) fprintf(debugFP, "%30s", "");\r
+    } else {\r
+       Option opt = cps->option[i];\r
+       switch(opt.type) {\r
+           case Spin:\r
+               fprintf(debugFP, "%20.20s [    +/-]", opt.name);\r
+               break;\r
+           case TextBox:\r
+               fprintf(debugFP, "%20.20s [______________________________________]", opt.name);\r
+               break;\r
+           case CheckBox:\r
+               fprintf(debugFP, "[x] %-26.25s", opt.name);\r
+               break;\r
+           case ComboBox:\r
+               fprintf(debugFP, "%20.20s [ COMBO ]", opt.name);\r
+               break;\r
+           case Button:\r
+           case SaveButton:\r
+               fprintf(debugFP, "[ %26.26s ]", opt.name);\r
+               break;\r
+       }\r
+    }\r
+    fprintf(debugFP, right ? "\n" : " ");\r
+}\r
+\r
+void\r
+CreateOptionDialogTest(int *list, int nr, ChessProgramState *cps)\r
+{\r
+    int line;\r
+\r
+    for(line = 0; line < nr; line+=2) {\r
+       PrintOpt(list[line+1], 0, cps);\r
+       PrintOpt(list[line], 1, cps);\r
+    }\r
+}\r
+\r
+void\r
+LayoutOptions(int firstOption, int endOption, char *groupName, Option *optionList)\r
+{\r
+    int n, i, b = strlen(groupName), stop, prefix, right, nextOption, firstButton = buttons;\r
+    Control lastType, nextType;\r
+\r
+    nextOption = firstOption;\r
+    while(nextOption < endOption) {\r
+       checks = combos = 0; stop = 0;\r
+       lastType = Button; // kludge to make sure leading Spin will not be prefixed\r
+       // first separate out buttons for later treatment, and collect consecutive checks and combos\r
+       while(nextOption < endOption && !stop) {\r
+           switch(nextType = optionList[nextOption].type) {\r
+               case CheckBox: checkList[checks++] = nextOption; lastType = CheckBox; break;\r
+               case ComboBox: comboList[combos++] = nextOption; lastType = ComboBox; break;\r
+               case SaveButton:\r
+               case Button:  buttonList[buttons++] = nextOption; lastType = Button; break;\r
+               case TextBox:\r
+               case Spin: stop++;\r
+           }\r
+           nextOption++;\r
+       }\r
+       // We now must be at the end, or looking at a spin or textbox (in nextType)\r
+       if(!stop) \r
+           nextType = Button; // kudge to flush remaining checks and combos undistorted\r
+       // Take a new line if a spin follows combos or checks, or when we encounter a textbox\r
+       if((combos+checks || nextType == TextBox) && layout&1) {\r
+           layoutList[layout++] = -1;\r
+       }\r
+       // The last check or combo before a spin will be put on the same line as that spin (prefix)\r
+       // and will thus not be grouped with other checks and combos\r
+       prefix = -1;\r
+       if(nextType == Spin && lastType != Button) {\r
+           if(lastType == CheckBox) prefix = checkList[--checks]; else\r
+           if(lastType == ComboBox) prefix = comboList[--combos];\r
+       }\r
+       // if a combo is followed by a textbox, it must stay at the end of the combo/checks list to appear\r
+       // immediately above the textbox, so treat it as check. (A check would automatically be and remain there.)\r
+       if(nextType == TextBox && lastType == ComboBox)\r
+           checkList[checks++] = comboList[--combos];\r
+       // Now append the checks behind the (remaining) combos to treat them as one group\r
+       for(i=0; i< checks; i++) \r
+           comboList[combos++] = checkList[i];\r
+       // emit the consecutive checks and combos in two columns\r
+       right = combos/2; // rounded down if odd!\r
+       for(i=0; i<right; i++) {\r
+           breaks[layout/2] = 2;\r
+           layoutList[layout++] = comboList[i];\r
+           layoutList[layout++] = comboList[i + right];\r
+       }\r
+       // An odd check or combo (which could belong to following textBox) will be put in the left column\r
+       // If there was an even number of checks and combos the last one will automatically be in that position\r
+       if(combos&1) {\r
+           layoutList[layout++] = -1;\r
+           layoutList[layout++] = comboList[2*right];\r
+       }\r
+       if(nextType == TextBox) {\r
+           // A textBox is double width, so must be left-adjusted, and the right column remains empty\r
+           breaks[layout/2] = lastType == Button ? 0 : 100;\r
+           layoutList[layout++] = -1;\r
+           layoutList[layout++] = nextOption - 1;\r
+       } else if(nextType == Spin) {\r
+           // A spin will go in the next available position (right to left!). If it had to be prefixed with\r
+           // a check or combo, this next position must be to the right, and the prefix goes left to it.\r
+           layoutList[layout++] = nextOption - 1;\r
+           if(prefix >= 0) layoutList[layout++] = prefix;\r
+       }\r
+    }\r
+    // take a new line if needed\r
+    if(layout&1) layoutList[layout++] = -1;\r
+    // emit the buttons belonging in this group; loose buttons are saved for last, to appear at bottom of dialog\r
+    if(b) {\r
+       while(buttons > firstButton)\r
+           layoutList[layout++] = buttonList[--buttons];\r
+       if(layout&1) layoutList[layout++] = -1;\r
+    }\r
+}\r
+\r
+char *p\r
+EndMatch(char *s1, char *s2)\r
+{\r
+       char *p, *q;\r
+       p = s1; while(*p) p++;\r
+       q = s2; while(*q) q++;\r
+       while(p > s1 && q > s2 && *p == *q) { p--; q--; }\r
+       if(p[1] == 0) return NULL;\r
+       return p+1;\r
+}\r
+\r
+void\r
+DesignOptionDialog(ChessProgramState *cps)\r
+{\r
+    int k=0, n=0;\r
+    char buf[MSG_SIZ];\r
+\r
+    layout = 0;\r
+    buttons = groups = 0;\r
+    while(k < cps->nrOptions) { // k steps through 'solitary' options\r
+       // look if we hit a group of options having names that start with the same word\r
+       int groupSize = 1, groupNameLength = 50;\r
+       sscanf(cps->option[k].name, "%s", &buf); // get first word of option name\r
+       while(k + groupSize < cps->nrOptions &&\r
+             strstr(cps->option[k+groupSize].name, buf) == cps->option[k+groupSize].name) {\r
+               int j;\r
+               for(j=0; j<groupNameLength; j++) // determine common initial part of option names\r
+                   if( cps->option[k].name[j] != cps->option[k+groupSize].name[j]) break;\r
+               groupNameLength = j;\r
+               groupSize++;\r
+               \r
+       }\r
+       if(groupSize > 3) {\r
+               // We found a group to terminates the current section\r
+               LayoutOptions(n, k, "", cps->option); // flush all solitary options appearing before the group\r
+               groupNameList[groups] = groupNameLength;\r
+               boxList[groups++] = layout; // group start in even entries\r
+               LayoutOptions(k, k+groupSize, buf, cps->option); // flush the group\r
+               boxList[groups++] = layout; // group end in odd entries\r
+               k = n = k + groupSize;\r
+       } else {\r
+               // try to recognize "two-column groups" based on option suffix\r
+               int j = 1;\r
+               while((p = EndMatch(cps->option[k].name, EndMatch(cps->option[k+2*j].name)) &&\r
+                     (q = EndMatch(cps->option[k+1].name, EndMatch(cps->option[k+2*j+1].name)) ) j++\r
+       } else k += groupSize; // small groups are grouped with the solitary options\r
+    }\r
+    if(n != k) LayoutOptions(n, k, "", cps->option); // flush remaining solitary options\r
+    // decide if and where we break into two column pairs\r
+    \r
+    // Emit buttons and add OK and cancel\r
+//    for(k=0; k<buttons; k++) layoutList[layout++] = buttonList[k];\r
+    // Create the dialog window\r
+    if(appData.debugMode) CreateOptionDialogTest(layoutList, layout, cps);\r
+//    CreateOptionDialog(layoutList, layout, cps);\r
+}\r
+\r
+#include <windows.h>\r
+\r
+extern HINSTANCE hInst;\r
+\r
+typedef struct {\r
+    DLGITEMTEMPLATE item;\r
+    WORD code;\r
+    WORD controlType;\r
+    wchar_t d1, data;\r
+    WORD creationData;\r
+} Item;\r
+\r
+struct {\r
+    DLGTEMPLATE header;\r
+    WORD menu;\r
+    WORD winClass;\r
+    wchar_t title[20];\r
+    WORD pointSize;\r
+    wchar_t fontName[14];\r
+    Item control[MAX_OPTIONS];\r
+} template = {\r
+    { DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SETFONT, 0, 0, 0, 0, 295, 300 },\r
+    0x0000, 0x0000, L"Engine #1 Settings ", 8, L"MS Sans Serif"\r
+};\r
+\r
+ChessProgramState *activeCps;\r
+\r
+void\r
+SetOptionValues(HWND hDlg, ChessProgramState *cps)\r
+// Put all current option values in controls, and write option names next to them\r
+{\r
+    HANDLE hwndCombo;\r
+    int i, k;\r
+    char **choices, title[MSG_SIZ], *name;\r
+\r
+    for(i=0; i<layout+buttons; i++) {\r
+       int j=layoutList[i];\r
+       if(j == -2) SetDlgItemText( hDlg, 2000+2*i, ". . ." );\r
+       if(j<0) continue;\r
+       name = cps->option[j].name;\r
+       if(strstr(name, "Polyglot ") == name) name += 9;\r
+       SetDlgItemText( hDlg, 2000+2*i, name );\r
+//if(appData.debugMode) fprintf(debugFP, "# %s = %d\n",cps->option[j].name, cps->option[j].value );\r
+       switch(cps->option[j].type) {\r
+           case Spin:\r
+               SetDlgItemInt( hDlg, 2001+2*i, cps->option[j].value, TRUE );\r
+               break;\r
+           case TextBox:\r
+               SetDlgItemText( hDlg, 2001+2*i, cps->option[j].textValue );\r
+               break;\r
+           case CheckBox:\r
+               CheckDlgButton( hDlg, 2000+2*i, cps->option[j].value != 0);\r
+               break;\r
+           case ComboBox:\r
+               choices = (char**) cps->option[j].textValue;\r
+               hwndCombo = GetDlgItem(hDlg, 2001+2*i);\r
+               SendMessage(hwndCombo, CB_RESETCONTENT, 0, 0);\r
+               for(k=0; k<cps->option[j].max; k++) {\r
+                   SendMessage(hwndCombo, CB_ADDSTRING, 0, (LPARAM) choices[k]);\r
+               }\r
+               SendMessage(hwndCombo, CB_SELECTSTRING, (WPARAM) -1, (LPARAM) choices[cps->option[j].value]);\r
+               break;\r
+           case Button:\r
+           case SaveButton:\r
+               break;\r
+       }\r
+    }\r
+    SetDlgItemText( hDlg, IDOK, "OK" );\r
+    SetDlgItemText( hDlg, IDCANCEL, "Cancel" );\r
+    sprintf(title, "%s Engine Settings (%s)", cps->which, cps->tidy); \r
+    title[0] &= ~32; // capitalize\r
+    SetWindowText( hDlg, title);\r
+    for(i=0; i<groups; i+=2) { \r
+       int id, p; char buf[MSG_SIZ];\r
+       id = k = boxList[i];\r
+       if(layoutList[k] < 0) k++;\r
+       if(layoutList[k] < 0) continue;\r
+       for(p=0; p<groupNameList[i]; p++) buf[p] = cps->option[layoutList[k]].name[p];\r
+       buf[p] = 0;\r
+       SetDlgItemText( hDlg, 2000+2*(id+MAX_OPTIONS), buf );\r
+    }\r
+}\r
+\r
+\r
+void\r
+GetOptionValues(HWND hDlg, ChessProgramState *cps)\r
+// read out all controls, and if value is altered, remember it and send it to the engine\r
+{\r
+    HANDLE hwndCombo;\r
+    int i, k, new, changed;\r
+    char **choices, newText[MSG_SIZ], buf[MSG_SIZ];\r
+    BOOL success;\r
+\r
+    for(i=0; i<layout; i++) {\r
+       int j=layoutList[i];\r
+       if(j<0) continue;\r
+       SetDlgItemText( hDlg, 2000+2*i, cps->option[j].name );\r
+       switch(cps->option[j].type) {\r
+           case Spin:\r
+               new = GetDlgItemInt( hDlg, 2001+2*i, &success, TRUE );\r
+               if(!success) break;\r
+               if(new < cps->option[j].min) new = cps->option[j].min;\r
+               if(new > cps->option[j].max) new = cps->option[j].max;\r
+               changed = 2*(cps->option[j].value != new);\r
+               cps->option[j].value = new;\r
+               break;\r
+           case TextBox:\r
+           case FileName:\r
+           case PathName:\r
+               success = GetDlgItemText( hDlg, 2001+2*i, newText, MSG_SIZ - strlen(cps->option[j].name) - 9 );\r
+               if(!success) break;\r
+               changed = strcmp(cps->option[j].textValue, newText) != 0;\r
+               strcpy(cps->option[j].textValue, newText);\r
+               break;\r
+           case CheckBox:\r
+               new = IsDlgButtonChecked( hDlg, 2000+2*i );\r
+               changed = 2*(cps->option[j].value != new);\r
+               cps->option[j].value = new;\r
+               break;\r
+           case ComboBox:\r
+               choices = (char**) cps->option[j].textValue;\r
+               hwndCombo = GetDlgItem(hDlg, 2001+2*i);\r
+               success = GetDlgItemText( hDlg, 2001+2*i, newText, MSG_SIZ );\r
+               if(!success) break;\r
+               new = -1;\r
+               for(k=0; k<cps->option[j].max; k++) {\r
+                   if(!strcmp(choices[k], newText)) new = k;\r
+               }\r
+               changed = new >= 0 && (cps->option[j].value != new);\r
+               if(changed) cps->option[j].value = new;\r
+               break;\r
+           case Button:\r
+               break; // are treated instantly, so they have been sent already\r
+       }\r
+       if(changed == 2) sprintf(buf, "option %s=%d\n", cps->option[j].name, new); else\r
+       if(changed == 1) sprintf(buf, "option %s=%s\n", cps->option[j].name, newText);\r
+       if(changed) SendToProgram(buf, cps);\r
+    }\r
+}\r
+\r
+LRESULT CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+{\r
+    static int * lpIndexFRC;\r
+    BOOL index_is_ok;\r
+    char buf[MSG_SIZ];\r
+    int i, j;\r
+\r
+    switch( message )\r
+    {\r
+    case WM_INITDIALOG:\r
+\r
+//        CenterWindow(hDlg, GetWindow(hDlg, GW_OWNER));\r
+       SetOptionValues(hDlg, activeCps);\r
+\r
+//        SetFocus(GetDlgItem(hDlg, IDC_NFG_Edit));\r
+\r
+        break;\r
+\r
+    case WM_COMMAND:\r
+        switch( LOWORD(wParam) ) {\r
+        case IDOK:\r
+           GetOptionValues(hDlg, activeCps);\r
+            EndDialog( hDlg, 0 );\r
+            return TRUE;\r
+\r
+        case IDCANCEL:\r
+            EndDialog( hDlg, 1 );   \r
+            return TRUE;\r
+\r
+       default:\r
+           // program-defined push buttons\r
+           i = LOWORD(wParam);\r
+           if( i>=2000 &&  i < 2000+2*(layout+buttons)) {\r
+               j = layoutList[(i - 2000)/2];\r
+               if(j == -2) {\r
+                         char filter[] = \r
+                               "All files\0*.*\0BIN Files\0*.bin\0LOG Files\0*.log\0INI Files\0*.ini\0\0";\r
+/*\r
+{ \r
+                             'A','l','l',' ','F','i','l','e','s', 0,\r
+                             '*','.','*', 0,\r
+                             'B','I','N',' ','F','i','l','e','s', 0,\r
+                             '*','.','b','i','n', 0,\r
+                             0 };\r
+*/\r
+                         OPENFILENAME ofn;\r
+\r
+                         strcpy( buf, "" );\r
+\r
+                         ZeroMemory( &ofn, sizeof(ofn) );\r
+\r
+                         ofn.lStructSize = sizeof(ofn);\r
+                         ofn.hwndOwner = hDlg;\r
+                         ofn.hInstance = hInst;\r
+                         ofn.lpstrFilter = filter;\r
+                         ofn.lpstrFile = buf;\r
+                         ofn.nMaxFile = sizeof(buf);\r
+                         ofn.lpstrTitle = "Choose Book";\r
+                         ofn.Flags = OFN_FILEMUSTEXIST | OFN_LONGNAMES | OFN_HIDEREADONLY;\r
+\r
+                         if( GetOpenFileName( &ofn ) ) {\r
+                             SetDlgItemText( hDlg, i+3, buf );\r
+                         }\r
+               }\r
+               if(j < 0) break;\r
+               if( activeCps->option[j].type  == SaveButton)\r
+                    GetOptionValues(hDlg, activeCps);\r
+               else if( activeCps->option[j].type  != Button) break;\r
+               sprintf(buf, "option %s\n", activeCps->option[j].name);\r
+               SendToProgram(buf, activeCps);\r
+           }\r
+           break;\r
+        }\r
+\r
+        break;\r
+    }\r
+\r
+    return FALSE;\r
+}\r
+\r
+#if 0\r
+// example copied from MS docs\r
+#define ID_HELP   150\r
+#define ID_TEXT   200\r
+\r
+LPWORD lpwAlign(LPWORD lpIn)\r
+{\r
+    ULONG ul;\r
+\r
+    ul = (ULONG)lpIn;\r
+    ul ++;\r
+    ul >>=1;\r
+    ul <<=1;\r
+    return (LPWORD)ul;\r
+}\r
+\r
+LRESULT DisplayMyMessage(HINSTANCE hinst, HWND hwndOwner, LPSTR lpszMessage)\r
+{\r
+    HGLOBAL hgbl;\r
+    LPDLGTEMPLATE lpdt;\r
+    LPDLGITEMTEMPLATE lpdit;\r
+    LPWORD lpw;\r
+    LPWSTR lpwsz;\r
+    LRESULT ret;\r
+    int nchar;\r
+\r
+    hgbl = GlobalAlloc(GMEM_ZEROINIT, 1024);\r
+    if (!hgbl)\r
+        return -1;\r
\r
+    lpdt = (LPDLGTEMPLATE)GlobalLock(hgbl);\r
\r
+    // Define a dialog box.\r
\r
+    lpdt->style = WS_POPUP | WS_BORDER | WS_SYSMENU | DS_MODALFRAME | WS_CAPTION;\r
+//               WS_POPUP |             WS_SYSMENU | DS_MODALFRAME | WS_CAPTION | DS_SETFONT\r
+    lpdt->cdit = 3;         // Number of controls\r
+    lpdt->x  = 10;  lpdt->y  = 10;\r
+    lpdt->cx = 100; lpdt->cy = 100;\r
+\r
+    lpw = (LPWORD)(lpdt + 1);\r
+    *lpw++ = 0;             // No menu\r
+    *lpw++ = 0;             // Predefined dialog box class (by default)\r
+\r
+    lpwsz = (LPWSTR)lpw;\r
+    nchar = 1 + MultiByteToWideChar(CP_ACP, 0, "My Dialog", -1, lpwsz, 50);\r
+    lpw += nchar;\r
+\r
+    //-----------------------\r
+    // Define an OK button.\r
+    //-----------------------\r
+    lpw = lpwAlign(lpw);    // Align DLGITEMTEMPLATE on DWORD boundary\r
+    lpdit = (LPDLGITEMTEMPLATE)lpw;\r
+    lpdit->x  = 10; lpdit->y  = 70;\r
+    lpdit->cx = 80; lpdit->cy = 20;\r
+    lpdit->id = IDOK;       // OK button identifier\r
+    lpdit->style = WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON;\r
+\r
+    lpw = (LPWORD)(lpdit + 1);\r
+    *lpw++ = 0xFFFF;\r
+    *lpw++ = 0x0080;        // Button class\r
+\r
+    lpwsz = (LPWSTR)lpw;\r
+    nchar = 1 + MultiByteToWideChar(CP_ACP, 0, "OK", -1, lpwsz, 50);\r
+    lpw += nchar;\r
+    lpw = lpwAlign(lpw);    // Align creation data on DWORD boundary\r
+    *lpw++ = 0;             // No creation data\r
+\r
+    //-----------------------\r
+    // Define a Help button.\r
+    //-----------------------\r
+    lpw = lpwAlign(lpw);    // Align DLGITEMTEMPLATE on DWORD boundary\r
+    lpdit = (LPDLGITEMTEMPLATE)lpw;\r
+    lpdit->x  = 55; lpdit->y  = 10;\r
+    lpdit->cx = 40; lpdit->cy = 20;\r
+    lpdit->id = ID_HELP;    // Help button identifier\r
+    lpdit->style = WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON;\r
+\r
+    lpw = (LPWORD)(lpdit + 1);\r
+    *lpw++ = 0xFFFF;\r
+    *lpw++ = 0x0080;        // Button class atom\r
+\r
+    lpwsz = (LPWSTR)lpw;\r
+    nchar = 1 + MultiByteToWideChar(CP_ACP, 0, "Help", -1, lpwsz, 50);\r
+    lpw += nchar;\r
+    lpw = lpwAlign(lpw);    // Align creation data on DWORD boundary\r
+    *lpw++ = 0;             // No creation data\r
+\r
+    //-----------------------\r
+    // Define a static text control.\r
+    //-----------------------\r
+    lpw = lpwAlign(lpw);    // Align DLGITEMTEMPLATE on DWORD boundary\r
+    lpdit = (LPDLGITEMTEMPLATE)lpw;\r
+    lpdit->x  = 10; lpdit->y  = 10;\r
+    lpdit->cx = 40; lpdit->cy = 20;\r
+    lpdit->id = ID_TEXT;    // Text identifier\r
+    lpdit->style = WS_CHILD | WS_VISIBLE | SS_LEFT;\r
+\r
+    lpw = (LPWORD)(lpdit + 1);\r
+    *lpw++ = 0xFFFF;\r
+    *lpw++ = 0x0082;        // Static class\r
+\r
+    for (lpwsz = (LPWSTR)lpw; *lpwsz++ = (WCHAR)*lpszMessage++;);\r
+    lpw = (LPWORD)lpwsz;\r
+    lpw = lpwAlign(lpw);    // Align creation data on DWORD boundary\r
+    *lpw++ = 0;             // No creation data\r
+\r
+    GlobalUnlock(hgbl); \r
+    ret = DialogBoxIndirect(hinst, \r
+                           (LPDLGTEMPLATE)hgbl, \r
+                           hwndOwner, \r
+                           (DLGPROC)DialogProc); \r
+    GlobalFree(hgbl); \r
+    return ret; \r
+}\r
+#endif\r
+\r
+void AddControl(int x, int y, int w, int h, int type, int style, int n)\r
+{\r
+    int i;\r
+\r
+    i = template.header.cdit++;\r
+    template.control[i].item.style = style;\r
+    template.control[i].item.dwExtendedStyle = 0;\r
+    template.control[i].item.x = x;\r
+    template.control[i].item.y = y;\r
+    template.control[i].item.cx = w;\r
+    template.control[i].item.cy = h;\r
+    template.control[i].item.id = 2000 + n;\r
+    template.control[i].code = 0xFFFF;\r
+    template.control[i].controlType = type;\r
+    template.control[i].d1 = ' ';\r
+    template.control[i].data = 0;\r
+    template.control[i].creationData = 0;\r
+}\r
+\r
+void AddOption(int x, int y, Control type, int i)\r
+{\r
+\r
+    switch(type) {\r
+       case Spin:\r
+           AddControl(x, y+1, 95, 9, 0x0082, SS_ENDELLIPSIS | WS_VISIBLE | WS_CHILD, i);\r
+           AddControl(x+95, y, 50, 11, 0x0081, ES_AUTOHSCROLL | ES_NUMBER | WS_BORDER | WS_VISIBLE | WS_CHILD | WS_TABSTOP, i+1);\r
+           break;\r
+//     case TextBox:\r
+           AddControl(x, y+1, 95, 9, 0x0082, SS_ENDELLIPSIS | WS_VISIBLE | WS_CHILD, i);\r
+           AddControl(x+95, y, 190, 11, 0x0081, ES_AUTOHSCROLL | WS_BORDER | WS_VISIBLE | WS_CHILD | WS_TABSTOP, i+1);\r
+           break;\r
+       case TextBox:  // For now all text edits get a browse button, as long as -file and -path options are not yet implemented\r
+       case FileName:\r
+       case PathName:\r
+           AddControl(x, y+1, 95, 9, 0x0082, SS_ENDELLIPSIS | WS_VISIBLE | WS_CHILD, i);\r
+           AddControl(x+95, y, 180, 11, 0x0081, ES_AUTOHSCROLL | WS_BORDER | WS_VISIBLE | WS_CHILD | WS_TABSTOP, i+1);\r
+           AddControl(x+275, y, 20, 12, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD | WS_TABSTOP, i-2);\r
+           layoutList[i/2-1] = -2;\r
+           break;\r
+       case CheckBox:\r
+           AddControl(x, y, 145, 11, 0x0080, BS_AUTOCHECKBOX | WS_VISIBLE | WS_CHILD | WS_TABSTOP, i);\r
+           break;\r
+       case ComboBox:\r
+           AddControl(x, y+1, 95, 9, 0x0082, SS_ENDELLIPSIS | WS_VISIBLE | WS_CHILD, i);\r
+           AddControl(x+95, y-1, 50, 500, 0x0085, CBS_AUTOHSCROLL | CBS_DROPDOWN | WS_VISIBLE | WS_CHILD | WS_TABSTOP, i+1);\r
+           break;\r
+       case Button:\r
+           AddControl(x, y, 40, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, i);\r
+           break;\r
+    }\r
+    \r
+}\r
+\r
+void\r
+CreateDialogTemplate(int *layoutList, int nr, ChessProgramState *cps)\r
+{\r
+    int i, j, x=1, y=0, buttonRows, breakPoint = -1, k=0;\r
+\r
+    template.header.cdit = 0;\r
+    template.header.cx = 307;\r
+    buttonRows = (buttons + 1 + 3)/4; // 4 per row, ronded up\r
+    if(nr > 50) { \r
+       breakPoint = (nr+2*buttonRows+1)/2 & ~1;\r
+       template.header.cx = 625;\r
+    }\r
+\r
+    for(i=0; i<nr; i++) {\r
+       if(k < groups && i == boxList[k]) {\r
+           y += 10;\r
+           AddControl(x+2, y+13*(i>>1)-2, 301, 13*(boxList[k+1]-boxList[k]>>1)+8, \r
+                                               0x0082, WS_VISIBLE | WS_CHILD | SS_BLACKFRAME, 2400);\r
+           AddControl(x+60, y+13*(i>>1)-6, 10*groupNameList[k]/3, 10, \r
+                                               0x0082, SS_ENDELLIPSIS | WS_VISIBLE | WS_CHILD, 2*(i+MAX_OPTIONS));\r
+       }\r
+       j = layoutList[i];\r
+       if(j >= 0)\r
+           AddOption(x+155-150*(i&1), y+13*(i>>1)+5, cps->option[j].type, 2*i);\r
+       if(k < groups && i+1 == boxList[k+1]) {\r
+           k += 2; y += 4;\r
+       }\r
+       if(i+1 == breakPoint) { x += 318; y = -13*(breakPoint>>1); }\r
+    }\r
+    // add butons at the bottom of dialog window\r
+    y += 13*(nr>>1)+5;\r
+\r
+    AddControl(x+275, y+18*(buttonRows-1), 25, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, IDOK-2000);\r
+    AddControl(x+235, y+18*(buttonRows-1), 35, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, IDCANCEL-2000);\r
+    for(i=0; i<buttons; i++) {\r
+       AddControl(x+70*(i%4)+5, y+18*(i/4), 65, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, 2*(nr+i));\r
+       layoutList[nr+i] = buttonList[i];\r
+    }\r
+    template.title[8] = cps == &first ? '1' :  '2';\r
+    template.header.cy = y += 18*buttonRows+2;\r
+    template.header.style &= ~WS_VSCROLL;\r
+    if(y > 300, 0) {\r
+       template.header.cx = 295;\r
+       template.header.cy = 300;\r
+       template.header.style |= WS_VSCROLL;\r
+    }\r
+}\r
+\r
+void \r
+EngineOptionsPopup(HWND hwnd, ChessProgramState *cps)\r
+{\r
+    FARPROC lpProc = MakeProcInstance( (FARPROC) SettingsProc, hInst );\r
+\r
+    activeCps = cps;\r
+    DesignOptionDialog(cps);\r
+    CreateDialogTemplate(layoutList, layout, cps);\r
+\r
+\r
+    DialogBoxIndirect( hInst, &template.header, hwnd, (DLGPROC)lpProc );\r
+\r
+    FreeProcInstance(lpProc);\r
+\r
+    return;\r
+}\r
+\r
+\r