10 years agoFix order of elements in WB time-control dialog
H.G. Muller [Wed, 29 Dec 2010 21:57:55 +0000 (22:57 +0100)]
Fix order of elements in WB time-control dialog

Someleading texts were defined after the text edit they referred to,so
that JAWS 11 associated them to the wrong one. A tab stop was added to
the time-odds label, to make JAWS speak it.

10 years agoChange tabbing order in WB sounds dialog
H.G. Muller [Wed, 29 Dec 2010 21:51:17 +0000 (22:51 +0100)]
Change tabbing order in WB sounds dialog

The 'Play' button now gets focus immediately after the controls for
selecting the sound, rather than at the end of the dialog (after OK).

10 years agoRemove tab stops on first radio button of WB dialogs
H.G. Muller [Wed, 29 Dec 2010 21:47:26 +0000 (22:47 +0100)]
Remove tab stops on first radio button of WB dialogs

The New Variant and Board dialogs had a tab stop on the first radio
button,so that tabbing toit would automatically select variant
normal or size tiny. Now it tabs straight to the current size, without
changing anything. (Important for JAWS users.)

10 years agoPut OK/Cancel last in tab cycle of some WB dialogs
H.G. Muller [Wed, 29 Dec 2010 21:45:23 +0000 (22:45 +0100)]
Put OK/Cancel last in tab cycle of some WB dialogs

10 years agoFix duplicate menu character for Edit Comment
H.G. Muller [Wed, 29 Dec 2010 21:29:37 +0000 (22:29 +0100)]
Fix duplicate menu character for Edit Comment

Edit Comment did have the same shortcut character as Copy Game. Changed
to m now.

10 years agofixed automake process: xboard.conf couldn't be generated if $srcdir was not the...
Arun Persaud [Sat, 11 Dec 2010 19:18:56 +0000 (11:18 -0800)]
fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory

10 years agonew developer release
Arun Persaud [Sat, 11 Dec 2010 17:50:48 +0000 (09:50 -0800)]
new developer release

10 years agoSubject WB context menus to translation
H.G. Muller [Sun, 5 Dec 2010 17:01:21 +0000 (18:01 +0100)]
Subject WB context menus to translation

The innerloopof the menu translation has been made into a separate
routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to
better preserve menu breaks. Menu #10 is used for context menus (from
the routine that pops them up), and for this number the orignal texts
are not saved in menuText. (This is not needed, because the menu is
created everytime anew from the resource data.)

10 years agoUpdate translation template
H.G. Muller [Sun, 5 Dec 2010 14:00:28 +0000 (15:00 +0100)]
Update translation template

Add the new menu items; add some notes.

10 years agoResize buttons in WB engine-settings dialog
H.G. Muller [Sun, 5 Dec 2010 13:04:46 +0000 (14:04 +0100)]
Resize buttons in WB engine-settings dialog

The OK and cancel buttons were to narrow for most translations, and were
a non-standard order as well.

10 years agoAdd one-click move control to WB general-options dialog
H.G. Muller [Sun, 5 Dec 2010 12:56:52 +0000 (13:56 +0100)]
Add one-click move control to WB general-options dialog

This is a duplicate of the one in the ICS options dialog, but the latter
is inaccessible in non-ICS modes, and one-click move is now
alsoavailable in engine mode.

10 years agoCreate space in dialogs for translation
H.G. Muller [Sun, 5 Dec 2010 12:51:20 +0000 (13:51 +0100)]
Create space in dialogs for translation

The translated texts often did not fit, because controls were defined
needlessly small (when there was empty space between them). In these
cases they have been enlarged to consume all available space. Some
dialogs are made wider.

10 years agoAdd handle for translator acknowledgement
H.G. Muller [Sun, 5 Dec 2010 12:47:26 +0000 (13:47 +0100)]
Add handle for translator acknowledgement

An empty string is printed in the about box, which can be 'translated'
to a message acknowledging the translator.

10 years agoUse default logo for user
H.G. Muller [Sun, 5 Dec 2010 12:43:26 +0000 (13:43 +0100)]
Use default logo for user

When no logo with the name of the current user is found, use dummy.bmp.

10 years agoadded rlwrap tip to FAQ
Arun Persaud [Sun, 5 Dec 2010 23:46:34 +0000 (15:46 -0800)]
added rlwrap tip to FAQ

10 years agoreplace hard coded paths with path from configure script
Arun Persaud [Sat, 4 Dec 2010 07:24:06 +0000 (23:24 -0800)]
replace hard coded paths with path from configure script

use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.

10 years agofixed a typo in the configure script output
Arun Persaud [Sat, 4 Dec 2010 07:02:09 +0000 (23:02 -0800)]
fixed a typo in the configure script output

10 years agoadded a desktop file
Arun Persaud [Sat, 4 Dec 2010 05:46:00 +0000 (21:46 -0800)]
added a desktop file

taken from the openSUSE project

10 years agoFix Edit Game/Position checkmarking in WinBoard
H.G. Muller [Fri, 3 Dec 2010 21:44:02 +0000 (22:44 +0100)]
Fix Edit Game/Position checkmarking in WinBoard

Because the entries in Edit and Mode menu were pure duplicats, the
entries in the wrong menu (Edit) were checkmarked while active. By
defining different IDs for those in the Edit menu, those in the Mode
menu are checkmarked again.

10 years agoAdd XBoard menu items for arrow highlight and one-click move
H.G. Muller [Fri, 3 Dec 2010 09:07:34 +0000 (10:07 +0100)]
Add XBoard menu items for arrow highlight and one-click move

These items are put in the options menu; the 'Old Save Style' item is

10 years agoProvide menus for editing WinBoard engine and server lists
H.G. Muller [Fri, 3 Dec 2010 08:27:58 +0000 (09:27 +0100)]
Provide menus for editing WinBoard engine and server lists

The Edit Tags dialog in the WB front-end is adapted to act as a general
edit for string variables, by giving it an extra parameter to indicate
where to store the edited result. Menu items are added to invoke this
dialog for editing the /first, /secondChessProgramNames and /icsNames
options. This solves the problem that people would have to edit an ini
file that they can no longer locate (because the %APPDATA% folder has
different names and locations in the various Windows versions, and is
often a hidden folder on top of that).
There is a slight memory leak here, as the memory for the previous
value of the altered string option is not freed.

10 years agoConfigure arrow highlighting as default in XBoard
H.G. Muller [Thu, 2 Dec 2010 15:18:53 +0000 (16:18 +0100)]
Configure arrow highlighting as default in XBoard

Set -highlightMoveWithArrow true in the xboard.conf file, and specify a
lineGap of 0 to make that efficient (and the wood theme even nicer).

10 years agoPort highlighting with arrow to XBoard
H.G. Muller [Thu, 2 Dec 2010 14:56:46 +0000 (15:56 +0100)]
Port highlighting with arrow to XBoard

Unfortuntely this duplicates a fair amount of code in the front end.
Removing the arrow is done by a total repaint if there is a non-zero
lineGap, because the clever algorithm for selective redrawing (based
on damage) that XBoard uses does not repair damage to the grid lines.
For lineGap=0, however, (for which the arrow is mainly intended) the
damage mechanism is used, and the damaged squares are determined by
tracing out the arrow in 64 steps, and marking all squares in the
neighborhood as damaged.

10 years agoStrip CR from xboard.c
H.G. Muller [Thu, 2 Dec 2010 14:55:25 +0000 (15:55 +0100)]
Strip CR from xboard.c

10 years agoLet user decide if he wants highlights in blindfold mode
H.G. Muller [Thu, 2 Dec 2010 13:21:24 +0000 (14:21 +0100)]
Let user decide if he wants highlights in blindfold mode

Remove the automaticsuppression ofhighlighting.

10 years agoFix fag-fell marker with logos on
H.G. Muller [Wed, 1 Dec 2010 23:24:43 +0000 (00:24 +0100)]
Fix fag-fell marker with logos on

The flag-fell marker "(!)" that is displayed in the clock in WinBoard in
two-machines mode was printed twice when the clock was split over two
lines (as with logos on).

10 years agoAlso exempt variant seirawan from eval-scale doubling
H.G. Muller [Wed, 1 Dec 2010 17:57:57 +0000 (18:57 +0100)]
Also exempt variant seirawan from eval-scale doubling

It is not really a drop game, so a scale from -7 to 7 in the eval graph
is good enough (like variants great and super).

10 years agoConfigure EGTB cache size in adapterCommand
H.G. Muller [Wed, 1 Dec 2010 09:33:13 +0000 (10:33 +0100)]
Configure EGTB cache size in adapterCommand

The hash size, nr of CPUs and EGTB path are transferred through the WB
protocol interface commands memory, cores and egtpath. But there is no
WB command for detailing the EGTB cache size. So the value of the
command-line option -defaultCacheSizeEGTB has to be sent to Polyglot
through its startup command to make it known to UCI engines.

10 years agoMove Hint and Book items to Engine menu in XBoard
H.G. Muller [Tue, 30 Nov 2010 21:46:16 +0000 (22:46 +0100)]
Move Hint and Book items to Engine menu in XBoard

10 years agoCorrect the key bindings fo view menu in texi file
H.G. Muller [Tue, 30 Nov 2010 21:17:24 +0000 (22:17 +0100)]
Correct the key bindings fo view menu in texi file

The mentioned bindings for Game List and Eval Graph were wrong.

10 years agoFix sub-variation display with negative score
H.G. Muller [Tue, 30 Nov 2010 20:25:07 +0000 (21:25 +0100)]
Fix sub-variation display with negative score

The test if the displayed score was the pvInfo score failed for negative
scores, because floats are truncated towards zero. So the previous fix
of spurious score/depth info was not working when the score was

10 years agoPeel PV out of comment
H.G. Muller [Tue, 30 Nov 2010 17:27:52 +0000 (18:27 +0100)]
Peel PV out of comment

Arena stores engine PVs not in variation format, but within both braces
and parentheses, before the score/depth info. This caused XBoard to
overlook the score/depth info, (frustrating, e.g., the eval graph),
while the PV would not be accessible for walking it as a variation.
The routine that extracts the score/depth from a comment now has
been made more clever, to recognize a leadin PV in the comment, and then
place it in front of the comment as variation (by moving the opening
brace to behind it). For some reason it does not work if the PV and
score/depth were separated by a newline, but this happens quite rarely.

10 years agoAllow line-straddling result comments
H.G. Muller [Tue, 30 Nov 2010 17:23:12 +0000 (18:23 +0100)]
Allow line-straddling result comments

Some GUIs (in particular Arena) do not have the decency to keep the
result comment on a single line. In this case the parser rules would not
recognize it, and treat it as a normal comment, plus an undetailed PGN
result. The rules are now fixed to allow linefeeds in the comment, and
between comment and PGN result. To correctly process the comment further
(e.g. in game-list lines) the linefeeds are replaced by spaces in the
back-end routines that do use the result comment.

10 years agoWrite key bindings in XBoard menus
H.G. Muller [Tue, 30 Nov 2010 11:22:32 +0000 (12:22 +0100)]
Write key bindings in XBoard menus

Unfortunately tabs are not understood in menu texts, so fine-tuning
through spaces is necessary to get some sort of ragged alignment.

10 years agoConfigure XBoard to use wood board texture by default
H.G. Muller [Mon, 29 Nov 2010 17:01:38 +0000 (18:01 +0100)]
Configure XBoard to use wood board texture by default

The texture pixmaps are sought in /usr/share/games/xboard, with names
wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted
to put them there. XBoard is resitent to non-existence of the files,
btw. It simply ignores the arguments in that case.

10 years agoConfigure -inc as volatile option in XBoard
H.G. Muller [Mon, 29 Nov 2010 16:48:48 +0000 (17:48 +0100)]
Configure -inc as volatile option in XBoard

XBoard users are not used to options being persistent, and thus have
many scripts assuming the timeIncrement is -1 when they don't specify it
on the command line, and want to specify -mps. But a persistent -inc of
0 fom a preious session would then force their -mps to zero, causing
big-time confusion.

10 years agoMake WinBoard clocks translation-proof
H.G. Muller [Mon, 29 Nov 2010 16:36:33 +0000 (17:36 +0100)]
Make WinBoard clocks translation-proof

With logos on, the splitting of the clock over two lines assumed the
lengths of the words "white" and "black" would always be 5. Used strlen.

10 years agoImprove drawing of highlight arrow
H.G. Muller [Mon, 29 Nov 2010 13:57:00 +0000 (14:57 +0100)]
Improve drawing of highlight arrow

A diagonal arrow sometimes had a notch in the shaft because of
independent rounding of the starting and ending point coordinates.
Furthermore the width of the shaft was unnecessary variable(as a
function of direction) because half the width was rounded and then used
twice. Now rounding of end-points is always done towards a fixed grid
of square centers, which keeps diagonals purely diagonal, and one side
of the shaft is drawn relative to the other side, after the
position of the latter has been rounded, so any rounding error affects
the shaft width only once.

10 years agoAlter descriptionof Analyze File menu item
H.G. Muller [Mon, 29 Nov 2010 09:25:50 +0000 (10:25 +0100)]
Alter descriptionof Analyze File menu item

This menu item has been given a new function, so a new description was

10 years agoAdd description of Game List Options in texi file
H.G. Muller [Mon, 29 Nov 2010 09:15:39 +0000 (10:15 +0100)]
Add description of Game List Options in texi file

10 years agoUpdate texi file for new menu organization
H.G. Muller [Mon, 29 Nov 2010 08:58:00 +0000 (09:58 +0100)]
Update texi file for new menu organization

The descriptions are shuffled around and organized into sections
corresponding to the new main menus. Where necessary the name of the
items was changed to their new names. The items removed from the File
menu (the next/previous/same stuff) are nowmoved to the section "other
shortcut keys", as the key bindings for some of them are still active.

10 years agoUpdate info on key bindings in texi file
H.G. Muller [Mon, 29 Nov 2010 08:06:14 +0000 (09:06 +0100)]
Update info on key bindings in texi file

The texi file was still listing the old XBoard key bindings. Where
necessary this is now changed to the new (WinBoard) bindings, and all
the new bindings were added.

10 years agoAdd XBoard key bindings for Revert and Truncate
H.G. Muller [Mon, 29 Nov 2010 08:04:53 +0000 (09:04 +0100)]
Add XBoard key bindings for Revert and Truncate

Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.

10 years agoDivorce the Edit and Show Tags/Comment menu items
H.G. Muller [Sun, 28 Nov 2010 22:12:14 +0000 (23:12 +0100)]
Divorce the Edit and Show Tags/Comment menu items

In WinBoard the items in the Edit and View menu for Tags and Comment now
have different IDs, so they can be independently controlled. Only the
items in the View menu are check-marked. The items still do the same.

10 years agoAlter WinBoard menu text
H.G. Muller [Sun, 28 Nov 2010 22:08:26 +0000 (23:08 +0100)]
Alter WinBoard menu text

The texts are slightly adapted, mostly by choosing more convenient
tabbing characters for the new menu organization. The translation
template is updated accordingly.

10 years agoLet move-history window scroll to bottom after adding move
H.G. Muller [Sun, 28 Nov 2010 19:24:46 +0000 (20:24 +0100)]
Let move-history window scroll to bottom after adding move

By activating the scrollbar of the viewport through XtCallActionProc
the move-history window is scrolled to the bottom.

10 years agoFix Shogi promotion popup
H.G. Muller [Sat, 27 Nov 2010 13:38:14 +0000 (14:38 +0100)]
Fix Shogi promotion popup

The texts were adapted to shogi by printing new text items over the
Queen and Knight buttons, but these did not alwys cover it. Now the text
on the buttons is changed as it should be. Also the window title is

10 years agoApply gettext macros to menu texts
H.G. Muller [Fri, 26 Nov 2010 10:22:06 +0000 (11:22 +0100)]
Apply gettext macros to menu texts

Now texts and references are separated, the texts in the tables can be
decorated with the N_() macro, so that the _() macro no longer has to be
applied when they are used. (This makes the texts appear in the .po

10 years agoAdapt some XBoard menu texts
H.G. Muller [Fri, 26 Nov 2010 10:12:58 +0000 (11:12 +0100)]
Adapt some XBoard menu texts

The "Show" prefix is removed from the "View" menu items, as this seems
implied. An ellipsis is added to the Engine #N Settings items, which
could not be there before, because periods in a menu name would break
any reference to it. For some other names the ellipsis was deleted.
(These were not refered to, but who knows what we will do in the future.)

10 years agoSeparate menu text from menu name in XBoard
H.G. Muller [Fri, 26 Nov 2010 10:03:35 +0000 (11:03 +0100)]
Separate menu text from menu name in XBoard

The text string in the menu-definition tables was used both for the menu
text, as well as for referencing the items from the code (for enabing or
checkmarking). Now these can be defined separately, so that altering the
menu texts is possible without breaing any references to the item.
(Moving them to another menu would still break XBoard, though!)
Currently the texts and names are still the same.

10 years agoBugfix XBoard menu translation
H.G. Muller [Fri, 26 Nov 2010 09:48:54 +0000 (10:48 +0100)]
Bugfix XBoard menu translation

The gettext macro N_() was applied to the menu definition tables, but
this would break any translation, as these items are both used as menu
texts as well as reference for enabling and checkmarking. The routines
that create the menus already apply _() dynamically to these items when
they are used as menu texts.

10 years agoRestrict drops in variant seirawan to back rank
H.G. Muller [Fri, 26 Nov 2010 09:10:55 +0000 (10:10 +0100)]
Restrict drops in variant seirawan to back rank

Drops aren't really llowed at all in Seirawan Ches, but there exists an
engine that supports a variant where drops on the back-rank are allowed.

10 years agoLet Analyze File annotate the loaded game
H.G. Muller [Thu, 25 Nov 2010 18:44:37 +0000 (19:44 +0100)]
Let Analyze File annotate the loaded game

By not suppressing the auto-play loop in AnalyzeFle mode, we step
through the game while the engine is analyzing, and store the PV info
that the engine produces, as well as the full PV (as variation comment)
with each move.

10 years agoRevive Analyze File menu item in WB
H.G. Muller [Thu, 25 Nov 2010 18:41:05 +0000 (19:41 +0100)]
Revive Analyze File menu item in WB

We will keep this menu after all, becase it can be given a new meaning.

10 years agoFix spurious scores in comments
H.G. Muller [Thu, 25 Nov 2010 18:31:52 +0000 (19:31 +0100)]
Fix spurious scores in comments

The comment popup is also used to display engine PV info, but when the
contents of the window is written back when we select a variation,
it was treated as a real comment. This is fixed now by checing in
ReplaceComment() if the comment starts with the PV info, and if so,
ignore the latter. This solves the problem, but I guess the real bug is
that selecting a variation tries to write the comment even if it did not

10 years agoDisplay error for wrong use of Machine Match
H.G. Muller [Thu, 25 Nov 2010 18:26:34 +0000 (19:26 +0100)]
Display error for wrong use of Machine Match

11 years agoReorganize XBoard menus
H.G. Muller [Wed, 24 Nov 2010 12:30:08 +0000 (13:30 +0100)]
Reorganize XBoard menus

11 years agoReorganize WinBoard menus
H.G. Muller [Wed, 24 Nov 2010 10:02:19 +0000 (11:02 +0100)]
Reorganize WinBoard menus

New main menus Edit, View and Engine are added; the step menu
disappears. The menu items are redistributed over the new menus.
Sometimes duplicates are created. No adaptation of short-cut characters
as made yet (as this affects translation).

11 years agoremoved trailing whitespaces from NEWS
Arun Persaud [Sun, 21 Nov 2010 04:20:27 +0000 (20:20 -0800)]
removed trailing whitespaces from NEWS

11 years agomerged readme_HGM.txt into the NEWS file
Arun Persaud [Sun, 21 Nov 2010 04:19:30 +0000 (20:19 -0800)]
merged readme_HGM.txt into the NEWS file

seems like a better place for the release notes, although those releases where not officially part of GNU, but the NEWS file already covers similar releases, so it might as well cover all of them.

11 years agotypo in date of developer release
Arun Persaud [Sun, 21 Nov 2010 02:24:19 +0000 (18:24 -0800)]
typo in date of developer release

but will leave the tagged version as it is, since it's still a unique version number

11 years agonew developer release
Arun Persaud [Sun, 21 Nov 2010 02:11:01 +0000 (18:11 -0800)]
new developer release

11 years agoadded latest version of parser.c
Arun Persaud [Sun, 21 Nov 2010 02:12:41 +0000 (18:12 -0800)]
added latest version of parser.c

11 years agoupdated Changelog, etc for developer release
Arun Persaud [Sun, 21 Nov 2010 02:05:56 +0000 (18:05 -0800)]
updated Changelog, etc for developer release

11 years agoRevert "adding gnu-readline support"
Arun Persaud [Sun, 21 Nov 2010 00:22:00 +0000 (16:22 -0800)]
Revert "adding gnu-readline support"

This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.


better to use the (relatively) new ICS input box then add readline support.

11 years agoRevert "bugfix: fixed readline support with icslogon option"
Arun Persaud [Sun, 21 Nov 2010 00:19:32 +0000 (16:19 -0800)]
Revert "bugfix: fixed readline support with icslogon option"

This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.


better to use the (relatively) new ICS input box then add readline support.

11 years agoMake Hoplite moves irreversible in Spartan Chess
H.G. Muller [Fri, 19 Nov 2010 22:10:35 +0000 (23:10 +0100)]
Make Hoplite moves irreversible in Spartan Chess

Consider Lance moves in variant Fairy (where the Lance represents the
Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter.

11 years agoGive Lance moves of Amazon in variant super
H.G. Muller [Fri, 19 Nov 2010 20:09:24 +0000 (21:09 +0100)]
Give Lance moves of Amazon in variant super

Now that Lance is no longer a wild-card piece the moves of Amazon must
be programmed explicitly, to keep the possibbilty to play Superchess
with legality testing on.

11 years agoChange representation of Bede in variant fairy initial position
H.G. Muller [Fri, 19 Nov 2010 17:32:16 +0000 (18:32 +0100)]
Change representation of Bede in variant fairy initial position

This used to be Lance, but the promoted Bishop (Dragon Horse)
is more applicable. Especially now that Lance is supposed to move like a
Berolina Pawn.

11 years agoMake yyskipmoves also suppress examining of drop moves
H.G. Muller [Fri, 19 Nov 2010 17:28:19 +0000 (18:28 +0100)]
Make yyskipmoves also suppress examining of drop moves

Not sure if this does any good, but it seemed illogical that this would
happen in all other moves, but not drops.

11 years agoDefine moves for Dragon Horse outside Shogi
H.G. Muller [Fri, 19 Nov 2010 17:23:05 +0000 (18:23 +0100)]
Define moves for Dragon Horse outside Shogi

Let it move like Bishop + Wazir + Dababba.

11 years agoFix safety crash when appending comments
H.G. Muller [Wed, 17 Nov 2010 12:40:20 +0000 (13:40 +0100)]
Fix safety crash when appending comments

The length limit imposed on safeStrCpy was one too short when copying
an existing comment to the space allocated for the longer (concatenated)
one. It allowed no space for the terminating '\0'.

11 years agoFix safeStrCpy
H.G. Muller [Wed, 17 Nov 2010 12:38:00 +0000 (13:38 +0100)]
Fix safeStrCpy

The test for when to terminate a non-fiting string was one off, and the
debug message was written stdoutin stead of debugFP.

11 years agoFix default holdings size for variant seirawan
H.G. Muller [Tue, 16 Nov 2010 11:40:31 +0000 (12:40 +0100)]
Fix default holdings size for variant seirawan

The holdings for 7 pieces werealways considered an overrule, so that the
variant name was prefixed with "8x8+7_".

11 years agoFix home-dir crash
H.G. Muller [Mon, 15 Nov 2010 10:36:21 +0000 (11:36 +0100)]
Fix home-dir crash

When confronted with a path name starting with ~ and not containing a /
XBoard would segfault.

11 years agoFix one-click moving on up-click
H.G. Muller [Sun, 14 Nov 2010 20:45:55 +0000 (21:45 +0100)]
Fix one-click moving on up-click

(First) up-clicks were not always ignored: in Edit-Game mode with
one-click moving enabled this could lead to a capture being made on
the down-click, and the recapture on the correspoding up-click.
This has now been corrected, and only the down-click of a first click
can lead to selecting a piece or a one-click move.

11 years agofixed buffer size for snprintf
Arun Persaud [Tue, 16 Nov 2010 02:15:40 +0000 (18:15 -0800)]
fixed buffer size for snprintf

11 years agoAccept Seirawan-style gating suffixes
H.G. Muller [Sat, 13 Nov 2010 22:04:14 +0000 (23:04 +0100)]
Accept Seirawan-style gating suffixes

The parser rules were extended to accept / as an equivalent of = in
promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H).

11 years agoUse Falcon and Alfil as built-ins for Seirawan chess
H.G. Muller [Sat, 13 Nov 2010 21:55:32 +0000 (22:55 +0100)]
Use Falcon and Alfil as built-ins for Seirawan chess

Where available (size 49 and 72) we use Falcon for Archbishop and Alfil
for Chancelor, to better conform to the Seirawan names Hawk and Elephant.

11 years agoImplement entering gating moves with mouse
H.G. Muller [Sat, 13 Nov 2010 19:02:31 +0000 (20:02 +0100)]
Implement entering gating moves with mouse

A move with a back-rank piece that starts when a piece in the holdings
is selected will be interpreted as a gating move in variant seirawan.
The front-end uses a 'gatingPiece' selected this way todisplay it on the
from square during animate dragging.

11 years agoImplement variant seirawan
H.G. Muller [Sat, 13 Nov 2010 17:56:15 +0000 (18:56 +0100)]
Implement variant seirawan

Set upthe position, including Hawk and Elephant in holdings, in
InitPostion(). Suppress putting captured pieces in holding. Let
promoChar indicate gating in ApplyMove(). Remove gated pieces from
the holdings there. Let GenLegal() generate RxK-type castlings to act as
base for gating on Rook square. Gatings are tested for legality
based on the holdings content and whether they occur on the back
rank. Disambiguate() also tests this. Make sure the gated pieces are
printed as move suffixes in CoordsToAlgebraic().

11 years agoAdd -variant seirawan to menu
H.G. Muller [Sat, 13 Nov 2010 17:42:27 +0000 (18:42 +0100)]
Add -variant seirawan to menu

11 years agoFix acceptance of null-move with legality testing off
H.G. Muller [Sat, 13 Nov 2010 21:52:09 +0000 (22:52 +0100)]
Fix acceptance of null-move with legality testing off

A second click on the same piece was interpreted as a to-square rather
than deselection of the piece.

11 years agoFix one-click bug
H.G. Muller [Sat, 13 Nov 2010 21:49:43 +0000 (22:49 +0100)]
Fix one-click bug

Disambiguate was imagining captures, so an only capture by double
clicking your own piece did not always work.

11 years agoFix mouse-driver buglet
H.G. Muller [Sat, 13 Nov 2010 19:08:32 +0000 (20:08 +0100)]
Fix mouse-driver buglet

The highlights were not cleared on moves that went vertically off board.

11 years agoList some undocumented commands as compliant
H.G. Muller [Fri, 12 Nov 2010 16:17:41 +0000 (17:17 +0100)]
List some undocumented commands as compliant

The engine->GUI commands setboard and setup are now always printed in
the debug file as well.

11 years agoList Hint with compliant commands
H.G. Muller [Fri, 12 Nov 2010 16:05:22 +0000 (17:05 +0100)]
List Hint with compliant commands

This command was omitted, so that in some -engineDebugOutput modes it
would not appear in the debug file.

11 years agoRestrict use of escape expansion
H.G. Muller [Fri, 12 Nov 2010 16:02:53 +0000 (17:02 +0100)]
Restrict use of escape expansion

Only expand escape sequences like \n and \t in telluser(error) comamnds
that ask for it by preficing the messages by double backslash. Otherwise
backward copatiblity is too severely broken for messages that display
DOS-style filenames.

11 years agoMake safeStrCpy safe
H.G. Muller [Fri, 12 Nov 2010 12:56:33 +0000 (13:56 +0100)]
Make safeStrCpy safe

SafeStrCpy was causing a lot of out-of-bound write accesses, as it was
always writing the character at the length limit of the destination.
Now no memory is accessed that is is not needed to hold the copy.

11 years agoAllow clicked name internal to the icsMenu command string
H.G. Muller [Sun, 7 Nov 2010 20:37:10 +0000 (21:37 +0100)]
Allow clicked name internal to the icsMenu command string

A command in the /icsMenu that was specified to contain the selected
text or clicked word always appended this word at the end. Now the user
can also configure it to appear in the middle, by putting a %s in the
command string where he wants it to appear.

11 years agoLet Engine #2 Settings start second engine
H.G. Muller [Sun, 7 Nov 2010 20:33:19 +0000 (21:33 +0100)]
Let Engine #2 Settings start second engine

If the second engine is not yet running, it would be impossible to use
the settings dialog for it, as the features have not been received and
the dialog will be empty. So the user could not adjust the engine
parameters before starting a match. Using this menu now automatically
starts the engine, and delays the appearence of the popup untill the
features are received, using a similar mechanism as in

11 years agoNewly lexed parser.c
H.G. Muller [Mon, 1 Nov 2010 18:40:26 +0000 (19:40 +0100)]
Newly lexed parser.c

11 years agoFix bug in parsing illegal Pawn captures
H.G. Muller [Sat, 6 Nov 2010 18:55:31 +0000 (19:55 +0100)]
Fix bug in parsing illegal Pawn captures

When a pawn move of type exf5 was illegal, the parser made an attempt to
interpret it as e.p. capture of f5. This, however, messed up the move,
so that it was now permanently mistaken for e5xf6. Even in cases with
legality testing off, where you would want the original move to be
accepted despite the fact that it was illegal.

11 years agoKeep last PV while clearing engine-output display
H.G. Muller [Sat, 6 Nov 2010 18:49:45 +0000 (19:49 +0100)]
Keep last PV while clearing engine-output display

When ponder is on, the display is cleared immediately when the last line
of thinking output appears by the appearing ponder output. So you would
never get the chance to see it. This line is now re-written after
clearing, so it appears at the bottom of the output for the next search.

11 years agoGive Lance moves of Berolina Pawn
H.G. Muller [Sat, 6 Nov 2010 18:45:18 +0000 (19:45 +0100)]
Give Lance moves of Berolina Pawn

In stead of using it as a wildcard piece, the Lance gets the moves of
the Berolina Pawn (straight capture, diagonal move). The initial double
osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan

11 years agoUse SAN even on illegal moves
H.G. Muller [Sat, 6 Nov 2010 18:42:16 +0000 (19:42 +0100)]
Use SAN even on illegal moves

If there is only one piece of type T, moves like Ta1 or Txa1 are never
ambiguous, so adding the from square is just cumbersome.

11 years agoUse normal SAN for wildcard pieces
H.G. Muller [Sat, 6 Nov 2010 18:34:53 +0000 (19:34 +0100)]
Use normal SAN for wildcard pieces

SAN often can also be used with pieces we don't know the moves of, e.g.
if there is only one of that type. We just always get rank or file
disambiguators if there are more (even when they might be unnecessary).

11 years agoFix some warnings
H.G. Muller [Sat, 6 Nov 2010 13:52:12 +0000 (14:52 +0100)]
Fix some warnings

Unused variables were removed from parser.l

11 years agoAllow arbitrary nesting of sub-variations in PGN input
H.G. Muller [Sat, 6 Nov 2010 13:43:54 +0000 (14:43 +0100)]
Allow arbitrary nesting of sub-variations in PGN input

The parsing of subvariations is moved out of the state-machine parsing,
to allow arbitrary nesting. In stead of the entire sub-variation being
parsed by lex as Comment, it now returns Open and Close for the
corresponding parentheses, which are then handled in a wrapper routine
for yylex(): Myylex(). Problem was that yy_text is supposed to return
the entire parsed text of the returned symbol, which thus has to be
collected. To make this possible, yylex has to return everything that it
parses, (even white space!), and a symbol "Nothing" was added to return
in parsing rules that before just ate away irrelevant text without
returning anything.

11 years agoImplement setup (engine-GUI) command
H.G. Muller [Sat, 6 Nov 2010 20:48:47 +0000 (21:48 +0100)]
Implement setup (engine-GUI) command

This allows the frst engine (when legality testing is off) to overrule
the default opening position, in reply to the variant command. Syntax is
where the FEN string is interpreted in the context of the given
pieceToCharTable (which is optional, and only delimeted by parethesis if
it is present).
Sendng the position to the second engine is delayed until the first
engine has responded to the ping after the new-game sequence, to make
sure it gets the chance to alter the position before it is sent to the
second engine. This feature is useful for playing variants that WinBoard
does not even know the opening positon for, and can be used even if they
are shuffle variants.