xboard.git
10 years agoFix promoting of Sho Elephant
H.G. Muller [Wed, 23 Oct 2013 19:30:14 +0000]
Fix promoting of Sho Elephant

10 years agoChange color of XQ board to better contrast with pieces
H.G. Muller [Wed, 23 Oct 2013 19:03:27 +0000]
Change color of XQ board to better contrast with pieces

10 years agoSupply oriental theme settings
H.G. Muller [Wed, 23 Oct 2013 14:31:01 +0000]
Supply oriental theme settings

Install creates a new directory .../themes/conf, in which a number of
settings files are places for defining oriental themes. These redefine the
user settings file for each of them to ~/.xboard-xxx-rc, so the settings
cannot leak into the default user settings file, but are nevertheless
persistent on revisiting the theme. XBoard now looks in this directory
for settingsfiles it could otherwise not find, so they can be invoked
with @shogi, @xq, @chu on the XBoard command line.
  Filenames starting with ~~ will now be expanded to the directory where
the XBoard data files are installed, so the installed settings files can
easily refer to installed other files (e.g. piece SVGs and textures).
The themes files will also redefine the default engine when they belong
to variants that Fairy-Max does not play.
  Some minor settings files for implementing variants that are not standard
(such as mini- and Sho Shogi) are also added in the conf directory.

10 years agoFix hover event (again)
H.G. Muller [Tue, 22 Oct 2013 15:16:13 +0000]
Fix hover event (again)

10 years agoAllow Lion sweep-selection in Chu Chess
H.G. Muller [Mon, 21 Oct 2013 20:48:32 +0000]
Allow Lion sweep-selection in Chu Chess

10 years agoFix sweep promotions
H.G. Muller [Mon, 21 Oct 2013 20:38:53 +0000]
Fix sweep promotions

We should not be able to select shogi-style promotion partners of
other pieces, as there is no promotion suffix to indicate them.

10 years agoFix default of Chu Chess piece promotions
H.G. Muller [Mon, 21 Oct 2013 20:34:39 +0000]
Fix default of Chu Chess piece promotions

10 years agoFix disambiguation of shogi-style promotions
H.G. Muller [Mon, 21 Oct 2013 19:03:24 +0000]
Fix disambiguation of shogi-style promotions

10 years agoAllow piece promotion by pieceToChar in all variants
H.G. Muller [Mon, 21 Oct 2013 17:54:22 +0000]
Allow piece promotion by pieceToChar in all variants

If the pieceToCharTable specifies a piece has a promoted version,
by defining the latter as '+', this will now trigger the promotion
procedure when such a piece moves to touch the zone. Legality testing
will consider such moves legal. The promotion character will be a '+',
in SAN generated as an '=+' suffix (to not confuse with check), while
deferral will have no suffix. Pieces without specified promoted version
do not promote, unless they are Pawns. These then offer choice between
all pieces, as usual.

10 years agoAlways alternate promo-sweep for shogi-style promoting piece
H.G. Muller [Sun, 20 Oct 2013 20:05:11 +0000]
Always alternate promo-sweep for shogi-style promoting piece

10 years agoImplement ChuChess
H.G. Muller [Sun, 20 Oct 2013 14:32:58 +0000]
Implement ChuChess

10 years agoFix legality test of pinned-Lion moves
H.G. Muller [Mon, 21 Oct 2013 14:55:57 +0000]
Fix legality test of pinned-Lion moves

10 years agoFix promoted Elephant image in Shogi (XB)
H.G. Muller [Sun, 20 Oct 2013 14:44:58 +0000]
Fix promoted Elephant image in Shogi (XB)

10 years agoBeef up variant detection
H.G. Muller [Sun, 20 Oct 2013 13:00:57 +0000]
Beef up variant detection

Testing whether an engine support a variant is now greatly improved.
Names that are substrings of supported variants are no longer recognized,
including base variants the engine only reports with a size-override prefix.
When the size is nonstandard, prefixes are always used on the searched name.
XBoard's New Variant dialog will refuse to close if the size overrides
(even if they specify defaults) do not correspond to a supported variant
of the first engine, but pops up an error box instead. If the problem is
that only one or more non-standard sizes are supported, this box reports
the first of them that is supported.
 GenericReadout() had to be fixed for this, as it was not setting options
that it already thought had the correct value, so that on a second try
the size-override controls were effectively ignored.

10 years agoAdapt WinBoard front-end to Mighty Lion
H.G. Muller [Mon, 14 Oct 2013 18:07:13 +0000]
Adapt WinBoard front-end to Mighty Lion

A Lion piece is added, and the roar sound and driver is added.
Put Mighty Lion in New Variant menu (WB)
Debug WB Mighty Lion
Fix dragging on second leg WB
Two-leg move animation WB
Add Lion .bmp files (WB)

10 years agoFix target squares second leg
H.G. Muller [Tue, 15 Oct 2013 13:49:31 +0000]
Fix target squares second leg

10 years agoFix sending and parsing of null moves and double moves
H.G. Muller [Tue, 8 Oct 2013 21:03:54 +0000]
Fix sending and parsing of null moves and double moves

10 years agoFix double-leg moves on small boards
H.G. Muller [Tue, 8 Oct 2013 19:40:35 +0000]
Fix double-leg moves on small boards

10 years agoFix re-appearing of board markers
H.G. Muller [Tue, 8 Oct 2013 17:54:23 +0000]
Fix re-appearing of board markers

The board markers could reappear after a machine move, after the already
had been cleared at the end of the previous user move. This because
HoverEvent() could restore them from the copy it keeps during hovering.
Now clearing of the board markers also clearse baseMarker[][], which had to
be made a global for that purpose.

10 years agoImplement roaring of Lion
H.G. Muller [Mon, 7 Oct 2013 17:29:57 +0000]
Implement roaring of Lion

When a Lion double-move is animated, the roaring sound is played.
It can be selected through the new -soundRoar persistent option.
A wav file with a suitable roar is added, and configured for use.

10 years agoAnimate both legs of Lion move
H.G. Muller [Mon, 7 Oct 2013 15:00:42 +0000]
Animate both legs of Lion move

10 years agoAdd claw svg to make-install
H.G. Muller [Fri, 4 Oct 2013 10:13:40 +0000]
Add claw svg to make-install

10 years agoFix loading of game with multi-leg moves
H.G. Muller [Fri, 4 Oct 2013 10:11:27 +0000]
Fix loading of game with multi-leg moves

10 years agoFix SAN of promoted Chu pieces
H.G. Muller [Fri, 4 Oct 2013 08:24:34 +0000]
Fix SAN of promoted Chu pieces

10 years agoChange Blind-Tiger symbol to claw
H.G. Muller [Fri, 4 Oct 2013 08:12:59 +0000]
Change Blind-Tiger symbol to claw

10 years agoFix Shogi promoted pieces
H.G. Muller [Fri, 4 Oct 2013 07:48:15 +0000]
Fix Shogi promoted pieces

10 years agoRefactor move generator, and add Chu-Shogi pieces
H.G. Muller [Thu, 3 Oct 2013 19:31:07 +0000]
Refactor move generator, and add Chu-Shogi pieces

The generation of moves is now grouped into routines that work on individual
directions, which are then combined in higher-level routines to groups of
rays, and elementary pieces. The actual pieces then call one or more of
these routines to generate moves for the (compound) piece.

10 years agoFix reading of SAN Lion double moves
H.G. Muller [Tue, 1 Oct 2013 20:27:54 +0000]
Fix reading of SAN Lion double moves

Notations like Lxb2xc3 and Lxb2-c2 are now understood by the parser,
albeit in a frail way. (No error recovery...)

10 years agoFix promotion popup in Chu Shogi
H.G. Muller [Tue, 1 Oct 2013 08:43:07 +0000]
Fix promotion popup in Chu Shogi

This had to be a Shogi-style popup.

10 years agoFix deselection of Lion
H.G. Muller [Tue, 1 Oct 2013 17:01:02 +0000]
Fix deselection of Lion

It was not possible to select another piece after the first leg was entered,
and there could be some pathologic behavior after a rejected move because
the kill-square was not properly cleared when selecting a new piece.

10 years agoImplement LionChess
H.G. Muller [Mon, 30 Sep 2013 20:14:15 +0000]
Implement LionChess

Add legality testing for Lions, so it ca be played with legality testing on.
Cyan markers are now also used in autonomous highlighting, so that double-
moving is triggered: A new move type FirstLeg instructs the marker callback
to use cyan on Lion contact captures. Igui required a special test, to make
XBoard realize the fial square is empty. Implement Lion-capture rules.
Forbid Pawn promotion to Lion: The Lion is skipped during the promotion
sweep (and it was not in the promotion popp anyway). Chu should not suffer
from this, as the piece used as promoted Kylin is not a real Lion (although
it looks like one). King is not considered a protector in Mighty-Lion Chess
This rule was added to allow trading Lions in the late end-game,
to prevent the game from being too drawish.

10 years agoFix sweep promotions
H.G. Muller [Mon, 30 Sep 2013 20:01:00 +0000]
Fix sweep promotions

10 years agoFix hover event
H.G. Muller [Mon, 30 Sep 2013 10:14:46 +0000]
Fix hover event

HoverEvent was relying on highlight-dragging to detect if the mouse pointer
entered a new square, but on XBoard highlight dragging is sick. Now the
routine remembers the previous mouse position independent of the highlights.
To detect if we are in the starting square, it looks for change of the
from-square, in which case it fakes (first) entry of the current square
(where it saves marker state, so it can be restored after we leave the
square again, in case the engine saw fit to respond to the hover command).

10 years agoImplement Chu Shogi
H.G. Muller [Sun, 29 Sep 2013 22:00:43 +0000]
Implement Chu Shogi

Chu Shogi is added as a new variant, usig the extended piece set.
Implement Lion double-moves. Apart from a from- and a to-square, each move
now also has a kill square (all represented by X and Y coordinate). This
is set on receiving a pair of partial moves (and passed around as a global;
sorry about that). MakeMove uses the kill-square to remove an extra piece,
and append it as ";SQUARE" to the long-algebraic move. SendMoveToProgram()
converts this back to a double move of the Alien protocol (two comma-separated
long-algebraic moves, stepping via SQUARE).
  For user input, releasing or to-clicking on a cyan square sets the kill-
square, and sends a lift command to prompt the engine for the markers for
the second leg. The to-click of this second leg then determines the to-square.

10 years agoIncrease number of piece types to 44
H.G. Muller [Sun, 29 Sep 2013 21:21:32 +0000]
Increase number of piece types to 44

SVG pieces are added for implementing Chu Shogi; the promoted versions for
Chu are offset by 22 rather than the usual 11.

10 years agoAutomatically adapt board format to FEN
H.G. Muller [Sat, 7 Sep 2013 21:47:42 +0000]
Automatically adapt board format to FEN

In some situations (such as loading a game or poition) the board-size
overrules are directly set to the values that can be deduced from the FEN.
The routine ParseFEN() has an extra parameter autoSize to control that.

10 years agoClear memory of erased position on variant switch
H.G. Muller [Sun, 22 Dec 2013 10:48:26 +0000]
Clear memory of erased position on variant switch

The Edit Position clear-board cycle would go from initial position to
last-erased position (if this is different), but the latter could have been
from another variant. In wich case we also want to clear.
  also print a message to alert people to the fact that they can click the
clock again to restore the position.

10 years agoImprove Edit Position mode
H.G. Muller [Sat, 21 Dec 2013 23:08:35 +0000]
Improve Edit Position mode

Clear Board now cycles trough boards:
current -> empty -> some pieces -> all pieces -> current
were 'some pieces' sows every piece type once (ad no Pawns), while
'all pieces' is the stadard opening position. In the end you get the
position that was erased back (to recover from accidental erasure).

10 years agoFix sorting of lines in Engine Output
H.G. Muller [Mon, 9 Dec 2013 13:52:32 +0000]
Fix sorting of lines in Engine Output

Lines tat were fail-lows or fail-ighs should get the scores on the basis
of wich they are sorted corrected to that of te line (for the same move)
superceding them, so that other moves can rise to above them, when they
score higher than the corrected score.

10 years agoconverted icons from xpm to png
Arun Persaud [Sat, 7 Dec 2013 19:48:10 +0000]
converted icons from xpm to png

This removes all xpm images from XBoard.

10 years agoremove xpm from XBoard
Arun Persaud [Sun, 29 Sep 2013 18:04:19 +0000]
remove xpm from XBoard

XBoard does not use xpm files anymore, apart as a fallback for desktop icons.
Therefore, all references to libxpm was removed.

Also zic2xpm was removed from XBoard, since it converted pieces is not that usefull anymore.

10 years agoUpdated Spanish translation
Arun Persaud [Sat, 7 Dec 2013 16:48:48 +0000]
Updated Spanish translation

10 years agoMake filler variant button inactive
H.G. Muller [Thu, 5 Dec 2013 19:08:35 +0000]
Make filler variant button inactive

10 years agoFix packing of FRC castlings
H.G. Muller [Thu, 5 Dec 2013 16:50:21 +0000]
Fix packing of FRC castlings

The routine for packing moves to the internal database format was not
working for FRC castlings, totally messing up position search for FRC
and CRC.

10 years agoFix Xaw file-browser New Directory
H.G. Muller [Thu, 5 Dec 2013 15:23:53 +0000]
Fix Xaw file-browser New Directory

Prevent people from using the error messages that will be printed here
as directory name by pressing New Directory a second time after first
pressing it with an empty or existing name.

10 years agoWiden Xaw text entries for larger square sizes
H.G. Muller [Thu, 5 Dec 2013 15:14:02 +0000]
Widen Xaw text entries for larger square sizes

Presumably people will use larger fonts if they use larger board squares.
(And in any case te default fonts would be larger.) This means they need
more space to see what is the current value of text options.

10 years agoRemove width limiting of shuffle checkbox
H.G. Muller [Thu, 5 Dec 2013 14:47:26 +0000]
Remove width limiting of shuffle checkbox

10 years agoOnly save clock settings in PGN when an engine plays
H.G. Muller [Wed, 4 Dec 2013 19:26:59 +0000]
Only save clock settings in PGN when an engine plays

10 years agoanother round of translation string fixes
Arun Persaud [Mon, 2 Dec 2013 02:55:31 +0000]
another round of translation string fixes

Thanks to Benno Schulenberg for pointing these and the previous string changes out to us.

10 years agoupdated Spanish translation
Arun Persaud [Mon, 2 Dec 2013 01:38:36 +0000]
updated Spanish translation

10 years agoupdated Dutch translation
Arun Persaud [Mon, 2 Dec 2013 01:38:04 +0000]
updated Dutch translation

10 years agoAllow castling and e.p. to be edited in opening book
H.G. Muller [Thu, 28 Nov 2013 12:30:40 +0000]
Allow castling and e.p. to be edited in opening book

10 years agoSave clocks with unfinished PGN games
H.G. Muller [Tue, 26 Nov 2013 12:21:51 +0000]
Save clocks with unfinished PGN games

When saving a game with an unfinished result, the remaining time of both
players is appended to the result comment, as "(Clocks: WHITETIME, BLACKTIME)"
with the times in seconds. When a game with unfinished result is loaded,
and the result message contains such a text, the clock settings are restored
from it accordingly. This makes it easier to resume interrupted games.

10 years agoAutomaticaly install Java engines
H.G. Muller [Tue, 26 Nov 2013 09:51:25 +0000]
Automaticaly install Java engines

If the engine name entered in the Load Engine dialog refers to a .jar file,
the text "java -jar " will be prefixed to the engine command automatically.

10 years agoRename Match dialog to Tournament
H.G. Muller [Tue, 26 Nov 2013 09:21:08 +0000]
Rename Match dialog to Tournament

Rename this dialog to conform with XBoard, both in menu item and window title.
Also puts the remark on sync options in a single Label Option above the
options, rather than distributed over two lines behind the checkboxes.

10 years agoupdated German translation
Arun Persaud [Mon, 25 Nov 2013 03:08:00 +0000]
updated German translation

10 years agoupdated Dutch translation
Arun Persaud [Mon, 25 Nov 2013 02:25:10 +0000]
updated Dutch translation

10 years agomore translations fixes: use uppercase for variant names
Arun Persaud [Mon, 25 Nov 2013 02:21:56 +0000]
more translations fixes: use uppercase for variant names

10 years agofixed some more translation strings
Arun Persaud [Mon, 25 Nov 2013 02:06:11 +0000]
fixed some more translation strings

10 years agooutput configure options when looking at --version
Arun Persaud [Sat, 23 Nov 2013 18:17:39 +0000]
output configure options when looking at --version

10 years agoexpose the configure options to xboard
Arun Persaud [Sat, 23 Nov 2013 18:16:28 +0000]
expose the configure options to xboard

10 years agoconfigure.ac: don't set xaw if we choose gtk
Arun Persaud [Sat, 23 Nov 2013 17:49:46 +0000]
configure.ac: don't set xaw if we choose gtk

10 years agofixed some whitespace issues in configure.ac
Arun Persaud [Sat, 23 Nov 2013 17:49:04 +0000]
fixed some whitespace issues in configure.ac

10 years agoTranslation: fixed some inconsistencies reported by Benno Schulenberg
Arun Persaud [Sat, 23 Nov 2013 05:10:25 +0000]
Translation: fixed some inconsistencies reported by Benno Schulenberg

10 years agoAdded Dutch translation
Arun Persaud [Fri, 22 Nov 2013 03:52:57 +0000]
Added Dutch translation

10 years agoUpdated Ukrainian translations
Arun Persaud [Fri, 22 Nov 2013 03:49:46 +0000]
Updated Ukrainian translations

10 years agoUpdated German translation
Arun Persaud [Sat, 16 Nov 2013 22:34:53 +0000]
Updated German translation

11 years agoBUILD: fix withXaw conditional (tiny change)
hasufell [Wed, 18 Sep 2013 03:57:03 +0000]
BUILD: fix withXaw conditional (tiny change)

Listing both one after another leads to withXaw being false
if you pass "--with-Xaw3d --without-Xaw".

11 years agoBUILD: make Xaw frontend default (tiny change)
hasufell [Wed, 18 Sep 2013 03:56:07 +0000]
BUILD: make Xaw frontend default (tiny change)

11 years agoBUILD: fix configure switches (tiny change)
hasufell [Wed, 18 Sep 2013 03:54:15 +0000]
BUILD: fix configure switches (tiny change)

11 years agoBUILD: make paths modifiable (tiny change)
hasufell [Wed, 18 Sep 2013 03:39:17 +0000]
BUILD: make paths modifiable (tiny change)

    This can help with setups where games are installed in their
    own location, but system data files like desktopfiles
    should still go to /usr/share.

        https://savannah.gnu.org/bugs/index.php?39969

11 years agoRepair FRC A-side castling legality testing
H.G. Muller [Mon, 16 Sep 2013 20:32:32 +0000]
Repair FRC A-side castling legality testing

XBoard allowed A-side castling when a rook started on the a-file,
and the b-file was blocked.

11 years agoRepair XBoard from node-count patch
H.G. Muller [Mon, 16 Sep 2013 20:27:50 +0000]
Repair XBoard from node-count patch

u64 was #defined in backend.h, which unfortunately was almost alwats
(Not sure why WinBoard did not suffer from this!) This, and related
definitions have now been moved to common.h (which is always #included
first).

11 years agoWinBoard multi-monitor support
H.G. Muller [Sun, 15 Sep 2013 18:13:06 +0000]
WinBoard multi-monitor support

A patch provided by Tim Kosse

11 years agoFix node count range
H.G. Muller [Sun, 15 Sep 2013 17:28:54 +0000]
Fix node count range

The node count was still clipped to 32 bit because one of the structs
it passes through (FrontEndProgramStats) had the nodes field declared
as an unsigned long.

11 years agoFix adjudication of Giveaway stalemates
H.G. Muller [Sun, 15 Sep 2013 17:12:42 +0000]
Fix adjudication of Giveaway stalemates

The case where the side-to-move would win by stalemate was not treated
in the Adjudicate switch.

11 years agoMake XBoard xpm-free
H.G. Muller [Sat, 7 Sep 2013 16:48:34 +0000]
Make XBoard xpm-free

The icons in the Engine-Output window were the only pixmaps still in use.
They are now replaced by bitmaps, like the checkmark already was.

11 years agoImplement (inaccessible) dark squares
H.G. Muller [Sun, 1 Sep 2013 20:47:14 +0000]
Implement (inaccessible) dark squares

11 years agoFix variant choice for second engine
H.G. Muller [Sun, 1 Sep 2013 20:11:30 +0000]
Fix variant choice for second engine

11 years agoFix engine-defined names
H.G. Muller [Sun, 1 Sep 2013 18:35:43 +0000]
Fix engine-defined names

11 years agoAllow engine to define its own variant names
H.G. Muller [Sat, 31 Aug 2013 21:31:52 +0000]
Allow engine to define its own variant names

Non-standard variants will appear in the New Variant menu, and when
selected will lead to sending of the engine-defined name in the variant
comand to the engine. Which then should report with a setup commandto specify parent variant, board & holdings size, piece-to-char table and
iitial position.

11 years agoFix buffer overflow in parser
H.G. Muller [Fri, 30 Aug 2013 15:33:59 +0000]
Fix buffer overflow in parser

When a line ended with a comment, the parser had to read a line ahead
to check if there was a PGNresult following, without being able to
throw away the previous line yet. This could lead to buffer overflow
in a long game where every line ended in a comment. The buffer now is
cleansed of already parsed data when starting on a new syntactical unit.

11 years agoMerge branch 'v4.7.x'
Arun Persaud [Thu, 29 Aug 2013 05:04:01 +0000]
Merge branch 'v4.7.x'

Conflicts:
winboard/winboard.c

also fixed version number and po files after merge with v4.7.x branch

11 years agoupdated po files for new release (make distcheck)
Arun Persaud [Thu, 29 Aug 2013 04:50:30 +0000]
updated po files for new release (make distcheck)

11 years agonew version number for release 4.7.2
Arun Persaud [Thu, 29 Aug 2013 04:48:27 +0000]
new version number for release 4.7.2

11 years agoupdated Changelog, NEWS, etc.
Arun Persaud [Thu, 29 Aug 2013 04:45:51 +0000]
updated Changelog, NEWS, etc.

11 years agoFix -zippyVariants option
H.G. Muller [Tue, 27 Aug 2013 20:55:52 +0000]
Fix -zippyVariants option

Due to the change of cps->variants from (char []) to (char *), copying
zippyVariants to it on behalf of v1 engines would no longer work. This
is fixed by using ASSIGN() in stead of safeStrCpy().

11 years agoFix -zippyVariants option
H.G. Muller [Tue, 27 Aug 2013 20:55:52 +0000]
Fix -zippyVariants option

Due to the change of cps->variants from (char []) to (char *), copying
zippyVariants to it on behalf of v1 engines would no longer work. This
is fixed by using ASSIGN() in stead of safeStrCpy().

11 years agoFix XBoard hover command
H.G. Muller [Fri, 5 Jul 2013 16:30:06 +0000]
Fix XBoard hover command

11 years agoAllow engine to click squares on behalf of user
H.G. Muller [Wed, 3 Jul 2013 17:39:25 +0000]
Allow engine to click squares on behalf of user

A new engine->GUI command 'click SQUARE' is added, which will trigger the
same events in the GUI as when the user clicked the mentioned SQUARE
(up+down). With legality testing off, this allows an engine to implement
one-click moving, in response to a 'lift' command issued by the GUI when
the user clicks the from-square.

A comma suffixed to the square is used to indicate the specified click
should be performed as if the user hat the Ctrl key pressed during it.

11 years agoLet magenta marker activate sweep promotion
H.G. Muller [Wed, 3 Jul 2013 14:37:27 +0000]
Let magenta marker activate sweep promotion

This allows an engine to indicate non-standard promotion possibilities.

11 years agoImplement hover command
H.G. Muller [Wed, 3 Jul 2013 14:27:47 +0000]
Implement hover command

When the user hovers a dragged piece over a square marked as a legal
capture target (by R in the highlight command), the engine is notified
by a hover command indicating the square (at the moment the user enters it).
Only send hover when the engine has feature highlight=1.

11 years agoExpand number of marker colors to 8
H.G. Muller [Wed, 3 Jul 2013 13:59:41 +0000]
Expand number of marker colors to 8

The markers for -showTargetSquares are now no longer tied to the highlight
and premove highlight colors, but are hard-coded RGB, YCM and BW.

11 years agoUse highlight command to specify move legality
H.G. Muller [Wed, 3 Jul 2013 13:34:48 +0000]
Use highlight command to specify move legality

When a highlight command has been sent, LeftClick will only accept
to-square events when they occur on a square that highlight marked
as legal, i.e. indicated by a capital. The transparant 'color' T
is added to allow the engine to mark a to-square as legal without
putting any visible marker on it.

11 years agoImplement board-marker protocol
H.G. Muller [Wed, 3 Jul 2013 13:28:38 +0000]
Implement board-marker protocol

The commands 'lift SQ' and 'put SQ' are sent to the engine to indicate
the user selects or puts down pieces, so the engine can respond with
'highlight FEN' to put markers on the board. This implements an externally
driven -showTargetSquares feature. The engine has to enable this by
'feature highight=1' The highlight command is further ignored when
native showTargetSquares is on.
  A comma suffix on the square is used to indicate the user kept Ctrl
down during the to-square event reported by the put command.

11 years agoFix initial board sizing WB
H.G. Muller [Mon, 26 Aug 2013 16:25:55 +0000]
Fix initial board sizing WB

The initial board size was based on the assumption the board would be 8x8.
This could push auxiliary windows off screen if the board was smaller,
after which EnsureOnScreen would undock them and park them in the upper-
right corner before the board assumed its true size. InitPos() is now called
before the initial sizing to et the board format correctly, InitDrawingSizes()
had to be made resitant to calling before a board size was picked for this
(because InitPos() might call that too).
  ActivateTheme() now uses the new board size, not the previous one (as was
indicated by size -2), so that -boardSize specifications inside a theme
will take effect.
  Board size petite should not be forbidden for Shogi; all pieces exist there.

11 years agoFix grabbing of selected piece
H.G. Muller [Mon, 26 Aug 2013 12:40:57 +0000]
Fix grabbing of selected piece

A second static click on a selected piece should deselect it, but an attempt
to drag an already selected piece should not 'bounce off'. It was already
possible to move a selected piece to another square, but the dragging was
not animated. This is now fixed, by only skipping the code to start dragging
when the second click is part of the only-move double-click for only capture.
(Before it was skipped on any second click.)

11 years agoAllow entry of negative numbers in spin control (WB)
H.G. Muller [Mon, 26 Aug 2013 11:35:47 +0000]
Allow entry of negative numbers in spin control (WB)

Windows numeric controls do not accept negative numbers, so in case the
range of a spin option can go negative, the style ES_NUMBER should not be
set on the control.

11 years agoAllow drops / promotions/ deferrals to be edited into book
H.G. Muller [Mon, 26 Aug 2013 09:37:27 +0000]
Allow drops / promotions/ deferrals to be edited into book

For no real reason only NormalMove would be accepted when parsing the list
of book moves.

11 years agoFix GUI book after setup position
H.G. Muller [Mon, 26 Aug 2013 09:28:54 +0000]
Fix GUI book after setup position

The routine to send move to the engine would automatically append a 'go'
is a preious setboard had put the engine in force mode, but this should
not happen on a book hit, where the engine should even be put in force mode
if it was not yet there.