12 years agoFix duplicate loading of second engine in tourneys
H.G. Muller [Sun, 23 Oct 2011 14:04:00 +0000 (16:04 +0200)]
Fix duplicate loading of second engine in tourneys

To decide if new engines should be loaded, it was tested if first.pr
equalled NoProc, assuming that ReserveGame would have left the engine
loaded if the next game would need the same engines. But a reuse=0 engine
could have caused termination of the first engine process anyway, while
the second would still be alive. So unconditionally starting of the second
engine would cause redundant engine processes to abound.
  Now we only start new engine processes if both engine processes are dead.

12 years agoFix PV walking with -fSAN
H.G. Muller [Sun, 23 Oct 2011 13:53:32 +0000 (15:53 +0200)]
Fix PV walking with -fSAN

The SAN options had broken the PV walking, because the shelving of the
walked PV to create space for the conversion to SAN of an incoming PV
would not be properly undone, but would add the walked PV to the game.

12 years agoRefine clock adjusting
H.G. Muller [Thu, 20 Oct 2011 10:39:10 +0000 (12:39 +0200)]
Refine clock adjusting

Adjusting the clocks by shift-clicking them is now only allowed with
autoCallFlag off, and an error-popup results when you do it otherwise.
Also, swtching to Edit Game mode won't reset the clocks to the stored
value anymore when you have just adjusted it.

12 years agoFix crash on adding items near book end
H.G. Muller [Wed, 12 Oct 2011 15:43:33 +0000 (17:43 +0200)]
Fix crash on adding items near book end

When Edit Book would add so many entries near the end of an opening
book that the end of the added info would surpass the old end of the
file, the copying of the tail got stuck in an infinite loop, extending
the file without limit with repeating info.

12 years agoPrint message on wrong use of Clone Tourney
H.G. Muller [Wed, 12 Oct 2011 15:41:18 +0000 (17:41 +0200)]
Print message on wrong use of Clone Tourney

The user is urged to first provide the name of an existing tourney file
when he presses the button without one. The button is also renamed.

12 years agoFix invalid combobox entry WB
H.G. Muller [Wed, 12 Oct 2011 15:38:33 +0000 (17:38 +0200)]
Fix invalid combobox entry WB

A combobox label that was not in the list (because the user typed
it, rather than selecting one) would cause a crash.

12 years agoFix crash on loading garbage game file
H.G. Muller [Wed, 12 Oct 2011 15:23:57 +0000 (17:23 +0200)]
Fix crash on loading garbage game file

XBoard crashed when a game file contained a PGN game result before
any valid game start, because data would be written in a game-list
node that did not exist yet. This would occur frequently when garage
was read; basically any asterisk in the data would do it.

12 years agoAdd control to set -discourageOwnBooks WB
H.G. Muller [Tue, 11 Oct 2011 21:31:01 +0000 (23:31 +0200)]
Add control to set -discourageOwnBooks WB

12 years agoonly require 0.17 of gettext
Arun Persaud [Wed, 12 Oct 2011 03:53:52 +0000 (20:53 -0700)]
only require 0.17 of gettext

This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones.

12 years agoAdd option -discourageOwnBooks
H.G. Muller [Tue, 11 Oct 2011 21:31:01 +0000 (23:31 +0200)]
Add option -discourageOwnBooks

This boolean option determines the default setting of the hasOwnBook
option before a tourney game starts. By setting it, the hasOwnBook
option is cleared, which would enable use of the GUI book, like the
engine was installedwith the /firstXBook option. An explicit option
on the engine install line can still overrule this, though.
 A control to set this option has been added in the XBoard Match dialog,
and it is saved in the tourney file to force consistency.

12 years agoReset initString and computerString on engine load
H.G. Muller [Tue, 11 Oct 2011 20:58:01 +0000 (22:58 +0200)]
Reset initString and computerString on engine load

These options are typically engine specific, and must thus be
reset to their default value before loading a new engine.

12 years agoAdd Romanian lng file
H.G. Muller [Tue, 11 Oct 2011 20:43:00 +0000 (22:43 +0200)]
Add Romanian lng file

12 years agoReactivate Falcon Chess
H.G. Muller [Fri, 7 Oct 2011 14:55:45 +0000 (16:55 +0200)]
Reactivate Falcon Chess

Now the patent for this has expired, Fairy-Max plays it again.
So the XBoard support for it is now switched on, and an item for it is
added to the XBoard New Variant menu dialog. (WinBoard still had that.)
In the array the Lance was changed for the Falcon as a wild-card piece.

12 years agoUpdate texi file for new features
H.G. Muller [Mon, 3 Oct 2011 07:59:40 +0000 (09:59 +0200)]
Update texi file for new features

12 years agoUpdate texi file for position search
H.G. Muller [Mon, 3 Oct 2011 08:30:30 +0000 (10:30 +0200)]
Update texi file for position search

The new items in the Load Game Options dialog are described, as well
as the command-line options used to store them in the settings file.

12 years agoRemove paragraph about .Xresources from texi file
H.G. Muller [Mon, 3 Oct 2011 07:28:50 +0000 (09:28 +0200)]
Remove paragraph about .Xresources from texi file

Command-line options can no longer be set through .Xresources already
since version 4.5.0.

12 years agoAdd Dutch WinBoard translation
H.G. Muller [Mon, 3 Oct 2011 07:13:05 +0000 (09:13 +0200)]
Add Dutch WinBoard translation

12 years agoPrevent Edit Book window from stealing focus (WB)
H.G. Muller [Wed, 28 Sep 2011 18:46:21 +0000 (20:46 +0200)]
Prevent Edit Book window from stealing focus (WB)

In WinBoard updating the book window would give it focus. Now the
focus is given back to the main window, except when the Edit Book
window is first created.

12 years agoMake book-window update part of HistorySet
H.G. Muller [Wed, 28 Sep 2011 18:42:00 +0000 (20:42 +0200)]
Make book-window update part of HistorySet

12 years agoFix position loading in tourneys
H.G. Muller [Mon, 26 Sep 2011 14:01:28 +0000 (16:01 +0200)]
Fix position loading in tourneys

In a tourney a position must be loaded when the engine is not yet
started, and the old version of LoadPosition could not handle that:
It would start up the engine, and send it commands unconditionally.

12 years agoFix resetting -fSAN on engine change
H.G. Muller [Mon, 26 Sep 2011 13:58:07 +0000 (15:58 +0200)]
Fix resetting -fSAN on engine change

There were two places for loading another engine, Load (from menu) and
SetPlayer (in tourneys), and the previous patch for this missed the
second one.

12 years agoMake too-long game non-fatal
H.G. Muller [Mon, 26 Sep 2011 13:51:49 +0000 (15:51 +0200)]
Make too-long game non-fatal

GameEnds is now called when the maximum number of moves is exceeded,
rather than DisplayFatalError. Not sure if this properly terminates the
game in all situations, but DisplayFatalError (after calling GameEnds)
would also wait for the user to confirm the error popup before really
exiting, so that in an unattended automatically running tourney there
was not much fatal, and the entire tourney would in fact be finished.

12 years agoKeep book file open
H.G. Muller [Mon, 26 Sep 2011 13:46:58 +0000 (15:46 +0200)]
Keep book file open

Rather than opening and closing the book file on every probe, it is
now only closed and opened when the name of it changed.

12 years agoSuppress playing of book moves with weight 0
H.G. Muller [Mon, 26 Sep 2011 13:44:23 +0000 (15:44 +0200)]
Suppress playing of book moves with weight 0

Bookmoves with weight 0 could be played when the sum of the weights
of all moves from the position was 0. So it was not possible to suppress
the only move by giving it weight 0. This is now corrected.

12 years agoadded NEWS for release of 4.5.3
Arun Persaud [Sat, 1 Oct 2011 22:00:47 +0000 (15:00 -0700)]
added NEWS for release of 4.5.3

12 years agobetter contrast for XBoard icon on a dark background
Arun Persaud [Fri, 30 Sep 2011 03:31:23 +0000 (20:31 -0700)]
better contrast for XBoard icon on a dark background

12 years agotranslationproject.org: updated Ukrainian translation
Arun Persaud [Sat, 1 Oct 2011 20:09:59 +0000 (13:09 -0700)]
translationproject.org: updated Ukrainian translation

12 years agoupdated pot file and send to translation project
Arun Persaud [Fri, 30 Sep 2011 03:49:42 +0000 (20:49 -0700)]
updated pot file and send to translation project

12 years ago(tiny change) Clarify "-name" option is Xt-only
Thomas Adam [Thu, 22 Sep 2011 11:09:39 +0000 (12:09 +0100)]
(tiny change) Clarify "-name" option is Xt-only

There's a set of standard options with will get used by Xt, before Xboard
itself will use them.  "-name" is an Xt-only option which will set the name
and resource of the window to the value requested.  It has nothing to do
with setting opponent/player names.

Signed-off-by: Thomas Adam <thomas@fvwm.org>
modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL)

12 years agoFix LoadGameOrPosition starting up engine
H.G. Muller [Thu, 22 Sep 2011 15:17:16 +0000 (17:17 +0200)]
Fix LoadGameOrPosition starting up engine

When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that
is called in LoadPosition() when you are running from a position file
would prematurely start up the engine (without waiting for features).
The kludge to suppress this behavior for the explicit call to Reset()
is now extended to encompass LoadGameOrPosition.

12 years agoClear fSAN option before new engine load
H.G. Muller [Thu, 22 Sep 2011 15:14:34 +0000 (17:14 +0200)]
Clear fSAN option before new engine load

This to prevent the new engine will inherit it from the previous one.
As the command-line options an only set it, this has to be done by
explicit assignment.

12 years agoFix some warnings (prototypes)
H.G. Muller [Tue, 13 Sep 2011 21:02:35 +0000 (23:02 +0200)]
Fix some warnings (prototypes)

12 years agoFix write failures in concurrency
H.G. Muller [Tue, 13 Sep 2011 17:55:44 +0000 (19:55 +0200)]
Fix write failures in concurrency

In WinBoard a flood of writes by differentprocesses to the same PGN can
cause a "permission denied" error in fopen. This patch causes retries after
a random (5-15 msec) wait, in such cases.

12 years agoMove HistorySet to back-end
H.G. Muller [Tue, 13 Sep 2011 17:52:19 +0000 (19:52 +0200)]
Move HistorySet to back-end

This existed in exact duplicates in both front-ends.

12 years agoMake DoSleep front-end wrapper for msec sleep
H.G. Muller [Tue, 13 Sep 2011 17:46:36 +0000 (19:46 +0200)]
Make DoSleep front-end wrapper for msec sleep

DoSleep was #defined as a macro for Sleep/ sleep, with an argument
indicating msec in WinBoard, but seconds in XBoard. Nuw it universally
uses msec, by defining it as a wrapperin the respective front-ends.
(For XBoard itwraps FrameDelay.)

12 years agoFix playing sounds when -soundProgram is empty
H.G. Muller [Sat, 10 Sep 2011 20:35:14 +0000 (22:35 +0200)]
Fix playing sounds when -soundProgram is empty

It made no sense to just send the names of the sound files to the shell.
So the soundProgram isnow tested for being an empty string, and if so,
PlaySound() is aborted.

12 years agoAdd -afterGame option
H.G. Muller [Sat, 10 Sep 2011 12:01:58 +0000 (14:01 +0200)]
Add -afterGame option

This option specifies a command line to be executed after each game of
a tournament. To execute the line, the function RunCommand() was added
in the front-end. For XBoard this was a simple call to system(); for
WinBoard part of the StartChildProcess code was cloned (without the pipe

12 years agoUpgrade -serverMoves option
H.G. Muller [Sat, 10 Sep 2011 11:52:12 +0000 (13:52 +0200)]
Upgrade -serverMoves option

The (undocumented) -serverMoves option was upgraded to conform to the
ChessLive! protocol extension for sending SAN tags. A bug that allowed
upper-case promoChar to leak through was also fixed, and code was added
to write engine PVs to file. Flushing of the game result to the -serverMoves
file was also fixed.

12 years agoFix AppendComment
H.G. Muller [Sat, 10 Sep 2011 11:50:25 +0000 (13:50 +0200)]
Fix AppendComment

The joining of two comments was not performed correctly if the second
one had the braces yet to be added: the closing brace was not added in
that case.

12 years agoAuto-popup ICS Input Box
H.G. Muller [Tue, 30 Aug 2011 17:39:59 +0000 (19:39 +0200)]
Auto-popup ICS Input Box

Typing to the board made the move type-in pop up, but in ICS mode
this is of course undesirable. Like in WinBoard, the ICS Input Box
should pop up in stead, and accept the typed character. This is now
realized. If the box already exists and has text in it, the typed
character is appended to that text, and the box is given focus.
Spaces now also are considered as printable.

12 years agoSlightly decrease sensitivity of sweep actions
H.G. Muller [Tue, 30 Aug 2011 16:27:58 +0000 (18:27 +0200)]
Slightly decrease sensitivity of sweep actions

The sweep-selection of promotion and drop pieces, or step through the PV
was so sensitive that it was difficult to reliably make the intended choice.
It has now been reduced by a factor 1.5-2, and the sweep selection and
PV walk now also use a different value.

12 years agoExtra buttons in WB Tournament dialog
H.G. Muller [Sat, 27 Aug 2011 19:16:58 +0000 (21:16 +0200)]
Extra buttons in WB Tournament dialog

A button to copy contents of the tournament fileto the dialog is added.
Buttons to invoke the Common Engine and Time Control dialogs are also added.

12 years agoFix crash on typing non-existent enginein Load Engine dialog
H.G. Muller [Sat, 27 Aug 2011 19:15:00 +0000 (21:15 +0200)]
Fix crash on typing non-existent enginein Load Engine dialog

12 years agoFix display state after failed analysis attempt
H.G. Muller [Wed, 24 Aug 2011 08:30:46 +0000 (10:30 +0200)]
Fix display state after failed analysis attempt

When an engine responded to the "analyze" command with an "unknown command"
message, a Reset was done without altering the display, causing a
discrepancy between display and internal state, which caused confusion
when it finally corrected itself. I replaced the Reset call by an
EditGameEvent call, to preserve the loaded game. The Reset was presumably
used to allow for the case where the engine would be so upset by the
analyze command that it needed to be reset by a "new" command, but this
seems overly paranoic for an engine that just recognized the command
as an unknown one.

12 years agoFix treatment of PGN score/depth info with linefeeds in them
H.G. Muller [Wed, 24 Aug 2011 07:58:35 +0000 (09:58 +0200)]
Fix treatment of PGN score/depth info with linefeeds in them

This is needed to make the PGN more Arena-proof.

12 years agoFix quoting in Load Engine dialog
H.G. Muller [Wed, 24 Aug 2011 07:51:10 +0000 (09:51 +0200)]
Fix quoting in Load Engine dialog

A (space-contaning)  engine name only needs quoting when there are parameters,
because the over-all engine command will be quoted anyway. For UCI engines
duplicate quoting is fatal, because when passed as the -ec argument of
Polyglot, it will be quoted yet another time, also with double quotes.

12 years agoReplace Analyze File by Analyz Game function
H.G. Muller [Tue, 23 Aug 2011 19:24:23 +0000 (21:24 +0200)]
Replace Analyze File by Analyz Game function

12 years agonew developer release
Arun Persaud [Tue, 23 Aug 2011 05:16:58 +0000 (22:16 -0700)]
new developer release

12 years agoupdate po files
Arun Persaud [Tue, 23 Aug 2011 05:26:56 +0000 (22:26 -0700)]
update po files

12 years agoupdated Changelog, NEWS, etc.
Arun Persaud [Tue, 23 Aug 2011 05:24:23 +0000 (22:24 -0700)]
updated Changelog, NEWS, etc.

12 years agomalloc.h is not needed
Arun Persaud [Tue, 23 Aug 2011 05:09:19 +0000 (22:09 -0700)]
malloc.h is not needed

12 years agoFix ICS move-list header mistaken for null moves
H.G. Muller [Sat, 20 Aug 2011 20:21:40 +0000 (22:21 +0200)]
Fix ICS move-list header mistaken for null moves

12 years agoAllow two-games-per-opening to work with book
H.G. Muller [Thu, 18 Aug 2011 16:53:09 +0000 (18:53 +0200)]
Allow two-games-per-opening to work with book

A new option -seedBase is added, and written to the tourney file.
It allows all XBoard instances working on a tourney to generate the same
'random' openings in a deterministic way, based on this one-time seed
and the game number. When -loadGameIndex equals -2, it uses the same seed
for an odd and the following even game.

12 years agoFix use of random
H.G. Muller [Thu, 18 Aug 2011 16:51:56 +0000 (18:51 +0200)]
Fix use of random

In some places rand() was called explicitly, rather than through the
(configured) place-holder random().

12 years agoTranslate search texts
H.G. Muller [Thu, 18 Aug 2011 15:34:33 +0000 (17:34 +0200)]
Translate search texts

12 years agoAdd -useBoardTexture and -usePieceFont options
H.G. Muller [Thu, 18 Aug 2011 08:29:35 +0000 (10:29 +0200)]
Add -useBoardTexture and -usePieceFont options

These options suppress the use of the given texture files or piece fonts
without relying on the kludge to disable them by prefixing an asterisk
to the file or font name. Checkboxes have been added to the Board dialog
to control them. The user can now set piece font in WB font dialog.
The sample text can be used to specify the -fontPieceToCharTable,
the font name itself the -renderPiecesWithFont value.

12 years agoFix crash on start without settings file
H.G. Muller [Tue, 16 Aug 2011 21:10:59 +0000 (23:10 +0200)]
Fix crash on start without settings file

A primordial -1 in currCurrent caused a crash when WinBoard was started
without ini filein game-viewer mode.

12 years agoFix generic-popup failure after empty engine-settings dialog
H.G. Muller [Fri, 12 Aug 2011 10:08:18 +0000 (12:08 +0200)]
Fix generic-popup failure after empty engine-settings dialog

The error exit ofthe Engine #N Settings dialog in case of an engine without
options forgot to clear currentCps, with as a result that the generic popup
thought every subsequent popup was an empty one, and kept repeating the
'engine has no options' error message for every dialog.

12 years agoAllow substitution of engines during tournament
H.G. Muller [Wed, 10 Aug 2011 09:27:22 +0000 (11:27 +0200)]
Allow substitution of engines during tournament

Two buttons are added in the tournament options dialog, for upgrading
and for replacing a tourney participant. Lots of tests on the validity
of the request are done, and if all are passed, the tourney file is
written with the new participants (and in case of replace) with the
results of the replaced engines erased from the -results string.

12 years agoFix up/down arrows in game list
H.G. Muller [Mon, 8 Aug 2011 09:00:12 +0000 (11:00 +0200)]
Fix up/down arrows in game list

12 years agoAdd key bindings for loading next/previous game of list
H.G. Muller [Mon, 8 Aug 2011 08:31:24 +0000 (10:31 +0200)]
Add key bindings for loading next/previous game of list

These bindings are set both for the game list and the board window.
To make them useful, focus has to be transferred to the board widget
after loading (it tends to transfer to the tags window), which now
seems to work, but not always. From the game list the shellWidget
seems to get focus rather than the board, which is bad as it is not
sensitive to the key bindings.

12 years agoAllow deletion of last book move
H.G. Muller [Mon, 8 Aug 2011 07:58:31 +0000 (09:58 +0200)]
Allow deletion of last book move

The book-edit function refused to delete the entiremove list,
for no good reason. This limitation now has been lifted.
Also the error message that the key for the current book entries
is different from that of the currentposition has been suppressed
if there were no entries found for the current position (so that the
book is positioned at the next key), so that it is possible to add
moves from scratch.

12 years agoSpeed up parser
H.G. Muller [Sun, 7 Aug 2011 22:19:53 +0000 (00:19 +0200)]
Speed up parser

Line numbers > 1, which are common, can exit already during move parsing,
to save lots of matching on resultsand castlings.

12 years agoFix missing files in file browser
H.G. Muller [Sun, 7 Aug 2011 13:13:00 +0000 (15:13 +0200)]
Fix missing files in file browser

The file browser was throwing away the first two files, assuming
they were "." and "..". Alas, this is no longer true on every Linux.
Now we actuallyc compare for these names, before skipping them.

12 years agoDelay file loading to allow expose event first
H.G. Muller [Sat, 6 Aug 2011 09:57:59 +0000 (11:57 +0200)]
Delay file loading to allow expose event first

12 years agoFix paging
H.G. Muller [Sat, 6 Aug 2011 07:29:22 +0000 (09:29 +0200)]
Fix paging

12 years agoBetter fix of crash on empty game list
H.G. Muller [Fri, 5 Aug 2011 20:39:41 +0000 (22:39 +0200)]
Better fix of crash on empty game list

An empty list is now replaced by a list containig a simple message.

12 years agoAdd plain arrows as key binding for stepping forward/backward
H.G. Muller [Fri, 5 Aug 2011 18:31:44 +0000 (20:31 +0200)]
Add plain arrows as key binding for stepping forward/backward

12 years agoDebug position selection
H.G. Muller [Fri, 5 Aug 2011 18:30:03 +0000 (20:30 +0200)]
Debug position selection

12 years agoPrint progress during load / selection of game
H.G. Muller [Thu, 4 Aug 2011 11:22:55 +0000 (13:22 +0200)]
Print progress during load / selection of game

The title bar of themain window is used to display a running count
of the number of games loaded / searched.

12 years agoParse PGN tags without allocating memory
H.G. Muller [Thu, 4 Aug 2011 10:44:45 +0000 (12:44 +0200)]
Parse PGN tags without allocating memory

In WinBoard malloc/free did not seem to work when preparing the game list,
leading to a huge memory list when ParsePGNTag was used. The added code
parses the required tags in an alternative way as a work-around.

12 years agoImplement searching games in Game List for a position
H.G. Muller [Tue, 2 Aug 2011 20:58:34 +0000 (22:58 +0200)]
Implement searching games in Game List for a position

For this it was needed to reconstruct all positions of the games
without loading them, so they could be compared to the currently
displayed position. A new routine GameContainsPosition is made for that.
 In Disambiguate, when the global quickFlag is set, we now do the
disambiguation ignoring check,and only if this leads to an ambiguous
move, we repeat it taking check into account to see if that resolves
the ambiguity. This causes us to miss if unambiguous moves are illegal
because they put their King in check, but who cares?
 We now do not make game-list line when not needed. If we do not filter
by text, but by position, there is no need for preparing the game-list
line for games that are not selected. All for efficiency.

12 years agoAllow entry of variations in PlayFromGameFile mode
H.G. Muller [Thu, 28 Jul 2011 18:47:35 +0000 (20:47 +0200)]
Allow entry of variations in PlayFromGameFile mode

Adding variations is more like editing a comment,and not really editing
the game. Therefore we allow it on loaded games. As soon as we are in a
variation, we temporarily switch to a (hidden) EditGame mode, restoring
the original mode when we revert to the main line.
  We now also stay in PlayFromGameFile mode after loading a game,
And opening variation (fromtheComment window) in PlayFromGameFile mode
is also allowed.

12 years agoForce Move History refresh after loading/reverting variation
H.G. Muller [Wed, 27 Jul 2011 16:47:45 +0000 (18:47 +0200)]
Force Move History refresh after loading/reverting variation

The Move History window was not refreshed after switching to or from
a variation if that variation happened to have the same length as
the main line. Now a change in storedGames since the previous refresh will
force a full refresh to avoid this. For this to work, storedGames
did have to be decremented after ToNrEvent in PopInner, because ToNrEvent
calls HistorySet before the history is restored, so we don't want
it to snatch away the full refresh. A call to HistorySet had to be
added after PopInner is done restoring the move history.

12 years agoPopdown Comment window on new game
H.G. Muller [Wed, 27 Jul 2011 15:45:12 +0000 (17:45 +0200)]
Popdown Comment window on new game

What is in this window cannot possibly remain valid, and can even be harmful.

12 years agoAllow null move in analysis and edit-game mode
H.G. Muller [Wed, 19 Jan 2011 10:46:41 +0000 (11:46 +0100)]
Allow null move in analysis and edit-game mode

In some games it is allowed to pass your turn. The internal
representation picked for such a null move is the drop of an empty
square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@",
SAN form is "--", (for compatibility with ChessBase / SCID), and the
non-compliant forms "null", "pass"and "Z0" are recognized in
the parser as well. ApplyMove() has to test for this special case
(to not actually clear a1), and a way to enter the pass for the user had
to be found (clicking the opponent clock, like in EditPosition mode).
 The null move is made move irreversible to prevent repetition draws
spanning null moves being adjudicated.
  Such entry of null move is now allowed in AnalyzeMode and EditGame mode.
Because Chess engines will not accept null moves, SendMoveToProgram had
to be adapted to send not the move, but the position after it in
case of a null move. This erases the move history in the engine,
so it will not react to 'undo' for that null move, so BackwardInner
had to be adapted to test for intervening null moves, and if one is
found, approach the target from the other side after loading the
earliest position before it not crossing another null move, and
then loading the moves upto the target.
  XBoard clock clicks had to be fixed, to pay attention to the shift key.

12 years agoGive WinBoard Game List its own font
H.G. Muller [Mon, 25 Jul 2011 19:58:58 +0000 (21:58 +0200)]
Give WinBoard Game List its own font

The font fort he Game List used to be shared with the Engine Output and
Move History windows, but this made it impossible to use a figurine font
in the latter two (which displays piece symbols for capitals) without
messing up the Game List. An option -gameListFont has been added to specify
the font for the Game List(and save it in the settings file), while a
control for it is added in the fonts dialog.

12 years agoFix crash on OK after Save Changes in Tags and Comment popup.
H.G. Muller [Thu, 21 Jul 2011 17:02:01 +0000 (19:02 +0200)]
Fix crash on OK after Save Changes in Tags and Comment popup.

The global variables tagsText and commentText were used to pass
a string obtained from a widget (and thus not malloc'ed), which
caused a crash when the GenericReadout tried to use those variables
for the new value. Fixed by using GenericReadout (which does malloc)
to read out the text,in stead of GetWidgetText.

12 years agoRevert "fixed segfault in xengineoutput", fixed in the backend now (from HGM)
Arun Persaud [Sat, 16 Jul 2011 16:31:12 +0000 (09:31 -0700)]
Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM)

This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295.

12 years agoSuppress some XBoard warnings
H.G. Muller [Sat, 16 Jul 2011 12:53:14 +0000 (14:53 +0200)]
Suppress some XBoard warnings

12 years agofixed segfault in xengineoutput
Arun Persaud [Fri, 15 Jul 2011 18:21:29 +0000 (11:21 -0700)]
fixed segfault in xengineoutput

12 years agoDisable -showTargetSquares in ICS mode
H.G. Muller [Mon, 11 Jul 2011 18:04:57 +0000 (20:04 +0200)]
Disable -showTargetSquares in ICS mode

Help like this is considered cheating on FICS, so it is disabled for
all 'classical' ICS variants. (For variants eyont Shogi we don't care.)

12 years agoPut grab on sweep-selecting in Edit Position
H.G. Muller [Sun, 10 Jul 2011 19:20:49 +0000 (21:20 +0200)]
Put grab on sweep-selecting in Edit Position

A right down-click starting a sweep-selection event did not grab the
mouse events, so that an up-click outside the window would go
unnoticed, and the pointer motion stayed coupled to selecting the
piece until the next click. By returning 2 from the RightClick back-end
routine we request the grab.

12 years agoWrite more labels on score axis of eval graph
H.G. Muller [Sat, 9 Jul 2011 11:50:58 +0000 (13:50 +0200)]
Write more labels on score axis of eval graph

The labels for +/-1 and +/-3 are now also written, provided there is
enough space.

12 years agoImprove Eval Graph with -evalZoom and -evalThreshold
H.G. Muller [Sat, 9 Jul 2011 11:28:08 +0000 (13:28 +0200)]
Improve Eval Graph  with -evalZoom and -evalThreshold

The score range between -1 and +1 can now be blown up by a factor
specified through -evalZoom. The threshold below which histogram bars
are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now
be set through the -evalThreshold option.

12 years agoPrint reversible plies done in stead of plies to go
H.G. Muller [Sat, 9 Jul 2011 11:18:07 +0000 (13:18 +0200)]
Print reversible plies done in stead of plies to go

Printing the number of plies left to the draw-adjudication point was
confusing when the N-move rule was set to a non-standard value.
In stead we now print the number of plies since the last irreversible
move, so the user can compare it to both the engine claim point (100)
and the adjudication point he set (which might be beyond 100).

12 years agoLet WB eval graph react ot single left-click
H.G. Muller [Sat, 9 Jul 2011 11:13:49 +0000 (13:13 +0200)]
Let WB eval graph react ot single left-click

Unlike in XBoard, the WinBoard eval graph awatys had required double-
clicking to go the the corresponding move, while there really is no
reason for this, as it is no text edit, and single-clicks have no function
(like select).

12 years agoAdd -scoreWhite option
H.G. Muller [Thu, 7 Jul 2011 17:37:12 +0000 (19:37 +0200)]
Add -scoreWhite option

This is similar to -absoluteAnalysisScores, except that it works in
all modes, and flips the score given by the engines in the engine-output
window when black is to move.

12 years agoPrint 50-move counter in Engine-Output title
H.G. Muller [Thu, 7 Jul 2011 17:28:04 +0000 (19:28 +0200)]
Print 50-move counter in Engine-Output title

12 years agoDisplay score/depth in Eval Graph title
H.G. Muller [Thu, 7 Jul 2011 16:50:56 +0000 (18:50 +0200)]
Display score/depth in Eval Graph title

No longer print it in the comment window.

12 years agoLet -sweepPromotions also work for click-click moves
H.G. Muller [Mon, 4 Jul 2011 09:06:12 +0000 (11:06 +0200)]
Let -sweepPromotions also work for click-click moves

A click-click promotion no longer causes auto-queening, but the down-click
on the to-square causes a Queen to stick to the mouse pointer, and then
allows the user to change it through dragging backwards before releasing it
with an up-click.
  In WinBoard this required a slight change in DragPieceBegin, because
the dragged piece there only was made visible when the mouse pointer
actually started moving (and dragInfo.pos was set), presumably under the
assumption that before mouse move the piece was already on the clicked
square. Which in the case of a to-square was of course not true. (Because
a piece jumps to the mouse pointer when the click is not centered on a
square, this gives less jittery static clicks.) So DragPieceBegin has
been given an extra argument now, to indicate whether it should attach
the piece to the mouse pointer immediately.
  To make the click-click sweepPromotions work in Shogi (for which the
drag-drop sweepPromotions could never work, because it is not clear the
piece has a posibility to promote when you pick it up), translation of
the sweep-selected piece to a Shogi promoChar had to e added.

12 years agoImprove -showTargetSquares on click-click moves
H.G. Muller [Mon, 4 Jul 2011 08:45:04 +0000 (10:45 +0200)]
Improve -showTargetSquares on click-click moves

The markers on move targets are now kept when a first click merely
selects a piece, rather than dragging it elsewhere. The second click
(by definition on the to-square) then clears the markers.

12 years agoLet PGN parser accept lower-case piece in drop moves
H.G. Muller [Mon, 4 Jul 2011 09:23:05 +0000 (11:23 +0200)]
Let PGN parser accept lower-case piece in drop moves

The @ sign prevents amiguity with other notations anyway.

12 years agoFix parser.c line endings
H.G. Muller [Mon, 4 Jul 2011 10:42:12 +0000 (12:42 +0200)]
Fix parser.c line endings

12 years agoFix writing searchTime in tourneyFile
H.G. Muller [Wed, 29 Jun 2011 18:29:12 +0000 (20:29 +0200)]
Fix writing searchTime in tourneyFile

This had to be derived from the variable searchTime, which gives it
in seconds, as appData.searchTime (a string in minutes) is not reliable,
as it contains the command-line value, which might have been altered
through the time-control dialog.

12 years agoFix resetting searchTime if other TC mode is chosen (XB)
H.G. Muller [Wed, 29 Jun 2011 18:25:00 +0000 (20:25 +0200)]
Fix resetting searchTime if other TC mode is chosen (XB)

This fixes a bug in the new time-control dialog.

12 years agoFix coords display on large boards
H.G. Muller [Wed, 29 Jun 2011 12:32:43 +0000 (14:32 +0200)]
Fix coords display on large boards

The file indicators can now run upto 'w'. Only the lowest digit
of the rank number is printed, from a table that is valid to 22.

12 years agoFix crash on making too-long FEN
H.G. Muller [Wed, 29 Jun 2011 11:53:00 +0000 (13:53 +0200)]
Fix crash on making too-long FEN

The buffer for in PositionToFEN was only 128 bytes, which was not enough
for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now.
There also is some approximate overflow checking added (but it is not
fool proof in case there are holdings...)

12 years agoFix drop moves on boards with more than 10 ranks
H.G. Muller [Wed, 29 Jun 2011 11:36:26 +0000 (13:36 +0200)]
Fix drop moves on boards with more than 10 ranks

The internal encoding for rank 16 is '@', and thus ambiguous with drop
moves. They were always printed as 16, breaking drop games on large
boards. The ambiguity is now solved (for boards with more than 16 ranks)
by checking if the preceeding letter is upper case, in which case it
cannot be a fileindicator, but must be a piece, and thus a drop.

12 years agoDon't one-click move when legality testing is off
H.G. Muller [Wed, 29 Jun 2011 11:29:38 +0000 (13:29 +0200)]
Don't one-click move when legality testing is off