H.G. Muller [Sun, 21 Oct 2012 08:21:33 +0000]
Fix button-border-width bug in monoMode
The kludge of signalling we are dealing wih a button rather than a label
was wrongly implemented in case of momoMode.
H.G. Muller [Sun, 21 Oct 2012 08:14:24 +0000]
Reserve more space for button bar
In some board sizes the button bar was wider than the code guessed,
so the window width would be determined by the message + buttons row rather
than the board.
H.G. Muller [Sun, 21 Oct 2012 09:24:18 +0000]
Fix WinBoard compile errors
H.G. Muller [Sat, 13 Oct 2012 07:33:39 +0000]
Fix non-NLS compile error for XFontStruct
H.G. Muller [Fri, 12 Oct 2012 10:04:17 +0000]
Fix browsing for path
A pathname was still prefixed with the cuurent directory.
H.G. Muller [Sun, 7 Oct 2012 19:00:10 +0000]
Use Pause state in AnalyzeMode to imply move exclusion
The pause state was not used in AnalyzeMode so far. Now it is used to
imply all entered moves are for exclusion/inclusion.
Arun Persaud [Mon, 1 Oct 2012 01:55:13 +0000]
new version number for developer release
H.G. Muller [Sun, 30 Sep 2012 20:16:14 +0000]
Fix broken -ics and -cp options
The patch to specify engines and ICS by nickame broke the use of the
regular options to do this, because they could also reset them. Now
this is fixed by only setting them (through |= in stead of =).
H.G. Muller [Sun, 30 Sep 2012 20:01:52 +0000]
Update texi file
The description of exclude-moves, multi-game ananalysis and duo-analysis
is added.
H.G. Muller [Sun, 30 Sep 2012 08:07:58 +0000]
Resolve conflict between -mps and -inc options
The age-old problem that a persistent valid -inc value will cause -mps
to be ignored is solved by the kludge of storing these two as a single
option (-mps) in the settings file, and declaring the other (-inc) volatile.
The range of negative numbers (invalid as -mps value) was available for
that, and now is used to store the negated value of -inc in msec.
For backward compatibility, specification of -inc causes interpretation
of -mps in the old way. The forcing of -inc to -1 in the master settings file
could be safely removed because of this change, so that the time increment
now is a persistent option.
H.G. Muller [Sat, 29 Sep 2012 21:13:04 +0000]
Allow entry of fractional increment in WB time-control dialog
The numeric edit is changed to a general text edit, and code is added
to convert the text it contains to and from float, with proper error check.
H.G. Muller [Sat, 29 Sep 2012 21:05:33 +0000]
Preconfigure -icsNames in xboard.conf
Although XBoard has no startup dialog with an ICS combobox, the -icsNames
option is now used to select lines from with the -is option, and in
interpretation of positional arguments. The most common ICS are configured
together with a short nickname, so that commands like "xboard fics" will work.
H.G. Muller [Sat, 29 Sep 2012 20:58:12 +0000]
Allow ICS nickname as positional argument
If an argument is encountered that is not preceded by an option name,
it is now first checked if it corresponds to the nickname of an ICS
in -icsNames. If so, it is assumed to be the value of an -is option,
selecting -ics mode with that ICS and all the options installed with it.
H.G. Muller [Fri, 28 Sep 2012 18:28:05 +0000]
Cure some sick behavior in XBoard Engine Output right-clicks
When a PV-walk is in progress, the PV is highlighted by selecting it,
and this focuses the attention of the scroll bar on it, so it remains in
view. But after release, that line was kept in view, rather than scrolling
back to the top of the window (where the header line bust be available
for clicking)
H.G. Muller [Fri, 28 Sep 2012 11:28:17 +0000]
Allow Analyze Game to auto-step through entire game file
If the game index is set to auto-increment (-lgi -1), the Analyze Game
function will automatically load the next game of the current game file
(starting to auto-play/annotate that) when the end of the current game is
reached. This flushes the annotated game if auto-saving was set,
so that eventually all games in the file will be annotatd and saved.
The game index is automatically set to auto-increment when we load
a file while in Analyze Game mode, but switching this mode on while a game
is already loaded will stop at the end of that game, as usual (if -lgi was
not explicitly set).
H.G. Muller [Fri, 28 Sep 2012 11:24:33 +0000]
Let second engine move in lockstep during dual analysis
When the second engine is also analysing (as indicated by its stat variable
second.analyzing), we send all moves / undos / positions / in&excludes that
go to the first engine also to second.
H.G. Muller [Thu, 27 Sep 2012 17:07:58 +0000]
Allow second engine to analyze too
Clicking the Analysis menu when analysis is already in progress will
now toggle the secon engine to analyze the same position. For now,
this lasts only until the position changes (or you leave analyze mode),
after which the second engine is always switched off, and the Engine
Output window returns to single pane. Each pane now has its own header
line; the exclude header is suppressed in the second pane.
H.G. Muller [Thu, 27 Sep 2012 16:11:23 +0000]
Add options -fe, -se, -is to load installed engines/ics from list
The volatile string options -fe, -se ('first/second engine') load the first
and second engine of the given nickname in the -firstChessProgramNames list,
including all options that were installed with it (similar to when in
WinBoard the that engine line had been selected through the Startup Dialog's
combobox). The option -is is similarly used to retrieve the line for an
ICS in the -icsNames list.
H.G. Muller [Thu, 27 Sep 2012 16:02:24 +0000]
Add check on validity of tourney participants
Before allowing OK of the Tournament Options dialog, it is now checked
whether all participants (which are given as nicknames) can be found
in the list of installed engines, so that no problems will occurr with
non-existing engines during the tourney (if typos crept in after hand-
editing the list).
H.G. Muller [Tue, 25 Sep 2012 14:21:42 +0000]
Implement --help option
The list of options is printed before exiting. Some attempt is made
to do it in a nice way.
H.G. Muller [Sun, 23 Sep 2012 18:10:58 +0000]
Implement variant seirawan in -serverMoves option
Write the gating moves such that the ChessLive! viewer will understand them.
H.G. Muller [Sun, 23 Sep 2012 18:05:07 +0000]
Workaround for FICS bug
FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move.
This broke 'Upload to examine', because that uploaded in SAN. In case the
SAN starts with Bx or bx, it now uses long algebraic (with = before the
promo char).
H.G. Muller [Thu, 20 Sep 2012 16:17:55 +0000]
Define XOP mime type for XBoard
Supply a white-knight icon for this mime type, called application/x-xboard-opt,
and a sesktop file to associate it with running XBoard with this settings file.
H.G. Muller [Thu, 20 Sep 2012 15:24:29 +0000]
Pay attention to extension of 'positional' arguments
An argument without preceding option name was assumed to be an -lgf argument.
This patch still does that by default, but if the argument ends in .fen, .epd,
.trn, .ini or .xop it is considered an -lpf, -tf or -opt argument.
In addition, an implied -lpf or -lgf argument also imply the option -viewer,
which inserts the -viewerOptions string into the command line, and proesses it
as options. A new option -tourneyOptions is similarly inserted for an implied
-tf argument. These strings should contain all options needed to start XBoard
fully configured as game viewer or tourney playing agent on the mentioned file.
H.G. Muller [Thu, 20 Sep 2012 13:29:42 +0000]
Let windows stick to right display edge (WB)
Auxiliary windows docked to the board window from below or to the right, which are
pushed out of view when the board window resizes, will be trimmed to just touch the
diplay edge (if sufficient width or height remains). When the board window shrinks,
auxiliary windows touching the edge will be resized so they remain touching it.
H.G. Muller [Thu, 20 Sep 2012 13:20:36 +0000]
Round board size to one where piece images available (WB)
When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not
available, the size is temporarily rounded to one of the sizes where they are.
H.G. Muller [Tue, 3 Jul 2012 15:21:53 +0000]
Fix bug in Edit Position
Due to = in stead of == the variant was always set to S-Chess in
EditPositionDone().
Daniel Macks [Wed, 29 Aug 2012 04:24:51 +0000]
bug #37210: Mishandling of X11 -I flags (tiny change)
AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"'
Arun Persaud [Sat, 2 Jun 2012 21:31:18 +0000]
bug #36229: changed ICS_* from define to enum
Arun Persaud [Mon, 28 May 2012 20:58:00 +0000]
bug #36229: changed STATE_* from define to enum
enabling better compiler checks
Arun Persaud [Mon, 28 May 2012 20:50:50 +0000]
bug #36229: changed PEN_* from define to enum
This should allow better checks by the compiler
Arun Persaud [Mon, 28 May 2012 20:01:15 +0000]
fix bug #36228: reserved identifier violation
variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards.
See link in bug report.
Arun Persaud [Mon, 28 May 2012 19:36:37 +0000]
Updated German translation
Arun Persaud [Tue, 1 May 2012 03:06:00 +0000]
new version number for developer release
H.G. Muller [Tue, 24 Apr 2012 09:23:04 +0000]
Decapitalize promoChar in move parser
H.G. Muller [Mon, 23 Apr 2012 12:12:10 +0000]
Keep track of virginity of back-rank pieces in variant seirawan
The forelast rank of the Board array is now used in VariantSChess to
contain flags that indicate virginity of the back-rank pieces, one bit
for white, the other for black. Legality checking of gatings now makes
use of this info. FENs mention all virgin pieces not implied by castling
rights in the castling field, by printing the corresponding file IDs,
as long as holdings are non-empty. The FEN reader now also understands
this format. EditPositionDone fakes virginity for all pieces that are
on their starting square.
H.G. Muller [Tue, 17 Apr 2012 17:49:24 +0000]
Suppress clear-board message after pasting FEN
The message field is now always cleared when you leave EditPosition mode.
H.G. Muller [Tue, 17 Apr 2012 17:45:33 +0000]
Fix faking of castling rights after editing position with holdings
The queen-side rook was always imagined at X=0, which is in the holdings
when these exist, so that Q-side castling in such games was never allowed
after EditPosition.
H.G. Muller [Fri, 20 Apr 2012 08:29:36 +0000]
Fix WB Engine Settings window
The listbox patch has broken this window, by making it only list the
first option of the engine, by switching to the next column based on a >=
test rather than == test. Fixed by using 1000 as invalid value for the
break point, rather than -1.
H.G. Muller [Thu, 19 Apr 2012 22:01:08 +0000]
Fix key binding of DebugProc
The name used for binding was DebugProc, while the ite was named Debug.
H.G. Muller [Mon, 16 Apr 2012 18:51:50 +0000]
Fix ICS Text Menu popup
The space for the option names needed to be allocated.
H.G. Muller [Mon, 16 Apr 2012 18:37:06 +0000]
Fix disabling of Load Engine menu
H.G. Muller [Sun, 15 Apr 2012 20:53:24 +0000]
Port chat boxes to XBoard
A new menu item Open Chat Window is added to the View menu. It opens a
window that can handle 5 chats. A row of buttons on top selects which is
the foreground chat partner, to which we type, and whose incoming messages
will be displayed in the memo. The leftmost 'button' is not really a button,
but a text edit, and the active partner is displayed there (so it can be
altered). Selecting another chat partner through a button, moves that partner
to the text-edit, and reshuffles the buttons. Incoming messages in a chat
that is not foreground make the corresponding button color orange.
H.G. Muller [Mon, 16 Apr 2012 18:27:08 +0000]
Allow chaining of single-line text-edits to top
For the benefit of the chat window, a text-edit plus leading description
can now also be chained to the top edge of a dialog. The chaining of the
(degenerate) multi-line ICS Input Box and Move Type-In was entirely to the
bottom, which has now been corrected.
H.G. Muller [Thu, 12 Apr 2012 07:30:24 +0000]
Add logo widgets in main board window
New options -logoSize and -logoDir are added. The former enables logo display,
when non-zero and not too big. The latter is used by -autoLogo. The options
-firstLogo and -secondLogo also work. Problem is that the clock height
is larger than the logo height, and for now a nasty trick in GenericPopUp
is used to position the next element (message field) w.r.t. the clocks,
rather than the last element of the row above (the logo): in case of a
SAME_ROW Graph element, 'last' is kept at the previous element.
H.G. Muller [Thu, 19 Apr 2012 08:48:41 +0000]
Fix crash on time forfeit with -st option
When fixed time per move was set from the command line, the time-control
strings were not set. This let to a crash when an engine forfeited.
The GetTimeQuota function is now made resistant to a NULL pointer here.
H.G. Muller [Thu, 19 Apr 2012 08:39:12 +0000]
Solve WinBoard name clashes, fix zippy-analyze menu graying
Some of the function names used in the refactored X11 front-end collided
with Windows system names from winboard.h, or with names of internal routines
in WinBoard front-end files (so they could not be declared in frontend.h).
These were renamed. Some prototypes in engineoutput.h contained X11 types,
and they were moved to xboard.h.
In addition, two menu-item names were corrected to two-part names.
H.G. Muller [Wed, 18 Apr 2012 10:00:43 +0000]
Offer primitive paging in file browser
If there are more than 1000 files that would have to be displayed,
the number will be limited to 999, and a 'next page' entry will appear
at the bottom. Clicking that will give you the next group.
This is an emergency measure only, as it interferes with sorting
(grouping is based on order inside the directory, i.e. kind of arbitrary,
and sorting is only done within a group.) There is no such thing for the
folder list yet. There is no way to go back to a previous page, other
than closing and re-opening the browser, or selecting another file type.
H.G. Muller [Wed, 18 Apr 2012 09:16:58 +0000]
Add pixmap as file type known to browser
Users can browse for a pixmap to set the board texture.
H.G. Muller [Tue, 17 Apr 2012 13:45:27 +0000]
Fix warning about signedness
Note: the promoChar in ExcludeMoves was explicitly defined to make
sure the kludge promoChar = -1 for indicating best move works. But it
should be equivalent to casting the promoChar to (signed char) just
before the comparison.
H.G. Muller [Tue, 17 Apr 2012 13:44:15 +0000]
Fix warnings about character index
H.G. Muller [Tue, 17 Apr 2012 13:37:53 +0000]
Move ManProc to xboard.c
It calls ManInner, which requires X11 data types, even if the values are NULL.
H.G. Muller [Tue, 17 Apr 2012 13:27:21 +0000]
Move FileNamePopUp to dialogs.c
H.G. Muller [Tue, 17 Apr 2012 13:15:03 +0000]
Fix readout of numeric combobox
As currently no numeric comboboxes are used, this bug was silent.
H.G. Muller [Tue, 17 Apr 2012 13:10:54 +0000]
Shuffle prototypes to correct header, or add them there
H.G. Muller [Tue, 17 Apr 2012 12:15:15 +0000]
Fix MenuNameToItem
This function could crash when called with ann argument that did not
contain a period, while the idea was that it should handle this as if the
item is in noMenu (for user-specified key binding to non-menu funtions).
H.G. Muller [Mon, 16 Apr 2012 17:43:03 +0000]
Fix click-click under-promotion animation save
H.G. Muller [Tue, 17 Apr 2012 09:02:39 +0000]
Define TOPLEVEL in winboard.c
H.G. Muller [Tue, 17 Apr 2012 08:59:33 +0000]
Add two new strings to WinBoard language file
H.G. Muller [Tue, 17 Apr 2012 08:51:02 +0000]
Fix second-engine variant test
The test whether the second engine supports the selected variant took place
before the second engine was loaded, thus always coming to the conclusion
that the variant was not supported, and aborting the TwoMachines command.
The test is now moved to after second-engine loading (but before its
initialization, where non-supporting would become a fatal error).
H.G. Muller [Mon, 16 Apr 2012 10:11:09 +0000]
Fix clearing of ICS input box after send
Arun Persaud [Tue, 17 Apr 2012 02:08:10 +0000]
enable -Wall -Wno-parentheses for all compilers that understand them
Byrial Jensen [Mon, 16 Apr 2012 11:18:37 +0000]
Remove 5 unused variables from zippy code
Byrial Jensen [Mon, 16 Apr 2012 11:14:06 +0000]
Remove unused static function ShowTC
Byrial Jensen [Mon, 16 Apr 2012 11:10:58 +0000]
Remove unused static function MenuBarSelect
Byrial Jensen [Mon, 16 Apr 2012 11:07:01 +0000]
Remove unused variable first_entry from function find_key
Byrial Jensen [Mon, 16 Apr 2012 11:01:09 +0000]
Remove unused variable tm from function SaveGamePGN
Byrial Jensen [Mon, 16 Apr 2012 10:56:46 +0000]
Remove unused variable delayedKing from function QuickScan
Byrial Jensen [Mon, 16 Apr 2012 10:52:57 +0000]
Remove unused variable pdown from function UserMoveEvent
Byrial Jensen [Sun, 15 Apr 2012 02:25:59 +0000]
Change some double literals to floats.
To avoid unnecessary implicit promotions of float variables to double.
H.G. Muller [Sun, 15 Apr 2012 09:12:02 +0000]
Remove debug printf
Byrial Jensen [Sat, 14 Apr 2012 20:43:03 +0000]
Translate "NPS" also in engine output window
Arun Persaud [Sat, 14 Apr 2012 23:19:34 +0000]
removed unused variables (-Wunused-variable)
Arun Persaud [Sat, 14 Apr 2012 22:37:05 +0000]
added m4 directory to search path for aclocal. As suggested by Michel Van den Bergh
H.G. Muller [Sat, 14 Apr 2012 21:21:56 +0000]
Fix Eval Graph scale in drop games
H.G. Muller [Sat, 14 Apr 2012 21:16:29 +0000]
Fix ArrowDamage out-of-bounds access on drop moves
H.G. Muller [Sat, 14 Apr 2012 19:33:49 +0000]
Implement automatic partner observe
Starting a game, or starting to observe one, now automatically issues a
'pobserve' command if dual-board is switched on, so that the partner game
will pop up in the secondary board (assuming it is bughouse).
The secondary board now displays the players in the title. (This (lightly)
breaks WinBoard again.) When the primary game ends, the secondary board
closes automatically. Initial sizing of the board is repaired, and now uses
the actual current board size, rather than the initial size of the main board.
H.G. Muller [Sat, 14 Apr 2012 13:43:30 +0000]
Fix crash due to empty PV
Reception of a stat01 command before the first PV could cause a crash,
as apparently the parser cannot handle this.
H.G. Muller [Sat, 14 Apr 2012 11:27:48 +0000]
Suppress testing for availability in bughouse drops
Give up on testing legality of bughouse drop moves; this only causes problems,
because the move list sent by the ICS is not accompanied by holdings updates.
So XBoard parses it thinking the holdings are empty, making every drop move
an ImpossibleMove. Bughouse can only be played on ICS, and we might as well
trust the ICS that it will only pass us legal moves. A user should not be
able to enter illegal drops; unavailable pieces cannot be grabbed from the
holdings, and typing is diverted to the ICS directly (which would reject the
illegal drop without XBoard even knowing about it).
Also improve switching to bh/zh, based on drop move in initial board.
H.G. Muller [Sat, 14 Apr 2012 07:11:22 +0000]
Fix some compile errors / warnings
H.G. Muller [Fri, 13 Apr 2012 17:06:17 +0000]
Fix promotionPopDown on new move entry
The promotion popup is non-modal, and old XBoard versions popped it down
as soon as the user clicked the board, so he could just enter a new move
to abort the promotion. This was broken in the new version, because the code
to do the PopDown and abort in HandleUserMove had not been ported.
H.G. Muller [Fri, 13 Apr 2012 16:38:51 +0000]
Use in-place sweep-selection for click-click under-promotion
With detour under-promotion a piece cycles through all possible choices
during backwards dragging. But in a click-click move there is no dragging.
This used to be solved by letting the second click start a drag event of
the default promotion choice, which you could accept by immediately
releasing the mouse button, or drag around to change it first.
The dragging in this case seemed a little unnatural, because the to-square
was already indicated by the down-click. So it has been changed now to the
promo choice appearing on the down-clicked to-square, followed by
EditPosition-like sweep-selection on that square when one wants to under-
promote. The move is always accepted no matter where the up-click takes
place, except when it takes place on the from-square (which offers a last-
resort abort possibiliy).
Note that click-click promotion is essential in variants where it is not
obvious from the from-square alone that a promotion is imminent, but where
it depends on the to-square. (Such as Shogi.) There drag-drop detour under-
promotion is not possible.
H.G. Muller [Fri, 13 Apr 2012 14:05:16 +0000]
Improve arrow drawing
The arrow is now erased together with the border highlights, by marking
the damage it did, and then doing a selected redraw of the board to let
the damaged square be re-drawn. Highlights of a previous move are now
cleared on the down-click that selects a new piece, so there never is an
arrow to infavorably interact with animation of dragging.
H.G. Muller [Fri, 13 Apr 2012 12:57:15 +0000]
Also do selective redraw with showTargetSquares on
The XBoard DrawPosition now also keeps track of the previous marker state,
and redraws squares for which thi shas changed. As a result, the routine
MarkTargetSquares does no longer have to force to complete redraw.
(Breaks WinBoard?)
H.G. Muller [Thu, 12 Apr 2012 22:33:28 +0000]
Fix click-click sweep promotions to empty square
These did not work, because DragPieceBegin would fail on an EmptySquare.
H.G. Muller [Thu, 12 Apr 2012 21:58:41 +0000]
Move clearing of target squares to after drag end
A dragged piece that would partly overshoot its destination into a square
with a marker would effectively protect that marker from erasing, when the
erasing was done before the piece was released, because redrawal after the
move only would draw the target square. (Unlike erasing, which forces a full
redraw.)
H.G. Muller [Thu, 12 Apr 2012 21:49:27 +0000]
Fix double promotion popup
Only the up-click of a click-click move gives a promotion popup now.
H.G. Muller [Thu, 12 Apr 2012 21:32:28 +0000]
Fix promotion popup
The new GenericPopUp did not like it if the first button had 'SAME_ROW' set.
H.G. Muller [Thu, 12 Apr 2012 15:28:32 +0000]
Allow clearing of marker dots in any mode
There might already be dots when you change to a mode where there should
be none, and you don't want them to stay on forever in that case...
H.G. Muller [Thu, 12 Apr 2012 15:00:55 +0000]
Fix redraw of secondary board on flipping view
H.G. Muller [Thu, 12 Apr 2012 08:30:21 +0000]
Let clocks of secondary board count down
The back-end now remembers what is the active clock, and the time left on it.
This is then decremented and updated together with the clocks of your own
game, using the partnerUp flag to divert the clock display to the secondary.
H.G. Muller [Thu, 12 Apr 2012 07:47:43 +0000]
Fix 3 forgotten symbolic widget references
H.G. Muller [Wed, 11 Apr 2012 17:24:36 +0000]
Add sound files to browser menu
H.G. Muller [Wed, 11 Apr 2012 11:04:24 +0000]
Add New Directory button to file browser
H.G. Muller [Wed, 11 Apr 2012 07:54:51 +0000]
Detect engine exit during startup
The case where engine startup failure does not result in a fatal protocol
message, like "No such file", but where it simply exits, is now also covered.
H.G. Muller [Tue, 10 Apr 2012 20:55:07 +0000]
Suppress popup for fatal error after tellusererror
For cooperating better with Polyglot, and allowing more to-the-point
error messaging, the (awful) default message will be suppressed if the
dying engine already provided an explanation for its demise to the user.
H.G. Muller [Tue, 10 Apr 2012 18:28:45 +0000]
Fix Engine Output icon heights in international versions
The text in a label option could not be an empty string, or it would be
'translated' to something of enormous size. So it is set to a space now.
H.G. Muller [Tue, 10 Apr 2012 18:21:56 +0000]
Fix internationalization
The internationalization was broken by moving the XtSetLanguageProc
to behind 'bindtextdomain'.
H.G. Muller [Tue, 10 Apr 2012 18:03:46 +0000]
Make reference to board widgets symbolic
H.G. Muller [Tue, 10 Apr 2012 16:39:25 +0000]
Don't strip path from engine name if directory given