Arun Persaud [Wed, 6 Feb 2013 07:02:07 +0000]
updated Changelog, NEWS, etc.
Arun Persaud [Wed, 6 Feb 2013 06:52:42 +0000]
new version number for release of 4.7.0
H.G. Muller [Tue, 5 Feb 2013 10:56:10 +0000]
Let initial setting of Twice checkbox reflect current state
The Twice checkbox in the Tournament dialog of WinBoard was by default
starting unticked. It is more convenient to have it preserve the current
state, however, based on the -lpi or -lgi value. Like the auto-incremet
checkbox already did.
H.G. Muller [Mon, 4 Feb 2013 21:07:05 +0000]
Put GTK warning in about-box
H.G. Muller [Mon, 4 Feb 2013 20:59:05 +0000]
Fix warnings of build server
H.G. Muller [Sat, 2 Feb 2013 14:58:04 +0000]
Fix GTK error auto-raising board
The variable mainwindow is not set in the gtk2 version. Unfortunately
it is still used to determine default board size...
H.G. Muller [Fri, 1 Feb 2013 18:42:12 +0000]
Update Dutch WB translation
H.G. Muller [Fri, 1 Feb 2013 18:37:06 +0000]
Add some new strings to WB translation template
H.G. Muller [Fri, 1 Feb 2013 18:34:32 +0000]
Assign shortcut char to WB menu item
The new Save games as Book item did not have a shortcut yet.
H.G. Muller [Fri, 1 Feb 2013 18:31:18 +0000]
Let WinBoard start in its installation folder
The current directory in WinBoard was not automatically the same as the
installDir returned by SearchPath. Especially not if used without shortcut
by file association.
H.G. Muller [Fri, 1 Feb 2013 18:29:26 +0000]
Fix warning in WinBoard
H.G. Muller [Wed, 30 Jan 2013 13:25:57 +0000]
Fix expose of to-square with grid off
The code relied on drawHighlight to request an expose evet for the entire
square, but when lineGap = 0, drawHighlight is a no-op.
H.G. Muller [Tue, 29 Jan 2013 07:39:30 +0000]
Fix library order
On OS X dialog windows could not get focus if -lXaw appeared after
-lX11 -lXt in the linker command. This was cured by moving
@FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter
of the automake file.
H.G. Muller [Mon, 28 Jan 2013 16:38:26 +0000]
Preserve PGN tags when loading engine
Switching to EditGame mode would normally erase the tags, but when analyzing
a loaded game this would be undesirable. When the engine is playing, keeping
the tags is dubious, but it is not obvious what to put in a new name tag,
so we leave that for now.
H.G. Muller [Mon, 28 Jan 2013 16:23:47 +0000]
Preserve mode on engine loading (sometimes)
That the mode always switched to EditGame after engine loading was
particularly annoying at the start of a game (where leaving BeginningOfGame
mode would disablethe Time Control dialog, and the engine would not
automatically reply if you start playing) and AnalyzeMode. These two
modes are now preserved, BeginningOfGame by refraining from calling
EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode
be calling AnalyzeModeEvent() after the engine is loaded and repositioned.
H.G. Muller [Mon, 28 Jan 2013 13:14:19 +0000]
Catch unknown engine in tourney games
When an XBoard instance is playing on a tourney it can happen that it is
using a settings file with an engine list not yet containing a certain
participant, because that participant was just installed in the instance
that created the tourney file, but it did not save those modifications yet.
This error is now caught, and leads to an error popup and stopping of the
tourney play. This error was made non-fatal to allow the user to decide
if he wants to quit with or without saving the settings (which, after all,
does not seem up-to-date).
H.G. Muller [Sat, 26 Jan 2013 17:08:37 +0000]
Adjudicate pawn-drop mate as loss in Shogi
Mating with a Pawn drop is illegal in Shogi, but rather than burdoning
the legality-testing by this complex rule, we simply invert the result
for such a mate. After all, Shogi customs are such that everything illegal
leads to an immediate loss.
H.G. Muller [Fri, 25 Jan 2013 09:05:44 +0000]
Adjudicate perpetual checks as loss also in Shogi
The Xiangqi code for recognizing perpetual checks is now also activated for
Shogi, but in this case we bail out before checking for perpetual chases.
The mini-Shogi case is then recognized as a win for gote.
H.G. Muller [Fri, 25 Jan 2013 08:55:56 +0000]
Stalemate is a win in Shogi
In regular Shogi this never occurs, but in the mini variants it happens
often enough.
H.G. Muller [Tue, 22 Jan 2013 19:49:34 +0000]
Fix engine timeout problem in match mode
Reload of a reuse=0 engine would cause a done=1 event which would be
abort the feature timeout of the other engine in the first game.
H.G. Muller [Tue, 22 Jan 2013 19:32:33 +0000]
Enforce -popupMoveErrors
One move error was using DisplayError(), in stead of DisplayMoveError(),
and thus did not obey the -popupMoveErrors option.
H.G. Muller [Mon, 21 Jan 2013 14:30:29 +0000]
Update texi file
H.G. Muller [Mon, 21 Jan 2013 09:26:20 +0000]
Fix some warnings
Arun Persaud [Mon, 21 Jan 2013 03:09:05 +0000]
Updated German translation
H.G. Muller [Sat, 19 Jan 2013 16:54:59 +0000]
Do delayed board draw also with -stickyWindows false
Only CoDrag needs to be suppressed on a configure event with
-stickyWindows false, not the board redraw.
H.G. Muller [Fri, 18 Jan 2013 10:11:48 +0000]
Let tellothers command add comment to PGN in local mode
H.G. Muller [Sun, 30 Dec 2012 14:19:57 +0000]
Allow use of ~ in pieceToChar for shadow pieces in any variant
The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and
Bughouse. But this is not necessary, and in fact undesirable, as it made
it impossible to implement Crazyhouse960, which combines shadow promotions
with Fischer castling (only available in variant fischerandom)s, and thus
has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable.
H.G. Muller [Sun, 30 Dec 2012 14:06:33 +0000]
Resend engine-defined options after reuse=0 reload
When the engine process is re-spawned for a new game under -xreuse setting,
any alteration of engine settings brought about through the Engine Settings
dialogs would be lost, and revert to the engine's default. This is now fixed
by re-sending all options (known from the previous load of the same engine)
with the current settings immediately after "protover 2", and ignoring the
engine's option features. Rather than clearing the option list, and
redefining it from the option features.
H.G. Muller [Sun, 30 Dec 2012 13:58:16 +0000]
Implement aborting of games on engine request.
A new game-end command is added. For bakward compatibility it is disguised
as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails
are recognized as special, and rather than ending the game in a draw (which
GUIs not implementing this), the game will be completely 'expunged' from
the match or tourney it is part of, leaving no trace in the saveGameFile.
H.G. Muller [Sun, 30 Dec 2012 13:54:43 +0000]
Store some more tourney params in tourney file
The hash and threads settings, as well as ponder and book options are now
also saved in the tourney file, so that tournaments can be played in
parallel where these parameters differ, and no mess up can occur on
restarting a touney after doing something else.
H.G. Muller [Sun, 23 Dec 2012 10:26:31 +0000]
Do not automatically save aborted games in tourney PGN
When the game result is 'unfinished', we prompt for a filename rather
then using the specified saveGameFile if a tourney is in progress.
Arun Persaud [Sat, 19 Jan 2013 16:35:52 +0000]
fix configure bug that showed up on OS X (couldn't find X11/Dialog.h)
X_CFLAGS (set by AC_PATH_XTRA) was not used in Makefile.am. It was used in tests for X11/Dialog.h, etc. so configure worked, but make didn't.
Arun Persaud [Sat, 19 Jan 2013 06:26:13 +0000]
Updated Ukrainian translations
Arun Persaud [Wed, 9 Jan 2013 15:57:43 +0000]
removed trailing whitespace
Arun Persaud [Wed, 9 Jan 2013 15:49:20 +0000]
Updated copyright notice to 2013
H.G. Muller [Sat, 22 Dec 2012 21:46:21 +0000]
Do not move to forwadMostMove when unpausing AnalyzeMode
H.G. Muller [Sat, 22 Dec 2012 21:44:50 +0000]
Use Ctrl key in AnalyzeMode to exclude entered move
H.G. Muller [Sat, 22 Dec 2012 19:40:26 +0000]
Implement insufficient mating material for Knightmate
KBK is draw with Royal Knight. With exo-pieces also KNK and KFK.
H.G. Muller [Sat, 22 Dec 2012 19:25:51 +0000]
Fix rep-draw detection in drop games
In games like Crazyhouse every move is reversible, as captured pieces
can eventually change sides again, and be dropped back on the board.
So we have to search back a full 100 ply for repetitions, passing captures
and Pawn moves.
Arun Persaud [Wed, 12 Dec 2012 06:33:07 +0000]
updated po/pot files
Arun Persaud [Wed, 12 Dec 2012 06:18:05 +0000]
new version number for developer release
H.G. Muller [Mon, 10 Dec 2012 13:48:05 +0000]
Prefer pause mode on pondering engine over 'easy'
If the thinking engine is stopped after its move because it does not
support pause, is is still better to use pause on the pondering engine
than to switch of its pondering with 'easy', as the latter might not
be instantaneous. Also switch off pondering in the thinking engine before
it gives the move, just in case it does not respond immediately to
easy / hard.
H.G. Muller [Mon, 10 Dec 2012 12:40:47 +0000]
Update WinBoard translation template
H.G. Muller [Mon, 10 Dec 2012 12:35:41 +0000]
Fix min-Shogi promotion zone
In integer arithmetic N*2/3 is not the same as N - N/3, with as a result
that the white promotion zone was 2 ranks deep on 5x5 boards. This only
happened in LegalityTest, but because this would classify all moves to
4th rank an non-promotions, they would be printed with a faulty
deferral (=) sign as promochar in SAN.
H.G. Muller [Mon, 10 Dec 2012 12:32:49 +0000]
Do not clear PGN tags on Analyze File
H.G. Muller [Mon, 10 Dec 2012 12:28:37 +0000]
Fix -fSAN in AnalyzeFile mode
The exception that a PV relates to currentMove rather than forwardMostMove
applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore,
PvToSan did not properly restore the pushed game tail in this case.
H.G. Muller [Sat, 8 Dec 2012 15:02:09 +0000]
Improve scaling of border bitmap (WB)
The StretchBlt mode is set from dither to delete.
H.G. Muller [Wed, 5 Dec 2012 15:34:58 +0000]
Implement use of pause / resume protocol commands
Engines that implement feature pause=1 will be paused during their move
on a pause event; pondering engines will be controlled either through
'pause' or (if they don't support that) 'easy', which both should work
instantaneously. If the thinking engine does not support 'pause', the pausing
will be deferred to when it produces its move, and is implemented by not
relaying the move, and switch off pondering for both.
H.G. Muller [Mon, 3 Dec 2012 11:58:36 +0000]
Fix Loop-Chess promotions
Loop Chess is not a supported variant, but hould be playable as Crazyhouse
with an altered pieceToCharTable, not defining the shadow promotion pieces.
But with legality testing on promotion to shadow piece would take place
even if the shadow piece was not defined.
H.G. Muller [Sun, 2 Dec 2012 21:44:55 +0000]
Fix move highlighting with animation off
In WB the moving of SetHighlights to after the animation had broken the
highlighting of engine moves, because it was also moved after DrawPosition.
While it is DrawPosition that actually draws the highlights. Now it has been
moved to just before DrawPosition.
H.G. Muller [Sun, 2 Dec 2012 10:09:14 +0000]
Start browsing in currently-selected folder (WB)
The folder-browse dialog always started at My Computer, while file browsing
started in the globally last-used folder (which might not be related at all
to the file entry we are now browsing for).
H.G. Muller [Thu, 29 Nov 2012 22:38:18 +0000]
Implement book-creation functions
A new menu item triggers conversion of the currently loaded PGN file
to a Polyglot book, saved with the GUI-book filename. A (volatile) option
-mcBookMode alters the probing algorithm to build a book from scratch by
playing games (and using a form of learning).
H.G. Muller [Thu, 29 Nov 2012 21:23:44 +0000]
Use colors in Board-Options dialog also for font pieces (WB)
The piece color settings now control the pieceColor or fontPieceColor
settings, depending on the setting of -usePieceFont.
H.G. Muller [Thu, 29 Nov 2012 21:14:05 +0000]
Implement auto-creation of ICS logon file
Under control of the new option -autoCreateLogon (which can be set from
the ICS Options dialog) the first two lines in response to the ICS "login:"
pompt will be saved on a newly created logon file (if logon from such
an existing file failed).
H.G. Muller [Thu, 29 Nov 2012 20:56:02 +0000]
Add Themes dialog (WB)
This dialog, done by the generic popup, contains controls for many settings
that so far could only be controlled by options. It also introduces the
concept of 'themes', sets of options stored in the multi-line option
-themeNames.
Add some dummy routines to suppress compile errors in functions that
cannot be called yet in XBoard.
H.G. Muller [Thu, 29 Nov 2012 20:32:03 +0000]
Allow external piece bitmaps and board border (WB)
The -pieceImageDirectory is now also used for WinBoard, to indicate
a directory of .bmp files, used to replace the built-ins. The outline
and solid bitmaps can be full-color. This allows winBoard to use the
WinBoard-zeta graphics. A new option -border can indicate a bitmap file
used to draw a half-square-wide border around the board.
A white background has to be drawn underneath the black pieces, to avoid
color-interference with the board, just like happens for the white pieces.
These backgrounds now always use bright white, rather than -withePieceColor.
We still have to work on the scaling of the zeta (600x600) bitmaps to
the actual board size, as for some bitmaps the stratchblt is ugly.
H.G. Muller [Thu, 29 Nov 2012 20:05:15 +0000]
Add 'Continue Later' button in Tournament dialog (WB)
This button makes it possible to accept the values specified in the
dialog without immediately starting the tournament (as OK does),
so you can re-open the dialog later, and OK it then.
H.G. Muller [Thu, 29 Nov 2012 19:25:35 +0000]
Load opponent logo based on handle in ICS play (WB)
The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp,
etc. If no logo for the handle is found there, the logo of the ICS is
displayed as usual.
Daniel Dugovic [Tue, 20 Nov 2012 04:35:05 +0000]
Fix configure script for --enable-zippy (tiny change)
reported and patch by Daniel.
edited by Arun Persaud:
- also fixed #ifndef ZIPPY -> #if !ZIPPY
- didn't change #if -> #ifdef
Arun Persaud [Sat, 10 Nov 2012 08:12:34 +0000]
don't define X_LIBS when using gtk-frontend
Arun Persaud [Thu, 8 Nov 2012 06:16:09 +0000]
updated po/pot files; added new frontend files
Arun Persaud [Thu, 8 Nov 2012 06:14:20 +0000]
fix configure script for --with-Xaw and --with-gtk
made Xaw the default and included xaw or gtk sources as extras
in case the other frontend is selected for make distcheck
Arun Persaud [Thu, 8 Nov 2012 05:13:38 +0000]
new version number for developer release
H.G. Muller [Wed, 31 Oct 2012 08:55:02 +0000]
Draw frames around memos and listboxes
H.G. Muller [Tue, 30 Oct 2012 16:39:59 +0000]
Adapt lineGap during sizing
H.G. Muller [Tue, 30 Oct 2012 14:04:32 +0000]
Fix clock highlighting
H.G. Muller [Tue, 30 Oct 2012 09:59:45 +0000]
Fix Chat Box
The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary
handler for special keys in one-liner text edits.
H.G. Muller [Mon, 29 Oct 2012 18:46:27 +0000]
Pay attention to NO_CANCEL dialog flag
H.G. Muller [Mon, 29 Oct 2012 13:18:33 +0000]
Fix clock clicking with GtkEventBox
Like in WinBoard the button-3 case is now handled in the primary
event handler (and communicated to it in a kludgy way). It would be
better if this was absorbed in ClockClick().
H.G. Muller [Sun, 28 Oct 2012 21:25:22 +0000]
Fix logo placement
Graphs were not recognized as possible SAME_ROW elements. A Graph requesting
FIXED_H (which only the logos did) is now packed into a (borderless) aspect
frame.
H.G. Muller [Thu, 25 Oct 2012 21:04:42 +0000]
Add window positioning
Sticky windows now sort of works, but needs unexplained fudge factors.
Reopening a persistent dialog centers it on the board, and disobeys
the positioning command. The WindowPlacement of the BoardWindow was
again added (it was commented out during development).
H.G. Muller [Mon, 22 Oct 2012 20:41:14 +0000]
Make board sizing work through subtracting fixed height
There is now no attempt to give a size to the board drawing area, so it
can later be sized as small as we want. The frame width is determined
by subtracting the nominal board size from the actual window size,
(because the clocks will have that width, and the board will startas 1x1),
while the vertical margin is determined as the difference between the
bactual window height, the drawing-area height minus a fudge of 25 pixels
to compesate for the erroneously allocated blank space below the board.
H.G. Muller [Mon, 22 Oct 2012 19:09:51 +0000]
Fix warnings
The highTextStart/End are now declared in engineoutput.h, shared between
nengineoutput.c and xengineoutput.c. Unused variables were removed.
Also fix warnings in xboard.c and xoptions.c.
H.G. Muller [Mon, 22 Oct 2012 15:40:08 +0000]
Delete emptied front-end files, and move rest to gtk directory
Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist
and xhistory have been completely cleared off content, and were removed.
H.G. Muller [Fri, 26 Oct 2012 22:12:42 +0000]
Add copy-paste
The code from gtk-xt could be used with almost no modification.
H.G. Muller [Sun, 21 Oct 2012 07:09:01 +0000]
Some experimenting with sizing
Does not work as intended yet.
H.G. Muller [Sun, 21 Oct 2012 21:04:49 +0000]
Add task-bar icon
Funny enough it was necessary to swap the two svg icons to make this work!
H.G. Muller [Sat, 20 Oct 2012 08:29:37 +0000]
Make some tall dialogs multi-column
A dummy button was added to the last row of New Variant to make the
number even. A legality-test warning as put in the New Variant dialog
Fix width of tourney-file in Match dialog
Arun Persaud [Sun, 21 Oct 2012 04:14:33 +0000]
updated some icons to SVG
H.G. Muller [Sat, 20 Oct 2012 17:57:58 +0000]
Add displaying of icons
A new Option type, 'Icon', was added for this as in GTK Icons and Labels
need different types of widget. The icons are now svg, so we could
remove the icon pixmaps.
H.G. Muller [Sat, 20 Oct 2012 12:25:41 +0000]
Fix button bar
H.G. Muller [Sat, 20 Oct 2012 12:03:48 +0000]
Add BarBegin, BarEnd options
This makes the button bar display correctly. Also fix v-sizing of menu bar.
H.G. Muller [Sat, 20 Oct 2012 08:01:35 +0000]
Add listbox double-click callback
This function was formerly performed by WheelProc.
H.G. Muller [Fri, 19 Oct 2012 15:29:40 +0000]
Add hiding / showing second Engine Output pane
The handle of the GTK table for the second engine is stored in the
EndMark handle by GenericPopUp, so it can be used later to hise/show
that table.
H.G. Muller [Fri, 19 Oct 2012 15:15:58 +0000]
Use different tables for different dialog columns
Making the same table wider (in steps of 3) to get multiple columns
does not work, because it forces options to align vertically. This
wrecks dialogs like Load Engine, where one column contains a very
high option (listbox). Now differnt tables are created for each column,
packed in a new itermediate hbox. In case of the Engine Output window,
a vbox is used instead to cause vertical stacking.
Only multi-line text-edits and listboxes are now allowed to take up
vertical space changes, while only the middle colum of the table
can take up horizontal size changes. Within packing boxes space is
equally distributed.
The labels above the particiant-selection widgets had not the same width
as the textview / listbox, leading to misplacement of the second label.
For Engine Settings the spontaneous breaking into columns did not
involve a SAME_ROW flag, so the 'columns' were stacked vertically.
In addition the columns were too tall for GTK. They are now 20 options max.
H.G. Muller [Fri, 19 Oct 2012 11:46:37 +0000]
Deselect first char in Move Type-in and ICS Input Box
After popup the Move Type-In had the typed character in it, but it was
selected, so that typing a second character would erase it again.
Same for the ICS Input Box. A prototype for CursorAtEnd is now also added.
H.G. Muller [Fri, 19 Oct 2012 11:33:50 +0000]
Close Move Type-in on Enter
The code is squeezed into the ICSKeyEvent callback.
H.G. Muller [Thu, 18 Oct 2012 19:57:50 +0000]
Add access routines to checkboxes and FocusOnWidget
The <Enter> handler of the filter field needs it to return focus to
the listbox.
H.G. Muller [Thu, 18 Oct 2012 19:42:49 +0000]
Add game-list callbacks
The callbacks for listbox and filter text are treated by the same callback,
which does both key presses and button double-clicks.
Giving focus back to the listbox after filtering does not yet work!
H.G. Muller [Thu, 18 Oct 2012 14:27:57 +0000]
Add optional callback to Label Options
For some reason this does not work. The callback isn't called!
H.G. Muller [Thu, 18 Oct 2012 11:40:55 +0000]
Add type-in event to board for popping up box
H.G. Muller [Thu, 18 Oct 2012 11:12:48 +0000]
Add Shift detection
The state of Shift and Ctrl was only probed on button clicks, so it
is now read out of the button-event struct in the relevant button handlers.
For backwad compatibility, they store it in a global, so the routine
ShiftKeys can take them from there.
H.G. Muller [Thu, 18 Oct 2012 10:35:20 +0000]
Remove some unneeded low-level X11 code
Things like tabbing between controls, mouse-wheel scolling etc. are all
automatic in GTK, and thuse don't need to be ported.
H.G. Muller [Thu, 18 Oct 2012 08:12:27 +0000]
Add file browser
The gtk-xt code for browsing in response to menu items rather than dialog
browse buttons) was grafted. It seems desirable to merge the two browsing
functions, though. Pass extra params used by Xaw to FileNamePopUpGTK.
The code was altered to use DelayedLoad.
H.G. Muller [Thu, 18 Oct 2012 07:54:41 +0000]
Fix ListBox, and add some support routines
The srolled-window for the listbox used a uninitialized variable for its
width, causing a crash. Now it pays attention to the Option.max and .value
size hints. The access routines were copied from gtk-xt. HighlightWithScroll
could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls.
H.G. Muller [Wed, 17 Oct 2012 18:01:37 +0000]
Connect CommentClick handler
This can make use of generic memo callback, so it could be entirely
backend. Therefore it was moved to dialogs.h. As it shared a global with
some other back-end popup routines to remember the current move, these
could now be moved out of xboard.c too. (Well, not so for the X11 front-end,
so it has now been put in a header. :-( )
H.G. Muller [Wed, 17 Oct 2012 17:41:11 +0000]
Fix animation
Because FrameDelay does block the event loop, even though it releaes the
CPU, expose events start to lag behind the actual drawing. By combining
expose events for overlapping squares, rather than decompose them into
3 rectangles, this problem seems to go away. But only if there is an
extra exposure on the squares to be drawn also non-overlapping frames
will be properly drawn (?!).
H.G. Muller [Wed, 17 Oct 2012 12:40:59 +0000]
Implement highlighting in engine output by through generic method
HighlightMove was made generally available for all text. It is now just a
wrapper for the generic HighlightText, and could be moved to the back-end.
(This requires the initialization to be widget specific, and the flag
indicating it has been done is now stored in the Option.min field.)
H.G. Muller [Wed, 17 Oct 2012 12:33:28 +0000]
Let engine-output memos use new generic callback
H.G. Muller [Wed, 17 Oct 2012 11:53:03 +0000]
Add scrolling of Move History
To have access to the textview, its handle is now stored in the
Option.textValue field.