H.G. Muller [Sun, 29 Dec 2013 12:46:40 +0000]
Fix crash on use of dialog Browse buttons GTK
The code to set a filter did not expect multiple extensions, and would
cause a buffer overrun when there were.
H.G. Muller [Fri, 27 Dec 2013 19:12:23 +0000]
Make building of Windows .hlp file optional
By using && and || operators in the build recipe, the building of WinBoard
with Cygwin is now not aborted whe the Help Compiler is not installed.
H.G. Muller [Sun, 5 Jan 2014 10:47:18 +0000]
Use __APPLE__ compile switch for OS X
It seems that on Apple machines the compiler will always define the
symbol __APPLE__, so this is now used instead of OSX, which had to
be defined with a -DOSX compiler flag. The gtkmacintegration header
is now using <> in stead of "" in its #include. (Strange enough both
were working.)
H.G. Muller [Sat, 4 Jan 2014 11:18:30 +0000]
Set ~~ to bundle path for OS X
DATADIR is now #defined in WinBoard as "~~" to make the expansion a no-op
there. For OS X it is redefined as a variable, obtained from GTK-OSX.
H.G. Muller [Sun, 29 Dec 2013 16:27:24 +0000]
Implement EGBB probing and -first/secondDrawDepth
The new volatile options -first/secondDrawDepth N can be used with engines
that use tablebase, to limit their search depth to N ply in drawn positions
(as determined by bitbase probing). This prevents them from wasting lots
of CPU time on deep searches, when we know there is nothing to be discovered.
In won or lost positios such engines should move instantly anyway.
H.G. Muller [Sun, 29 Dec 2013 12:46:40 +0000]
Fix crash on use of dialog Browse buttons GTK
The code to set a filter did not expect multiple extensions, and would
cause a buffer overrun when there were.
H.G. Muller [Sun, 29 Dec 2013 22:27:12 +0000]
Activate ManProc in GTK
H.G. Muller [Sun, 29 Dec 2013 21:14:06 +0000]
Remove use of strndup
The use of strndup was actually unsafe, as the length was passed using
an ordinary strlen. strndup was not availableon OS X 10.6, and is now
replaced by an ordinary strdup, which should be save enough.
H.G. Muller [Sun, 29 Dec 2013 21:09:10 +0000]
Put some OSX code into gtk version
Under control of #ifdef OSX code is added to integrate the GTK front-end
into OS X. This involves moving the menu bar to outside the window, and
catching the signal that OS X sends to running applications when opening
another instance was requested. Som files are renamed to conform to the
file tree of the OS X App package.
H.G. Muller [Fri, 27 Dec 2013 21:56:56 +0000]
Update protocol specs for setup command
H.G. Muller [Fri, 27 Dec 2013 21:00:43 +0000]
Write -date stamp always with 10 characters
To make it easier to replace date stamps on uninstall, we give them
fixed length.
H.G. Muller [Fri, 27 Dec 2013 20:47:55 +0000]
Cure weirdness when dragging outside of board
Dragging outside the board (when people maximized the window) did not
properly restore background, (leaving a trail of dragged piece). Filling
the canvas with white when it is creatd cured this. The problem most likely
was that unitialized cairo surfaces had transparancy, and writing back
transparancy doesn't helpmuch to erase things.
H.G. Muller [Fri, 27 Dec 2013 19:29:26 +0000]
Fix WB New Variant dialog
After selecting an engine-defined variant, all radio buttons would refer to
the already selected variant, and thus all appear active, but do nothing.
H.G. Muller [Fri, 27 Dec 2013 19:25:25 +0000]
Fix compile error promo dialog WB
H.G. Muller [Fri, 27 Dec 2013 19:12:23 +0000]
Make building of Windows .hlp file optional
By using && and || operators in the build recipe, the building of WinBoard
with Cygwin is now not aborted whe the Help Compiler is not installed.
H.G. Muller [Fri, 27 Dec 2013 19:06:21 +0000]
Fix promotion in Ai-Wok
When in a variant with fixed promotion, such as Makruk, the promotion
piece did not participate, this led to disappearence of the piece, and
an =. suffix in SAN. This is relevant for the Makruk variant Ai-Wok,
which replaces the Met by a much more powerful Ai-Wok, which could not
be represented by another XBoard piece type due to this problem.
Now we search through the pieceToCharTable until a valid piece is found,
which works when the Ai-Wok is represented by a SMIRF Archbishop symbol.
H.G. Muller [Sun, 22 Dec 2013 20:01:36 +0000]
Make filler buttons in New Variant insensitive
H.G. Muller [Fri, 25 Oct 2013 12:39:23 +0000]
Implement option complex for installing engines
Options are added to allow XBoard to be called to install engines in the
user settings files. With -addMasterOption a line can be added to the
master settings file, and this will be automatically be preceded by a
-date option to record the date it was added. This is intended for adding
-installEngine options to the master file, in order to 'broadcast' the
availability of the engine to the users.
We now store the date in the user settings file, through a new -saveDate
option (as integer). This allows XBoard to relate the date of the saved
settings to -date stamps in the master settings file, and thus decide
if the latter (and install options that follow it) are seen for the first
time, or not. Depending on that it can decide if the install option should
be ignored.
The volatile Boolean optio -autoClose causes XBoard to save its settings
and exit before bringing up its GUI (but after processing the command line).
This is added to facilitate calling XBoard from engine-install scripts,
with an -addMasterOption argument.
H.G. Muller [Sat, 4 Jan 2014 11:18:30 +0000]
Expand ~~/ to bundle path (OSX)
DATADIR is #defined in WinBoard as "~~" to make the expansion a no-op
there. Same for Linux compiles. For OS X it is #defined as a variable,
obtained from GTK-OSX at startup.
H.G. Muller [Sun, 29 Dec 2013 22:27:12 +0000]
Activate ManProc in GTK
H.G. Muller [Sun, 29 Dec 2013 21:14:06 +0000]
Remove use of strndup
The use of strndup was actually unsafe, as the length was passed using
an ordinary strlen. strndup was not availableon OS X 10.6, and is now
replaced by an ordinary strdup, which should be save enough.
H.G. Muller [Sun, 29 Dec 2013 21:09:10 +0000]
Put some OSX code into gtk version
Under control of #ifdef OSX code is added to integrate the GTK front-end
into OS X. This involves moving the menu bar to outside the window, and
catching the signal that OS X sends to running applications when opening
another instance was requested. Som files are renamed to conform to the
file tree of the OS X App package.
H.G. Muller [Fri, 27 Dec 2013 20:47:55 +0000]
Cure weirdness when dragging outside of board
Dragging outside the board (when people maximized the window) did not
properly restore background, (leaving a trail of dragged piece). Filling
the canvas with white when it is creatd cured this. The problem most likely
was that unitialized cairo surfaces had transparancy, and writing back
transparancy doesn't helpmuch to erase things.
H.G. Muller [Fri, 22 Nov 2013 22:40:33 +0000]
Fix mate and stalemate test in Chu Shogi
Chu Shogi officially has no check, but we do want checkmate signs to
be displayed in SAN, and proper game-end messages to appear, rather than
force the user to play on until the King is captured. we also don't want
to allow him blundering away his King. So we don't use the F_IGNORE_CHECK
flag for Chu. But that means mate and stalemate will be recognized.
So it has to know stalemate is a win. Furthermore, check has to take
into account a possible spare royal. Finally, the + symbol to indicate
check should not be used in Chu, as in all Shogi variants this is reserved
to indicate promotion.
H.G. Muller [Fri, 22 Nov 2013 21:55:27 +0000]
Fix Chu-Shogi Lance deferral
The Lance was not exempted from being considerd a Hoplite Pawn, and would
thus be promoted in the Pawn-push code when it reached last rank to an
empty square (CharToPiece('=')).
H.G. Muller [Wed, 30 Oct 2013 13:03:17 +0000]
Allow Crown-Prince image to differ from King
Some of the pieces in the extended series have been assigned a new image,
in particular Prince, Phoenix and Kylin. These images are, however, optional.
If they cannot be found, the image files for King, Queen and Lion will be
used instead.
H.G. Muller [Fri, 25 Oct 2013 20:24:43 +0000]
Implement -installEngine option
This volatile string option conditionally adds its argument as a line
to the engine list (-firstChessProgramNames). The condition is that the
line is not yet already there, and either that the -versionNumber option
read from settings files or command line has a value different from the
version of the binary, or that -autoClose is set. It can be used for two
purposes: to install engines from the master settings file (so that it
only works first time after upgrades, when the stored versionNumber is
obsolete), or from engine install scripts (calling XBoard with -autoClose).
H.G. Muller [Thu, 24 Oct 2013 09:15:37 +0000]
Automatically switch to variant engine supports
When XBoard is started with an engine that announces variants, but does
not lists normal or FRC amongst them, it switches to the first variant
that the engine announced (if not starting in a mode that involves other
engines or ICS). This will even take into account size overrides.
H.G. Muller [Wed, 23 Oct 2013 19:30:14 +0000]
Fix promoting of Sho Elephant
H.G. Muller [Wed, 23 Oct 2013 19:03:27 +0000]
Change color of XQ board to better contrast with pieces
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.
H.G. Muller [Tue, 22 Oct 2013 15:16:13 +0000]
Fix hover event (again)
H.G. Muller [Mon, 21 Oct 2013 20:48:32 +0000]
Allow Lion sweep-selection in Chu Chess
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.
H.G. Muller [Mon, 21 Oct 2013 20:34:39 +0000]
Fix default of Chu Chess piece promotions
H.G. Muller [Mon, 21 Oct 2013 19:03:24 +0000]
Fix disambiguation of shogi-style promotions
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.
H.G. Muller [Sun, 20 Oct 2013 20:05:11 +0000]
Always alternate promo-sweep for shogi-style promoting piece
H.G. Muller [Sun, 20 Oct 2013 14:32:58 +0000]
Implement ChuChess
H.G. Muller [Mon, 21 Oct 2013 14:55:57 +0000]
Fix legality test of pinned-Lion moves
H.G. Muller [Sun, 20 Oct 2013 14:44:58 +0000]
Fix promoted Elephant image in Shogi (XB)
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.
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)
H.G. Muller [Tue, 15 Oct 2013 13:49:31 +0000]
Fix target squares second leg
H.G. Muller [Tue, 8 Oct 2013 21:03:54 +0000]
Fix sending and parsing of null moves and double moves
H.G. Muller [Tue, 8 Oct 2013 19:40:35 +0000]
Fix double-leg moves on small boards
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.
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.
H.G. Muller [Mon, 7 Oct 2013 15:00:42 +0000]
Animate both legs of Lion move
H.G. Muller [Fri, 4 Oct 2013 10:13:40 +0000]
Add claw svg to make-install
H.G. Muller [Fri, 4 Oct 2013 10:11:27 +0000]
Fix loading of game with multi-leg moves
H.G. Muller [Fri, 4 Oct 2013 08:24:34 +0000]
Fix SAN of promoted Chu pieces
H.G. Muller [Fri, 4 Oct 2013 08:12:59 +0000]
Change Blind-Tiger symbol to claw
H.G. Muller [Fri, 4 Oct 2013 07:48:15 +0000]
Fix Shogi promoted 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.
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...)
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.
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.
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.
H.G. Muller [Mon, 30 Sep 2013 20:01:00 +0000]
Fix sweep promotions
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).
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.
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.
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.
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.
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).
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.
Arun Persaud [Sat, 7 Dec 2013 19:48:10 +0000]
converted icons from xpm to png
This removes all xpm images 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.
Arun Persaud [Sat, 7 Dec 2013 16:48:48 +0000]
Updated Spanish translation
H.G. Muller [Thu, 5 Dec 2013 19:08:35 +0000]
Make filler variant button inactive
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.
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.
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.
H.G. Muller [Thu, 5 Dec 2013 14:47:26 +0000]
Remove width limiting of shuffle checkbox
H.G. Muller [Wed, 4 Dec 2013 19:26:59 +0000]
Only save clock settings in PGN when an engine plays
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.
Arun Persaud [Mon, 2 Dec 2013 01:38:36 +0000]
updated Spanish translation
Arun Persaud [Mon, 2 Dec 2013 01:38:04 +0000]
updated Dutch translation
H.G. Muller [Thu, 28 Nov 2013 12:30:40 +0000]
Allow castling and e.p. to be edited in opening book
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.
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.
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.
Arun Persaud [Mon, 25 Nov 2013 03:08:00 +0000]
updated German translation
Arun Persaud [Mon, 25 Nov 2013 02:25:10 +0000]
updated Dutch translation
Arun Persaud [Mon, 25 Nov 2013 02:21:56 +0000]
more translations fixes: use uppercase for variant names
Arun Persaud [Mon, 25 Nov 2013 02:06:11 +0000]
fixed some more translation strings
Arun Persaud [Sat, 23 Nov 2013 18:17:39 +0000]
output configure options when looking at --version
Arun Persaud [Sat, 23 Nov 2013 18:16:28 +0000]
expose the configure options to xboard
Arun Persaud [Sat, 23 Nov 2013 17:49:46 +0000]
configure.ac: don't set xaw if we choose gtk
Arun Persaud [Sat, 23 Nov 2013 17:49:04 +0000]
fixed some whitespace issues in configure.ac
Arun Persaud [Sat, 23 Nov 2013 05:10:25 +0000]
Translation: fixed some inconsistencies reported by Benno Schulenberg
Arun Persaud [Fri, 22 Nov 2013 03:52:57 +0000]
Added Dutch translation
Arun Persaud [Fri, 22 Nov 2013 03:49:46 +0000]
Updated Ukrainian translations
Arun Persaud [Sat, 16 Nov 2013 22:34:53 +0000]
Updated German translation
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".
hasufell [Wed, 18 Sep 2013 03:56:07 +0000]
BUILD: make Xaw frontend default (tiny change)
hasufell [Wed, 18 Sep 2013 03:54:15 +0000]
BUILD: fix configure switches (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
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.