xboard.git
4 years agoFix probing of GUI book for board with more than 10 ranks
H.G.Muller [Sun, 8 Mar 2015 16:46:08 +0000 (17:46 +0100)]
Fix probing of GUI book for board with more than 10 ranks

The move-to-text code was not yet adapted to the convention that rank
counting only starts at 0 for boards of exactly 10 ranks.

4 years agoImplement piece suffixes
H.G.Muller [Thu, 5 Mar 2015 14:58:56 +0000 (15:58 +0100)]
Implement piece suffixes

The piece ID can now be suffixed with an 'ornament', which then
is considered part of the piece ID. This expands the number of pieces
that can be indicated in FEN or SAN to several times the alphabet.
This does not yet work in a promotion suffix, as it is mainly intended
for the large Shogi variants, which only use + as promotion suffix.
It also does not work on King (which deserves an unadulterated letter).
Currently the ornaments ' (single quote) and ! (exclamation point) are
defined, (through a macro SUFFIXES in moves.h), increasing the number
of piece types that can be represented to 78.

4 years agoFix crash XBoard on changing Game List Tags
H.G.Muller [Wed, 4 Mar 2015 08:09:28 +0000 (09:09 +0100)]
Fix crash XBoard on changing Game List Tags

When the Game List was not up, the attempt to immediately update its
contents after changing the game-header format through the Game List Tags
dialog would result in a segfault.

4 years agoFix shift-JIS codes for N, P, +B, +R
H.G.Muller [Wed, 4 Mar 2015 08:08:57 +0000 (09:08 +0100)]
Fix shift-JIS codes for N, P, +B, +R

4 years agoChange book Zobrist key for Chu promoted pieces
H.G.Muller [Tue, 3 Mar 2015 21:44:32 +0000 (22:44 +0100)]
Change book Zobrist key for Chu promoted pieces

Promoted pieces for Chu (i.e. above Lion, with the exception of King)
now get keys derived from their base type, by XORing in a square-dependent
'promoted' key. This makes it possible to extend the unpromoted series
with new pieces without altering the keys for the promoted pieces.
So that the current book code works upto 48 unpromoted piece types,
rather than 48 piece types total.

4 years agoFix book encoding of Chu promotion moves
H.G.Muller [Tue, 3 Mar 2015 21:17:26 +0000 (22:17 +0100)]
Fix book encoding of Chu promotion moves

The Shogi promotion suffix had promotion code 8, which was not available
in Chu at all, due to the large board size. So in stead we use code 1 now.
Code 10 (or 2 in Chu) is reserved for encoding Lion moves, which currently
do not work at all.

4 years agoRemove debug printf for kanji
H.G.Muller [Mon, 2 Mar 2015 21:14:59 +0000 (22:14 +0100)]
Remove debug printf for kanji

4 years agoWrap kif comments in braces
H.G.Muller [Mon, 2 Mar 2015 21:12:36 +0000 (22:12 +0100)]
Wrap kif comments in braces

The parser assumes that a text that parsed as comment contained
enclosing braces, but in kif files we have to apply those ourselves,
to prevent a bare comment (starting with '*'!) to appear between the moves.

4 years agoImprove reading of pieceToCharTable
H.G.Muller [Mon, 2 Mar 2015 18:59:18 +0000 (19:59 +0100)]
Improve reading of pieceToCharTable

The piece-to-char string can now contain ' and ! suffixes on pieces,
which are taken together with the preceding piece ID. An encountered : will
cause the assigning to skip to the chu-promoted series of pieces, however
these are numbered.

4 years agoExtend book to 48 piece types and 256 squares
H.G.Muller [Mon, 2 Mar 2015 18:16:09 +0000 (19:16 +0100)]
Extend book to 48 piece types and 256 squares

Before the Zobrist key could only handle 24 piece types and 128 squares.

4 years agoFix reading of startposition FEN starting with *
H.G.Muller [Mon, 2 Mar 2015 12:15:19 +0000 (13:15 +0100)]
Fix reading of startposition FEN starting with *

When laoding a position file, a FEN starting with * would not be recognized
as FEN, and parsed in an alternative way that did not like the * either,
and caused a segfault.

4 years agoImplement -rankOffset option
H.G.Muller [Mon, 2 Mar 2015 11:49:36 +0000 (12:49 +0100)]
Implement -rankOffset option

This option is useful on boards with blacked-out ranks, to force rank
number one to be a higher up.

4 years agoUse PGN result in Game List build to supply tag
H.G.Muller [Mon, 2 Mar 2015 11:04:58 +0000 (12:04 +0100)]
Use PGN result in Game List build to supply tag

If a PGN tag was missing (as in loading of non-PGN game collections)
the game would be marked as unfinished ('*') in the Game List, even
when it contained a result. The kif-format resign messages are now cast
in a form that also recognizes the result-detail message.

4 years agoImplement kifu move disambiguation
H.G.Muller [Sat, 28 Feb 2015 10:05:21 +0000 (11:05 +0100)]
Implement kifu move disambiguation

For sliders the Japanese disambiguation clues cannot be translated
to PSN-like disambiguators, so the problem had to be resolved in the
Disambiguate callback, at the time when the second piece of the
requested type is identified, so that the relative position of the pieces
is known.

4 years agoMake move parser understand kif-format Shogi moves
H.G.Muller [Fri, 27 Feb 2015 16:13:52 +0000 (17:13 +0100)]
Make move parser understand kif-format Shogi moves

For now only utf-8 kanji are recognized. The recognition of '*' as an
unfinished game end had to be suspended for this, based on encountering of
bare kanji (from the kif header), and is only regained after reading
of a PGN tag!

4 years agoDo not call illegal moves ambiguos
H.G.Muller [Sat, 21 Feb 2015 19:08:00 +0000 (20:08 +0100)]
Do not call illegal moves ambiguos

When legality testing is off, an illegal SAN move would be interpreted
as if the mentioned piece type could move anywhere, which lead to an
'Ambiguous Move' message if there were multiple pieces of that type.
This should not be done if the piece moves are known through engine piece commands.

4 years agoFix parsing of illegal drops from PGN
H.G.Muller [Sat, 21 Feb 2015 19:02:06 +0000 (20:02 +0100)]
Fix parsing of illegal drops from PGN

These were parsed as if the first two characters were the from-square.

4 years agoFix spurious promo-suffixes on drop moves
H.G.Muller [Fri, 20 Feb 2015 19:27:45 +0000 (20:27 +0100)]
Fix spurious promo-suffixes on drop moves

The promo-suffix from the previous move would be left on drop moves,
and could even be set to the engine.

4 years agoLet promotion zone be 3 ranks on 8-rank shogi boards
H.G.Muller [Fri, 20 Feb 2015 14:46:35 +0000 (15:46 +0100)]
Let promotion zone be 3 ranks on 8-rank shogi boards

For the benefit of Euro-Shogi the rule that the depth of the promotion
zone is the board height divided by 3, rounded down (which works so well
for mini-, Judkins, Tori and regular Shogi) is given an exception when
the numer of ranks is 8.

4 years agoFix illegal-drop fix
H.G.Muller [Fri, 20 Feb 2015 13:07:40 +0000 (14:07 +0100)]
Fix illegal-drop fix

4 years agoSuppress lift command on deselecting piece
H.G.Muller [Wed, 18 Feb 2015 21:54:12 +0000 (22:54 +0100)]
Suppress lift command on deselecting piece

A click on the selected piece deselects it, and thus should not
result in a lift command to prompt highlighting of its moves.

4 years agoSuppress appearance of promotion popup when sweep-selecting
H.G.Muller [Wed, 18 Feb 2015 21:49:20 +0000 (22:49 +0100)]
Suppress appearance of promotion popup when sweep-selecting

In highlight-induced promotions the popup would appear even when it
should have been off.

4 years agoFix illegal drops
H.G.Muller [Wed, 18 Feb 2015 21:47:30 +0000 (22:47 +0100)]
Fix illegal drops

Even white was dropping black pieces on those!

4 years agoFix click-click sweep-select
H.G.Muller [Sun, 15 Feb 2015 22:17:29 +0000 (23:17 +0100)]
Fix click-click sweep-select

If the up-click of the second click of a sweep-select would occur in the
from-square, the whole move would be ignored, and de-select the promoting
piece instead.

4 years agoFix promotion sweep of black Pawns in Shogi
H.G.Muller [Sun, 15 Feb 2015 22:12:14 +0000 (23:12 +0100)]
Fix promotion sweep of black Pawns in Shogi

The wrap-around when we run past white King should not be done in
toggle mode, where it is guaranteed we won't run out of range.

4 years agoFix deselection of piece
H.G.Muller [Mon, 9 Feb 2015 09:09:55 +0000 (10:09 +0100)]
Fix deselection of piece

The patch to allow entering of friendly capture (intended as a kludge
for entering non-standard castling) had broken the ability to change
the selected piece by clicking another piece, as this was now always
interpreted as a friendly capture (which was then rejected as illegal).
By testing marker[][] in stead of legal[][] this can be avoided; legal[][]
was not a good measure, because in absence of a highlight command it
is completely filled with 1, to make everything legal. No friendly squares
will ever get marked unless a highlight command does it, though.

4 years agoFix highlight-induced promotions
H.G.Muller [Mon, 9 Feb 2015 09:01:48 +0000 (10:01 +0100)]
Fix highlight-induced promotions

A purple square in the highlight color FEN triggered the promotion
procedure, but the chosen promotion piece would not be suffixed to
the move.

4 years agoCastling fix 1
H.G.Muller [Mon, 9 Feb 2015 09:01:16 +0000 (10:01 +0100)]
Castling fix 1

4 years agoTake heed of mnemonic indicator when clipping menu texts
H.G.Muller [Fri, 6 Feb 2015 12:01:44 +0000 (13:01 +0100)]
Take heed of mnemonic indicator when clipping menu texts

An underscore in the menu text should not be counted when deciding where
to clip the text to make the menu bar fit the window width. If clipping
would occur immediately after an underscore, just clip off the first
character to get the mnemonic back in view. (This makes _n from the
Engine menu.)

4 years agoLet Betza jO mean castling with non-edge piece
H.G.Muller [Thu, 5 Feb 2015 22:01:48 +0000 (23:01 +0100)]
Let Betza jO mean castling with non-edge piece

This is useful in Omega Chess, where the Rooks are not on the edge.
The number of j tell how many pieces have to be between edge and castling
partner.

4 years agoCastle with nearest rather than corner piece
H.G.Muller [Thu, 5 Feb 2015 19:09:53 +0000 (20:09 +0100)]
Castle with nearest rather than corner piece

An oversized sideway King step is recognized as castling, but instead
of using the piece closest to the board edge on that rank (ignoring dark
squares) we now use the piece that the King is looking at in that direction.
This fixes castling in Omega Chess.

4 years agoAllow friend-trampling format also for royal castlings
H.G.Muller [Thu, 5 Feb 2015 18:44:10 +0000 (19:44 +0100)]
Allow friend-trampling format also for royal castlings

The restriction that the trampling piece should not be King is lifted.
That the piece has an O atom in its Betza string is enough to qualify.

4 years agoRecognize castling double-moves from engine
H.G.Muller [Thu, 5 Feb 2015 18:34:32 +0000 (19:34 +0100)]
Recognize castling double-moves from engine

An engine could already send double-moves of the Alien protocol,
where the same piece moved twice, which were then glued into a single
step, with the intermediate square as trampled piece. Now when the
second leg is whith a different piece, it keeps the first leg as overall
move, and tramples the second mover. This translates castlings sent
as two-piece moves to the kludge format of trampling the own 'Rook'.

4 years agoFix drops
H.G.Muller [Thu, 5 Feb 2015 16:35:34 +0000 (17:35 +0100)]
Fix drops

4 years agoPrint castlings as double move
H.G.Muller [Thu, 5 Feb 2015 16:33:24 +0000 (17:33 +0100)]
Print castlings as double move

4 years agoFix illegal drops
H.G.Muller [Thu, 5 Feb 2015 11:24:00 +0000 (12:24 +0100)]
Fix illegal drops

For illegal drops the 'from-square' was subjected to an on-board test,
which of course always failed, after which the move was reclassified
as an ImpossibleMove after all. (Leading to rejection even when legality
testing was off, and error messages like "Could not parse move".)

4 years agoFix width of dual board GTK
H.G.Muller [Tue, 3 Feb 2015 11:49:11 +0000 (12:49 +0100)]
Fix width of dual board GTK

The message field here was too wide, because it was attached to a
non-existing table column.

4 years agoFix Tab in ICS command mode
H.G.Muller [Tue, 3 Feb 2015 09:14:56 +0000 (10:14 +0100)]
Fix Tab in ICS command mode

Tab was not working to open a chat after oborting opening a new one,
when only one chat was open.

4 years agoFix sending of messages from kibitz or c-shout chat
H.G.Muller [Mon, 2 Feb 2015 15:29:22 +0000 (16:29 +0100)]
Fix sending of messages from kibitz or c-shout chat

Kibitz messages and c-shouts could be captured in their own chat window.
like shouts and whispers, but sending messages from such chats did not
get the proper prefixing, but were treated as tells to nonexistent players
'kibitzes' and 'c-shouts'.

4 years agoIgnore Tab in ICS Interaction if no chats assigned
H.G.Muller [Thu, 29 Jan 2015 10:20:37 +0000 (11:20 +0100)]
Ignore Tab in ICS Interaction if no chats assigned

Thuis used to open a new chat, but Ctl-N exists for that now.

4 years agoUse Ctl-E in ICS chat to end chat
H.G.Muller [Thu, 29 Jan 2015 10:12:19 +0000 (11:12 +0100)]
Use Ctl-E in ICS chat to end chat

4 years agoUse Ctrl-H in ICS Chat to close chat pane
H.G.Muller [Thu, 29 Jan 2015 09:56:45 +0000 (10:56 +0100)]
Use Ctrl-H in ICS Chat to close chat pane

This used to be done by <Esc>, but that now focuses board instead.

4 years agoLet <Esc> transfer focus from Board to ICS Input
H.G.Muller [Wed, 28 Jan 2015 22:17:23 +0000 (23:17 +0100)]
Let <Esc> transfer focus from Board to ICS Input

<Esc> in the input field of the ICS Interaction window transfers focus
to the board, but there was no way to transfer focus back without actually
typing something in the input field. <Esc> now does that. Unlike typing
printables, it does not close the chat pane, though. In addition, <Esc>
when the chat pane is open now also transfers focus to the board, rather
than closing the chat pane. This makes quick transparent switching between
board and Chat / ICS Interaction possible. It is no longer possible to
simply hide the chat pane, though. But this was usually done for typing
a command, and swicthing to the board with <Esc> and typing the command
there has the same effect.

4 years agoDefine mnemonics for main menu bar
H.G.Muller [Tue, 20 Jan 2015 11:02:19 +0000 (12:02 +0100)]
Define mnemonics for main menu bar

4 years agoSet position dir to handicap positions in shogi theme
H.G.Muller [Tue, 20 Jan 2015 10:54:52 +0000 (11:54 +0100)]
Set position dir to handicap positions in shogi theme

4 years agoLet file selecor remember last used directory (GTK)
H.G.Muller [Sun, 21 Dec 2014 22:09:25 +0000 (23:09 +0100)]
Let file selecor remember last used directory (GTK)

The file selector now starts in the directory that was last used
to load a file of the type we are now browsing for. (Supported types:
pgn, fen, trn, bin, png.)

4 years agoImplement -positionDir option GTK
H.G.Muller [Sat, 20 Dec 2014 19:47:05 +0000 (20:47 +0100)]
Implement -positionDir option GTK

This volatile option determines where Load Position starts browsing.

4 years agostash
H.G.Muller [Mon, 17 Nov 2014 12:00:37 +0000 (13:00 +0100)]
stash

4 years agoFix click-click moving with -monoMouse
H.G.Muller [Thu, 13 Nov 2014 19:23:57 +0000 (20:23 +0100)]
Fix click-click moving with -monoMouse

A to-click should never be interpreted as button 3.

4 years agoImplement -monoMouse option (XB)
H.G.Muller [Thu, 13 Nov 2014 17:33:42 +0000 (18:33 +0100)]
Implement -monoMouse option (XB)

With the monoMouse option button-3 is no longer needed in Edit-Position
mode, but a button-1 click on an empty square will automatically behave
as if it was button 3. It can only be used with -pieceMenu false,
as it does not communicate the coordinates of the clicked square.

4 years agoFix crash on using Browse buttons in Tournament dialog Xaw
H.G.Muller [Tue, 11 Nov 2014 13:40:43 +0000 (14:40 +0100)]
Fix crash on using Browse buttons in Tournament dialog Xaw

The Xaw file browser assumes the text entries it is browsing for are
all in dialogs of the class TransienDlg, but the Tournament Options
dialog has been altered to MasterDlg, to allow it to co-exist with
Time Control and Common-Engine dialog (which can be opened through
buttons in it). Xaw did not like that, and the true DialogClass is
now used when setting the widget text.

4 years agoFix -addMasterOption option
H.G.Muller [Mon, 10 Nov 2014 13:29:25 +0000 (14:29 +0100)]
Fix -addMasterOption option

The comparison of the date stamps in master and user settings file
was broken, because the date stamps were declared as unsigned, so that
the difference would never be negative.

4 years agoAllow creation of DarkSquares in EditPosition mode
H.G.Muller [Mon, 3 Nov 2014 20:59:09 +0000 (21:59 +0100)]
Allow creation of DarkSquares in EditPosition mode

Dragging an EmptySquare off board will make it a DarkSquare. Dragging
anything else off board (incl. DarkSquares) makes it empty, as before.

4 years agoLet Clear Board respect DarkSquares
H.G.Muller [Mon, 3 Nov 2014 20:56:29 +0000 (21:56 +0100)]
Let Clear Board respect DarkSquares

Usually we will clear the board to set up a new position. Not to
redesign the board shape.

4 years agoFix sweep promotions for Lance on deeper zones
H.G.Muller [Mon, 3 Nov 2014 20:51:46 +0000 (21:51 +0100)]
Fix sweep promotions for Lance on deeper zones

Unlike Pawns, Lances always assumed a zone depth of 1 in deciding on
activating sweep promotion. (Because they did not naturally occur in
any variant that had a deeper zone.)

4 years agoFix two-sided non-royal castling
H.G.Muller [Mon, 3 Nov 2014 20:49:07 +0000 (21:49 +0100)]
Fix two-sided non-royal castling

4 years agoFix e.p. capture
H.G.Muller [Sun, 2 Nov 2014 20:44:48 +0000 (21:44 +0100)]
Fix e.p. capture

4 years agoFix premature disappearence of Lion victims
H.G.Muller [Sun, 2 Nov 2014 14:52:25 +0000 (15:52 +0100)]
Fix premature disappearence of Lion victims

The check test did not correctly undo a Lion e.p. capture, which
would make the victim already disappear after entry of the first leg,
which potentially could affect the second leg move generation.
(Not in Lions, though, but in Betza castlings it manifested itself.)

4 years agoImplement non-royal castling
H.G.Muller [Sun, 2 Nov 2014 14:31:34 +0000 (15:31 +0100)]
Implement non-royal castling

The Betza move generator allows castlings to be specified on non-royal
pieces, and indeed the Omega-Chess 'guarding' castles Q with R. To
prevent ambiguity this is implemented as a two-leg move QxR-s (with 's'
the target square specified in the O atom). This automatically takes care
of removal of the 'Rook', so that in ApplyMove() we only have to put it
back on the proper side of the 'King'.

4 years agoAlso set e.p. rights on move of Lance
H.G.Muller [Sun, 2 Nov 2014 11:24:16 +0000 (12:24 +0100)]
Also set e.p. rights on move of Lance

The Lance is intended as Pawn alternative (because of its slim shape),
except in Superchess (where it represents Amazon) and Chu. (In regular
Shogi the Lace is represented by Queen disguised as Lance!) So it would
be logical to also make its double-Pushes set e.p. rights. Except in
Spartan Chess, which has no e.p. capture.

4 years agoAllow e.p. capture on triple-Push
H.G.Muller [Sun, 2 Nov 2014 10:29:31 +0000 (11:29 +0100)]
Allow e.p. capture on triple-Push

Some variants (like Omega Chess) have an initial triple-Push on Pawns,
wich can then e.p.-captured on both of the squares they skip. To allow
the Betza move generator to supply such e.p. captures, a bit flag is
kludged into the EP_RANK state indicator on triple pushes, while the
main value there is that of the rank directly behind the pushed Pawn.
The Betza generator then also matches the square behind it with the
e.p.-capture to-square when the falg is set.
 ApplyMove() also had to be adapted, to remove the Pawn two squares
behind the capturing one, rather than straight behind it, when this
flag is set.

4 years agoMake the promotion zone always 3 deep in Elven Chess
H.G.Muller [Fri, 31 Oct 2014 22:46:13 +0000 (23:46 +0100)]
Make the promotion zone always 3 deep in Elven Chess

The promotion zone in Eleven Chess was treated as in Shogi, and set
to the board height divided by 3. It is better to always make it 3.
This only makes a difference when the boardHeight is overruled,
but Elven Chess is a very useful parent variant when a 3-deep promotion
zone is needed. (Makruk would only allow promotion to Ferz, and Grand
Chess would need holdings and allow only promotion to captured pieces.)

4 years agoLocate corner piece in presence of DarkSquares
H.G.Muller [Fri, 31 Oct 2014 21:59:23 +0000 (22:59 +0100)]
Locate corner piece in presence of DarkSquares

The 'Rook' move implied by a castling indicated through an obver-sized
King step uses the corner pieces. But the corner isn't necessarily
the edge file if the board is not rectangular, but irregularly shaped
like in Omega Chess. So we have to ignore the DarkSquares, which are
not caounted as belonging to the board.

4 years agoAllow Betza castling with piece next to DarkSquare
H.G.Muller [Fri, 31 Oct 2014 13:26:19 +0000 (14:26 +0100)]
Allow Betza castling with piece next to DarkSquare

In variants like Omega Chess the board edges are not really the first
and last file, because of the Wizzard squares. So castling has to be
allowed not only with the piece on those files, but also when the square
beyond them is not part of the board anymore.

4 years agoLet Betza generator respect DarkSquares
H.G.Muller [Fri, 31 Oct 2014 12:54:59 +0000 (13:54 +0100)]
Let Betza generator respect DarkSquares

DarkSquares are not pieces, and should not be moved. When landing
on them they should be considered as off-board.

4 years agoConnect OSX Quit menu to ExitEvent
H.G.Muller [Thu, 30 Oct 2014 14:01:59 +0000 (15:01 +0100)]
Connect OSX Quit menu to ExitEvent

The Quit menu item provided by OSX was not equivalent to the original
XBoard menu item, as it did not automatically call ExitEvent. (Which
closing the window did.) This meant a hard kill, without saving settings
or the last game, and not properly shutting down the engine(s).
We now catch the OSX 'WillTerminate' event to perform these tasks.

4 years agoAdd USI/UCCI checkbox to Load Engine dialog
H.G.Muller [Tue, 28 Oct 2014 21:37:22 +0000 (22:37 +0100)]
Add USI/UCCI checkbox to Load Engine dialog

Assign a default command to the -uxiAdapter when it was not yet defined,
as this will be used after ticking the checkbox, and the compile-time
default for it was an empty string, and will have found its way in
the user settings files of most users (making configuring through
the master settings file pointless).

4 years agomake GTK the default version
Arun Persaud [Sun, 3 May 2015 03:30:08 +0000 (20:30 -0700)]
make GTK the default version

4 years agoupdated Dutch translation
Arun Persaud [Sun, 3 May 2015 03:26:48 +0000 (20:26 -0700)]
updated Dutch translation

4 years agoupdated German translation
Arun Persaud [Sun, 3 May 2015 03:26:38 +0000 (20:26 -0700)]
updated German translation

4 years agofix typo in configure
Arun Persaud [Sun, 26 Apr 2015 20:31:29 +0000 (13:31 -0700)]
fix typo in configure

4 years agoupdated French translation
Arun Persaud [Sun, 26 Apr 2015 19:49:09 +0000 (12:49 -0700)]
updated French translation

4 years agoupdated German translation
Arun Persaud [Sun, 26 Apr 2015 19:49:01 +0000 (12:49 -0700)]
updated German translation

4 years agoadded French translation
Arun Persaud [Mon, 20 Apr 2015 03:26:20 +0000 (20:26 -0700)]
added French translation

4 years agoupdated German translation
Arun Persaud [Mon, 20 Apr 2015 03:19:18 +0000 (20:19 -0700)]
updated German translation

4 years agoremove OS X theme folder
Arun Persaud [Sat, 25 Oct 2014 05:27:31 +0000 (22:27 -0700)]
remove OS X theme folder

4 years agoremoved gtk theme from OSX app
Joshua Pettus [Fri, 24 Oct 2014 07:04:22 +0000 (00:04 -0700)]
removed gtk theme from OSX app

4 years agoAdd persistent Boolean option -fixedSize
H.G.Muller [Thu, 23 Oct 2014 21:33:18 +0000 (23:33 +0200)]
Add persistent Boolean option -fixedSize

When set, this option suppresses sizing of the board and clocks when
the window is sized by the user. This is achieved by wrapping the entire
dialog in a non-expanding hbox.

4 years agoAlso do dual-royal test in variant shogi
H.G.Muller [Thu, 23 Oct 2014 19:23:14 +0000 (21:23 +0200)]
Also do dual-royal test in variant shogi

For the benefit of Sho Shogi we also have to be prepared to find a
Crown Prince in variant shogi, so it can be used as a parent variant
for Sho Shogi with legality testing on.

4 years agoFix promotion in Betza move generator
H.G.Muller [Thu, 23 Oct 2014 14:22:54 +0000 (16:22 +0200)]
Fix promotion in Betza move generator

The Betza move generator was geenrating allmoves as NormalMove, but in
that case XBoard would not allow the move to have a promotion suffix.
Now Pawns and Lances reaching last rank will be assumed to promote.

4 years agoAttempt to make GTK sizing work with tiling WM
H.G.Muller [Wed, 22 Oct 2014 11:06:25 +0000 (13:06 +0200)]
Attempt to make GTK sizing work with tiling WM

The Rezise routine now takes the size of the entire dialog table
(for me always equal to the outer-window size), and checks if the
actual outer window is smaller. If it is, it shrinks the board to fit,
under the assumption that a tiling window manager offers only a limited
'viewport' to our dialog, and we want everything to be visible inside that.

4 years agoFix -xbuttons window width GTK
H.G.Muller [Wed, 22 Oct 2014 09:04:47 +0000 (11:04 +0200)]
Fix -xbuttons window width GTK

Because Label options not followed by a SAME_ROW element were only
packed into the first two columns of the dialog table, the board window
reserved space for a third column behind the message window if there
was no button bar.

4 years agomac: only use gtk compile flag, if osxapp is enabled
Arun Persaud [Wed, 22 Oct 2014 03:37:41 +0000 (20:37 -0700)]
mac: only use gtk compile flag, if osxapp is enabled

4 years agoPrevent unknown variant getting button in -ncp mode
H.G.Muller [Tue, 21 Oct 2014 20:40:39 +0000 (22:40 +0200)]
Prevent unknown variant getting button in -ncp mode

Normally we fake the engines play the requested variant, for the benefit
of engines that do not send a variants feature (e.g. v1 engines). But this
should not be done if there is no engine, as it would lead XBoard to
believe an unknown variant name is an engine-defined variant supported
by a currently loaded engine, and create a button for it in the New Variant
dialog.

4 years agoFix variant-name recognition
H.G.Muller [Tue, 21 Oct 2014 20:07:09 +0000 (22:07 +0200)]
Fix variant-name recognition

StringToVariant did recognize whether the name to recognize had suffuxes
compared to the tabulated name, but not if it had prefixes. So 'shoshogi'
would be recognized as 'shogi'.

4 years agoSuppress duplicat autoInstalls
H.G.Muller [Tue, 21 Oct 2014 19:52:21 +0000 (21:52 +0200)]
Suppress duplicat autoInstalls

If the engine line constructed for -autoInstall already occurs in
the engine list, we should not install it again.

4 years agoBase new square size on board widget allocation GTK
H.G.Muller [Tue, 21 Oct 2014 16:41:03 +0000 (18:41 +0200)]
Base new square size on board widget allocation GTK

No longer pay attention to the size of the top-level window, but base
everything on the size of the board widget itself.

4 years agoIgnore first configure event
H.G.Muller [Tue, 21 Oct 2014 11:45:51 +0000 (13:45 +0200)]
Ignore first configure event

The first configure event will be the one that adds the window decorations
to the board window, and must not be used to calculate a new square size,
but to expand the outer window instead.

4 years agoLet GTK dialogs open with actual-size Graph widgets
H.G.Muller [Tue, 21 Oct 2014 09:35:21 +0000 (11:35 +0200)]
Let GTK dialogs open with actual-size Graph widgets

The Graph Option size values are now uses as size_request, to give
proper dialog sizing at popup. But the size_request is then reset
so that free sizing by the user becomes possible.

4 years agoFix display of Spin Options with negative range
H.G.Muller [Sun, 19 Oct 2014 11:16:43 +0000 (13:16 +0200)]
Fix display of Spin Options with negative range

4 years agoline numbers in PO got updated
Arun Persaud [Sat, 18 Oct 2014 04:35:25 +0000 (21:35 -0700)]
line numbers in PO got updated

4 years agoupdated ChangeLog, DIFFSTAT and SHORTLOG
Arun Persaud [Sat, 18 Oct 2014 04:23:47 +0000 (21:23 -0700)]
updated ChangeLog, DIFFSTAT and SHORTLOG

4 years agoupdated NEWS
Arun Persaud [Sat, 18 Oct 2014 04:17:56 +0000 (21:17 -0700)]
updated NEWS

4 years agoforget a few __APPLE__ ifdefs; changed to OSXAPP
Arun Persaud [Sat, 18 Oct 2014 04:17:28 +0000 (21:17 -0700)]
forget a few __APPLE__ ifdefs; changed to OSXAPP

4 years agofix typo and prefix
Arun Persaud [Fri, 17 Oct 2014 07:01:44 +0000 (00:01 -0700)]
fix typo and prefix

AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching?
Using just prefix=... seems to work though

4 years agoUSE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE
Arun Persaud [Fri, 17 Oct 2014 06:34:22 +0000 (23:34 -0700)]
USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE

4 years agoMerge branch 'master' into v4.8.x
Arun Persaud [Fri, 17 Oct 2014 06:14:42 +0000 (23:14 -0700)]
Merge branch 'master' into v4.8.x

4 years agoFix loading of engine-defined PGN games
H.G.Muller [Thu, 16 Oct 2014 19:44:33 +0000 (21:44 +0200)]
Fix loading of engine-defined PGN games

Somehow there could be disagreement over what the official opening
position of an engine-defined variant was during loading of the game.
It then refused Betza-defined castling, which tests the corner pieces
based on this initial position. We now assume the FEN tag, which such
a PGN game will always contain, holds the official opening position,
so that castling will always be assumed possible (if there is a corner
piece).

4 years agoPreserve parent variant for PGN of engine-defined game
H.G.Muller [Thu, 16 Oct 2014 18:29:27 +0000 (20:29 +0200)]
Preserve parent variant for PGN of engine-defined game

Rather than decoding an unknown variant name, (which will result in
'normal'), we keep the currently set (parent) variant when an
engine-defined variant is currently set that matches the name in
the PGN variant tag of the loaded game.

4 years agoFix some uninitialized variable bugs
H.G.Muller [Thu, 16 Oct 2014 15:54:13 +0000 (17:54 +0200)]
Fix some uninitialized variable bugs

The writing of Seirawan castling rights in FEN was still dependent on a
now unused variable, and encountering a VariantMen tag in a PGN file
could have created the misconception the memory was full.