H.G. Muller [Fri, 23 Oct 2009 04:23:39 +0000]
improved mouse handler
I improved the mouse handler in a way which will preclude disappearence of pieces
on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported
in the "premove bug?" thread. Also the command-line premove problem reported there
is now fixed, by removing the prefixing.
H.G. Muller [Fri, 23 Oct 2009 04:18:05 +0000]
fix for bug #8847: moving backward while examining on FICS not reported to engine
I moved Daniel's code that backs up the engine when a bord with a lower number is received to a place where it is always done in zippy mode, rather than only when the engine is analyzing.
Apart from taking back moves, there was also the case where the
user moves forward by more than one move (usually immediately to
end-of-game). In this case a new movelist is fetched from the ICS
to recover the moves that were skipped. But this assumes that the
engine is at the start of the game and feeds all these moves to the
engine. So the engine had to be reset in this case to stay in sync.
H.G. Muller [Fri, 23 Oct 2009 04:16:56 +0000]
better init for random number generator
H.G. Muller [Thu, 22 Oct 2009 06:01:09 +0000]
fix for bug #27772: holdings not updated
holdings lines from the ICS nor update the holdings of boards[forwardMostMove] in stead of boards[currentMove].
H.G. Muller [Thu, 22 Oct 2009 04:32:14 +0000]
allowe parsing / disambiguation of SAN moves like Xe4 in certain situations
This patch allows parsing / disambiguation of SAN moves like Xe4, if there
is only one wild-card piece X on the board. Moves with wild-card pieces
are now considered illegal if they leave the King in check by a piece of
known gait.
H.G. Muller [Wed, 21 Oct 2009 02:09:46 +0000]
fixed bug when switching to variantsuper
H.G. Muller [Wed, 21 Oct 2009 02:06:43 +0000]
fix for bug #27715: 2 (minor) graphic issues
I forced a total redraw when Reset is called from the ICS code in case a
new game is encountered, in the hope it will make the reported
(irreproducible) problem go away. As game switches are not frequent, I
guess there is hardly any downside to this.
H.G. Muller [Wed, 21 Oct 2009 01:57:17 +0000]
fix for bug #27667: PV line missing in analysis window, part 3
"3. Wish for Engine state string (right to the icon): Can you add the actual search depth in analyzing mode? A change like "
I also added the requested display of depth of the analysis move in the
EngineOutput window. I guess a similar change could be made to wengineo.c (as this is in the
code they share in common), but no one ever requested that in the 5 years
since Alessandro wrote it. So for now I leave it alone.
H.G. Muller [Wed, 21 Oct 2009 01:52:14 +0000]
fix for bug #27760: debug printf in backend.c and additional check for variant
Arun Persaud [Tue, 20 Oct 2009 06:17:46 +0000]
fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases
this is correct, deleted the text out of the documentation that claims we support it
Arun Persaud [Tue, 20 Oct 2009 01:40:40 +0000]
new alpha version; first one with new naming scheme
H.G. Muller [Tue, 20 Oct 2009 01:07:21 +0000]
smarter analysis of the boards that XBoard receives from an ICS
I added smarter analysis of the boards that XBoard receves from an ICS,
based on board size and piece types in the position, to recognize cases
where the board does not match the current variant, and switch to an
appropriate variant.
H.G. Muller [Tue, 20 Oct 2009 01:04:08 +0000]
fix for bug #27667: window should be reference to toplevel
The remaining objections of #27667 should be fixed by bringing the
EngineOutput window under control of the TOPLEVEL compile-time switch.
H.G. Muller [Tue, 20 Oct 2009 01:02:42 +0000]
partly fix for bug #27715: scaling of menu bar
the menu bar to the left edge of the window.
H.G. Muller [Tue, 20 Oct 2009 00:59:43 +0000]
fixed bug reported in WB forum: second game of a match would not start when using the GUI book
H.G. Muller [Tue, 20 Oct 2009 00:57:14 +0000]
fix for bug #27751: negative holding counts displayed
I put code in the back-end to prevent holdings counts from becoming negative
when a drop move is made from empty holdings. (This can happen when
re-loading ICS bughouse games, as the smoves command fails to fill the holdings.)
Eric Mullins [Mon, 19 Oct 2009 02:54:53 +0000]
Updated compiling instructions.
Eric Mullins [Sun, 18 Oct 2009 17:32:55 +0000]
Changes to allow fonts with any charset (such as terminal)
Affects winboard only.
Eric Mullins [Sat, 17 Oct 2009 05:02:41 +0000]
Moved SIGWINCH signal so it can be used...
I goofed putting this in StartChildProcess() originally.
Eric Mullins [Sat, 17 Oct 2009 04:54:12 +0000]
Added internal wrapping ability.
New options:
-wrapContinuationSequence "foo" (default: "\\ "
-useInternalWrap (Winboard default: false, XBoard default: true)
Note: -keepLineBreaksICS if set, prevents wrapping, usurping the
useInternalWrap setting. The idea is if you want to keep ICS line
breaks, then you don't want internal wrapping. Because of this,
the new default for keepLineBreaksICS is now false for XBoard.
H.G. Muller [Sat, 17 Oct 2009 02:14:34 +0000]
fixed segfaul in convert.c used to convert pixmaps
H.G. Muller [Fri, 16 Oct 2009 02:46:07 +0000]
new mousehandler to correct for premove and promotion popup
this is the new mouse handler for XBoard, which should fully implement
premove, including promotion popup, and yet suppress the promotion popup
on illegal moves that are not premoves. It is almost completely moved to
the back-end now, so that WinBoard will be able to use it as well. I just
must hook it up to winboard.c, in particular harmonize the call-backs of
the mouse driver into the front-end for grabbing and releasing pieces for
dragging, to make sure they have the same names and arguments.
H.G. Muller [Fri, 16 Oct 2009 02:32:55 +0000]
updated black fairy pieces
here is a set of black fairy pieces with opaque white details, so they have
the same style as the orthodox XBoard pieces.
Eric Mullins [Thu, 15 Oct 2009 22:54:51 +0000]
Adjustment to joining to work around server not always including space.
This patch implements commit
98aa02bda540f17f1f50be00e494efafe439b004
into the updated joining routine. This issue seems not to be server
variance, but instead the server electing to omit the space between
words when it occurs at exactly your width setting (-1 actually).
This patch makes the joiner add back the space just like the referenced
commit. Note: this is just a workaround to a server issue-- the joiner
actually joins correctly before this patch.
Eric Mullins [Thu, 15 Oct 2009 13:18:42 +0000]
Fixed joiner detection, allowing it to work with timeseal
When timeseal's buffer fills in the middle of the continuation
sequence, detection fails, and the lines aren't joined.
As a result of this fix, measures intended to bypass joining are
no longer needed, so I removed them. These utilize server vars
when available to prevent splitting.
H.G. Muller [Wed, 14 Oct 2009 21:42:37 +0000]
fixed engingeoutput routine
removed outdated code regarding analysis window
H.G. Muller [Wed, 14 Oct 2009 21:39:06 +0000]
moved bitmap to correct location
was misplaced in a previous commit
H.G. Muller [Wed, 14 Oct 2009 21:26:09 +0000]
fixed wrong number of arguments for EngineOutputPopUp
H.G. Muller [Wed, 14 Oct 2009 04:00:27 +0000]
new bitmap converter (including fill option) and new pixmaps
Arun Persaud [Wed, 14 Oct 2009 03:52:40 +0000]
forgot to add these two lines to the last commit
Arun Persaud [Wed, 14 Oct 2009 03:51:17 +0000]
removed AnalysisPopUp. Use EngineOutputPopUp instead
this was already in Winboard, copied it to xboard and removed unused code.
H.G. Muller [Wed, 14 Oct 2009 03:32:32 +0000]
Proper board and holdings size when switching to variants gothic, capablanca, great and super within an ICS game.
Arun Persaud [Wed, 14 Oct 2009 03:25:13 +0000]
cleaned up an old #ifdef in zippy
Eric Mullins [Tue, 13 Oct 2009 01:25:17 +0000]
neglected this for the auto-width updating in xboard
Eric Mullins [Tue, 13 Oct 2009 01:19:59 +0000]
Added server width adjustment based on client width changes
Eric Mullins [Tue, 13 Oct 2009 01:14:53 +0000]
silence some compiler warnings
Eric Mullins [Mon, 12 Oct 2009 00:39:24 +0000]
Maintainence to support all compilers.
Eric Mullins [Sun, 11 Oct 2009 23:07:27 +0000]
Adjusted alternative joining method to obey keepLineBreaksICS
H.G. Muller [Sun, 11 Oct 2009 21:48:55 +0000]
fix for bug #27668: e.p. field still not passed to engine
PositionToFEN now takes the e.p. rights from epStatus[moveNr], rather than
calculating it on the spot from moveList[moveNr-1] (which failed on the first move).
H.G. Muller [Sun, 11 Oct 2009 21:46:14 +0000]
fix for bug #27666: naming of variants
Variant names "misc/xxx" are recognized as "normal", rather than "xxx"
to not get confused by the board "misc shogi" run by FICS.
H.G. Muller [Sun, 11 Oct 2009 17:14:09 +0000]
changed enable menus
Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items
in the appropriate enable lists for graying them out wen not applicable.
H.G. Muller [Sun, 11 Oct 2009 17:13:14 +0000]
Added a command-line option -keepLineBreaksICS true/false to control line joining.
Eric Mullins [Sun, 11 Oct 2009 01:30:23 +0000]
Added code to prevent unnecessary width updates.
Eric Mullins [Sun, 11 Oct 2009 00:34:37 +0000]
Turned off wrap when possible on ICS servers.
Turning off line wrap prevents splitting lines up using the
continuation sequence "\\ ". This is desirable when using
timeseal because timeseal's buffer is sometimes too small,
causing it to break lines itself. These lines can't be joined.
Eric Mullins [Sat, 10 Oct 2009 22:30:56 +0000]
vsnprintf() must be _vsnprintf() for MSVC
Eric Mullins [Sat, 10 Oct 2009 22:16:45 +0000]
added code to handle initial width update
Eric Mullins [Sat, 10 Oct 2009 20:21:12 +0000]
Added width updates to ICS client on font and window size changes
What still needs to be done is placing an update call after login
to initialize with the correct width. I didn't see where to put
that.
Eric Mullins [Sat, 10 Oct 2009 20:19:30 +0000]
added ics_printf() and ics_update_width() and utility functions
Eric Mullins [Sat, 10 Oct 2009 17:15:50 +0000]
Cleaned up ConsoleWndProc (not complete, see below)
Using static variables this way is not appropriate. I only addressed
hInput and hText in this commit though. But imagine the WndProc being
used by multiple windows instead of just one, and you can see why
using static variables in this way is wrong.
Eric Mullins [Sat, 10 Oct 2009 17:12:10 +0000]
Restructured URL code so it fits better with how winboard is set up.
Arun Persaud [Sat, 10 Oct 2009 15:57:39 +0000]
cleanup: removed "#if 1" statements
Arun Persaud [Sat, 10 Oct 2009 15:55:21 +0000]
cleanup: removed "#if 0" from source
a bit of cleanup of the source code
H.G. Muller [Sat, 10 Oct 2009 15:34:10 +0000]
fix joining of lines split by ICS
This patch fixes the joining of lines that were split by an ICS, so that adding
a space at the break point is done only when there was not a space already.
(Some ICS leave a space at the end of the broken line, others do not.)
An extra space would interefere with board12 in Gothic Chess, which is so
long that the ICS breaks it, and the WB parser could not handle a double
space within the board.
H.G. Muller [Sat, 10 Oct 2009 15:27:55 +0000]
fix for bug #27642: Clock jumps strangely in engine mode
This moves SwitchClocks() back to after incrementing forwardMostMove,
so that it knows again who has the move (which was broken by the "bare" patch),
and will take the appropriate tick length.
H.G. Muller [Sat, 10 Oct 2009 15:26:13 +0000]
removed test for premove
this was added while looking for the premove bug, but is not needed
Eric Mullins [Sat, 10 Oct 2009 08:03:45 +0000]
added URL detection and provided hotlinks in the ICS client
Eric Mullins [Sat, 10 Oct 2009 08:00:52 +0000]
reverted winboard.c beofre URL commit to correct whitespace conversion
Eric Mullins [Fri, 9 Oct 2009 08:14:22 +0000]
Added URL detection into the console text window for ICS.
Arun Persaud [Fri, 9 Oct 2009 06:51:06 +0000]
added some comments and formated code
Chris Rorvick [Fri, 9 Oct 2009 06:46:52 +0000]
fix printing out help message (list of command line options) (tiny change)
The postfix increment always resulted in an attempt to print out an
option on the right side regardless of one actually existing. Use
prefix increment to prevent a crash when printing an odd number of
options.
Eric Mullins [Fri, 9 Oct 2009 06:10:18 +0000]
Merge branch 'master' of git://git.sv.gnu.org/xboard
Eric Mullins [Fri, 9 Oct 2009 06:04:51 +0000]
Updated navigation accelerators, fixing ICS problems.
Recent changes to the navigation accelerators were in the wrong
accelerator table. Since the goal was to correct non-JAWS versions
back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still
retained the #ifdef JAWS conditional compilation.
On an ICS, the navigation keys took control away from the ics
client to navigate the game. The update requires the ALT key to
be pressed, but it works identical to 4.2.7, not causing an
unexpected focus back to the board window when you're just editing
text.
H.G. Muller [Fri, 9 Oct 2009 03:33:39 +0000]
fixed premove recapture problem;promotion popup appearing on obviously illegal moves; promotions in Superchess and Great Shatranj
1) the premove recapture problem
2) the promotion popup appearing on obviously illegal moves (the 1. e2a8
problem)
3) promotions in Superchess and Great Shatranj, where the piece can now be
selected from the holdings
H.G. Muller [Fri, 9 Oct 2009 03:28:50 +0000]
added forceIllegalMove to xboard
Arun Persaud [Tue, 6 Oct 2009 04:01:32 +0000]
bugfix: segfault when invalid option argument was given (bug #27427)
when given a wrong argument to an option (e.g. -tc 0) xboard aborts before setting up the window, but tried to write a message to the messageWidget which doesn't exist at that point.
H.G. Muller [Tue, 6 Oct 2009 03:05:00 +0000]
small improvement for JAWS version
This is a patch to make JAWS read out any comments when /autoDiplaycomment=true.
As focus does not stay on the Comment window, the comment was not spoken otherwise.
H.G. Muller [Tue, 6 Oct 2009 03:02:50 +0000]
updated to winboard internationalization scripts
Also a slight improvement of the internationalization scripting, to prevent it from crashing on messages containin a slash.
H.G. Muller [Tue, 6 Oct 2009 03:01:53 +0000]
new forceIllegalMoves option
The -forceIllegalMoves option uses setboard or edit to force a position when an engine refuses the move leading to it by an "Illegal Move" message.
Especially for engines using the edit command this was a bit tricky, because of the a2a3 kludge to avoid using the white and black commands.
Eric Mullins [Mon, 5 Oct 2009 07:07:01 +0000]
Merge branch 'master' of git://git.sv.gnu.org/xboard
Eric Mullins [Mon, 5 Oct 2009 07:01:54 +0000]
removed _winmajor if not defined so that VC 2008 can compile the project
The oldDialog variable should just be set to 0 in all cases now, and
as such, legacy code supporting the old dialog ought to be removed.
The test for _winmajor is against < 4, which is always false at present,
causing oldDialog to be 0 in every conceviable circumstance.
Arun Persaud [Sun, 4 Oct 2009 16:58:29 +0000]
getting ready for 4.4.1 release
Eric Mullins [Sat, 3 Oct 2009 02:47:01 +0000]
Simplified future version changes.
Added a numeric version to config.h that is now used in winboard.rc
instead of being hard-coded there. Just be sure to preserve the
proper format (4 comma-separated 16 bit integers) or else it won't
compile.
Arun Persaud [Fri, 2 Oct 2009 23:56:01 +0000]
updated version number to 4.4.1.pre
should have done this straight after the last release, but forgot...
H.G. Muller [Fri, 2 Oct 2009 23:48:03 +0000]
worked on premove bug
I made an attempt to make premove unsensitive to a race condition, just in case the premove problem was caused by that (which seems unlikely, but in any case I added some deug printout to test this).
H.G. Muller [Fri, 2 Oct 2009 23:41:12 +0000]
fixed loading of saved games via command line
the variables forwardMostMove and backwardMostMove where set to zero at the wrong place.
H.G. Muller [Fri, 2 Oct 2009 23:39:20 +0000]
small fixes for the JAWS version
* I moved saying 'check' by the JAWS version to where castling also benefits from it.
* I made sure the check symbols are also recognized on promotion moves
* In the non-JAWS version, define the plain arrows as shortcut keys for the button bar
Eric Mullins [Thu, 1 Oct 2009 22:50:28 +0000]
Fixed bug dereferencing garbage, causing crash.
Commit
fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the
resultDetails of the gameInfo structure. That exact code exists a few lines
above where it was added. None of these free() calls finish by setting the
member to NULL afterword, therefore repeated attempts to test/free() the
members result in an attempt to free() memory winboard no longer owns, and
an eventual crash.
link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=
fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10
Eric Mullins [Thu, 1 Oct 2009 22:49:57 +0000]
Added wchat.c to the project files we maintain.
Eric Mullins [Thu, 1 Oct 2009 21:52:50 +0000]
Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp().
Eric Mullins [Thu, 1 Oct 2009 20:49:58 +0000]
Add resource ID for new Mute menu item.
I know this was probably done by HG, and simply left out of
his commit. Anyway, the project can be built now after this change.
Eric Mullins [Thu, 1 Oct 2009 20:49:09 +0000]
Use of strcasecmp() broke Visual C++.
Arun Persaud [Thu, 1 Oct 2009 03:47:00 +0000]
wrong default value for engineDebugOutput
the new default is now 1
Arun Persaud [Wed, 30 Sep 2009 05:55:41 +0000]
updated cmail.in to adapt the CVS->git change
don't reference $Revision:$ anymore. Instead use reference xboard-version via autoconf.
H.G. Muller [Wed, 30 Sep 2009 05:04:25 +0000]
bugfix for protocol extensions: egtbpath -> egtpath
A new and very bad bug was discovered in the implementation of the protocol extensions:
XBoard sends a command "egtbpath" to the engine in stead of "egtpath" from the protocol specs.
After discussion on WB forum it was decided that egtpath was better than the egtbpath I originally
had proposed, and I changed it accordingly, but I had not realized that this string occurred TWICE
in backend.c, depending on if matched the -defaultPathEGTB of -egtFormats option.
I only changed the first occurence.
H.G. Muller [Sun, 27 Sep 2009 19:27:44 +0000]
fix for edit-position "moves" being sent by XBoard to the engine
H.G. Muller [Sun, 27 Sep 2009 19:25:25 +0000]
Engine did not start playing when out of GUI book on second move with white
H.G. Muller [Sun, 27 Sep 2009 19:24:30 +0000]
Opening Engine #1 Settings crashed XBoard when there were no text-edit options in the dialog (to which to set keyboard focus)
H.G. Muller [Sun, 27 Sep 2009 19:18:35 +0000]
added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request
H.G. Muller [Sun, 27 Sep 2009 19:15:20 +0000]
Updated the RTF docs for the chat windows, engine-settings dialog, /keepAlive option and new game-list tag
H.G. Muller [Sun, 27 Sep 2009 19:14:25 +0000]
Made the beep sounds for JAWS board navigation configurable through command-line options
H.G. Muller [Sun, 27 Sep 2009 19:11:49 +0000]
Prepared a system to internationalize the WinBoard menus
H.G. Muller [Sun, 27 Sep 2009 19:10:38 +0000]
added the result comment to the game-list tags when the game list is exported to the clipboard
H.G. Muller [Sun, 27 Sep 2009 19:05:32 +0000]
rewrote wevalgraph for better frontend/backend separation
I hve finished re-writing the eval-graph code to have some front-end / backe-end separation,
something I had already started on my holiday in Norway (when I had no internet :-) ).
The new code now appears to work exactly like the old code, and I guess it could be ported
to gtk comparatively easily.
H.G. Muller [Sun, 27 Sep 2009 19:00:51 +0000]
fix for keepalive and chat window
I made a fix to the keepAlive option so it does not send the date command
to the ICS after every move. This required changing ScheduleDelayedEvent()
so that it does not execute the event if a new identical one gets scheduled.
I also added the option to XBoard. Affects
xboard.c (DOS!) and winboard.c
(This also cures the regression of the winboard.c copyright patch)
I extended the chatbox patch to also listen to channel tells, and divert
them to a chatbox for that channel number. Affects
backend.c and wchat.c
That should make those patches fully operational. No docs for either of them
yet, though.
H.G. Muller [Sun, 27 Sep 2009 17:36:23 +0000]
fixed parse bug for pgn files
fixed the existing bug that the time-control tag was displayed as "?" in the game list; turns out it was never parsed on reading PGN files
H.G. Muller [Sun, 27 Sep 2009 17:35:58 +0000]
allow the result comment as a display item in the game list
H.G. Muller [Sun, 27 Sep 2009 17:35:13 +0000]
fixed the HAVE_LIBXPM-dependent compile errors
H.G. Muller [Sun, 27 Sep 2009 17:24:47 +0000]
added a chat window to keep track of multiple conversations
The chat-window patch affects:
winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds
the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms.
In addition I added a new option -keepAlive, which affects
common.h (in addition to winboard.c and backend.c).
As I had to modify backend.h, I also defined the -reset option type there,
which we are going to add later. This required some changes
to suppress warnings in wsettings.c.
Arun Persaud [Sun, 27 Sep 2009 17:22:16 +0000]
more files for git to ignore
most of these are generated by make distcheck
Arun Persaud [Tue, 8 Sep 2009 16:33:53 +0000]
another bug fix found by Stanislav Brabec
returned -1 in some case although the variable was a char... changed to signed char