H.G. Muller [Mon, 23 May 2011 17:03:56 +0000]
Fix ArgTwo warnings
H.G. Muller [Mon, 23 May 2011 17:00:00 +0000]
Add Swiss tourneys through pairing engine
An external program can be designated pairing engine through the new
persistent option -pairingEngine. Defining the option will allow
tourneytype -1 to be chosen for Swiss. In this case the pairing engine
will be queried for a pairing before every new match game, by sending it
the -results string, plus the command 'pairing' + game number.
H.G. Muller [Mon, 23 May 2011 15:37:43 +0000]
Allow generic dialog to ignore OK
The EndMark callback can now suppress popdown of the dialog on OK, when
it somehow does not like the values entered by the user. In XBoard this
required all the callbacks to return a value.
Caveat: A refused OK would still have set all new values given in the
dialog!
H.G. Muller [Mon, 23 May 2011 15:22:58 +0000]
Fix CR in multi-line WinBoard text-edits
The generic popup did not add CR when strings containing '\n' were
printed in a multi-line text-edit, thus joining the lines. It was also
not possible to type a CR in a multi-line text-edit.
H.G. Muller [Mon, 23 May 2011 12:16:17 +0000]
Let mentioning completed tourney file add one cycle
Secifying a tourney file of a fully completed tourney will now resume
that tourney with another cycle added. When there are still uncomleted
games in the tourney, the usual error message will appear. There are
also error popups added for when the user fails to specify a tourney
file, or gives too few participants.
H.G. Muller [Mon, 16 May 2011 09:02:08 +0000]
Make engine startup failure non-fatal in WinBoard
Unlike XBoard, which forks first, the parent process WinBoard has direct
knowledge of a failure to execute the engine command, and used it to
trigger a fatal error. The code doing this has now been disabled. Only
in case of a first engine we switch back to -ncp mode in stead, but no
action is taken to 'bury' the deceased engine process. Like in XBoard,
errors in writing or reading the pipes will trigger this.
H.G. Muller [Sat, 14 May 2011 15:03:44 +0000]
Add secondry adapter command for UCCI or USI
The option -uxiAdapter can define a second adapterCommand, which will be
invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI.
H.G. Muller [Sat, 14 May 2011 08:05:11 +0000]
Obey san feature when sending book moves
Book moves were always sent in long algebraic, even when the engine had
said it wanted to receive SAN.
H.G. Muller [Sat, 14 May 2011 08:03:20 +0000]
Fix initialization of engine state
Some of the initialization relied on variables being zero at startup,
which meant value from the previouly loaded engine hng on after loading
a new one.
H.G. Muller [Wed, 11 May 2011 21:06:20 +0000]
Take account of holdings in book key
The board is numbered by rank, for comptibility with Polyglot format,
starting at a1. We then continue counting in the holdings 'files', in
up-rank direction, each holding spanning the full board height (even if
it is not fully used). Firstthe left (black) holdings, then the right,
Even in Shogi this limits the square number to < 99, which is below the
absolute limit of 128 (where we would run out of hash keys).
H.G. Muller [Wed, 11 May 2011 20:48:34 +0000]
Alow promotions and drops in book-editing
H.G. Muller [Wed, 11 May 2011 18:15:58 +0000]
Include learn info in book edit
H.G. Muller [Mon, 9 May 2011 19:55:10 +0000]
Adapt default directory of lng2po
The path is prefixed with "../" to make it runable from the po directory.
H.G. Muller [Mon, 9 May 2011 19:20:35 +0000]
Recode some po files
po files were generated with the aid of lng2po for Russian,
Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251,
CP1258, GB2312 and BIG5, respectively.
H.G. Muller [Mon, 9 May 2011 18:11:32 +0000]
Implement Edit Book in XBoard
H.G. Muller [Mon, 9 May 2011 07:52:54 +0000]
Improve WB Load Engine dialog texts
H.G. Muller [Mon, 9 May 2011 07:48:27 +0000]
Make 'add to list' default in Load Engine dialog
H.G. Muller [Mon, 9 May 2011 07:33:39 +0000]
Add -userFileDirectory option
This volatile option is initialized from 'installDir'. It is
primarily intended for configuration of WinBoard through its master
settings file, and specifies an alternative place to create saveGameFile
or look for other user files, in stead of looking in the installDir.
H.G. Muller [Mon, 9 May 2011 07:10:47 +0000]
Add option -absoluteAnalysisScores
This persistent option flips scores in the when black is thinking in
analysis mode, just before they are printed in the engine-output window.
H.G. Muller [Sun, 8 May 2011 15:47:40 +0000]
Automatically play moves of clicked PV in analyze mode
The Shift key now no longer needs to be pressed to play moves from the
PV in analyze mode (so it could be given back its original meaning of
starting a variation with the entered moves). In analyze mode the PV
walk begins after the first move, so a static right-click plays the
first PV move. To just peek the PV you have to walk to the start of it
before releasing the mouse button. In other modes the PV walk
stillstarts at the very end.
H.G. Muller [Sun, 8 May 2011 15:07:18 +0000]
Let ParsePV always generate SAN move
H.G. Muller [Sun, 8 May 2011 11:53:09 +0000]
Fix vscrolling in XBoard Engine-Output window
After clicking the memos they scrolled to the bottom, because SetFocus
put the insertion point at the very end of the text. This behavior is
now reserved for text-edits containing less than 100 characters.
H.G. Muller [Sun, 8 May 2011 11:22:33 +0000]
Fix button sizing in generic popup
H.G. Muller [Sun, 8 May 2011 11:02:52 +0000]
Allow changing MultiPV setting from Engine-Output window
In analyze mode a header line is printed in the first engine-output
pane, which can be right-clicked to increase or decrease the number of
PVs. (Only with engines that support the MultiPV option.)
H.G. Muller [Sun, 8 May 2011 09:28:44 +0000]
No clearing of Engine-Output memos on stat01
Arun Persaud [Sun, 8 May 2011 06:27:50 +0000]
updated xboard.pot with released version
Arun Persaud [Sun, 8 May 2011 05:56:53 +0000]
new developer release
Arun Persaud [Sun, 8 May 2011 05:54:29 +0000]
updated ChangeLog, NEWS, etc.
Arun Persaud [Sun, 8 May 2011 06:07:46 +0000]
deactivated new languages for the moment...
po files need some cleanup, probably better to wait until the translation-project looked at them
Arun Persaud [Sun, 8 May 2011 01:44:24 +0000]
added translations generated via lng2po from all winboard languages
Arun Persaud [Sun, 8 May 2011 01:40:23 +0000]
lng2po.sh: added command line options, GPL header
also use a temporary file generated with mktemp instead of a hard coded one
Arun Persaud [Sun, 8 May 2011 00:53:10 +0000]
fixed access rights to winboard language files (644 instead of 655)
H.G. Muller [Sat, 7 May 2011 12:55:55 +0000]
Import WinBoard language files into git
H.G. Muller [Fri, 6 May 2011 21:14:02 +0000]
Let Shift+RightClick on PV actually play the PV moves
H.G. Muller [Fri, 6 May 2011 16:06:48 +0000]
Make book-edit function WB
The tags dialog is used to display the GUI book moves from the current
position, and will be updated when you step or move to another one.
The edited move list (with weights) can be written back to the book.
H.G. Muller [Sat, 7 May 2011 14:21:25 +0000]
Fix resetting engine options
Not all options were reset, and -needsNonCompliantFEN was 'reset'
to a completely wrong value, so that bad FENs would be sent.
H.G. Muller [Fri, 6 May 2011 16:51:20 +0000]
Add -first/secondPgnName option
This option replaces the tidy name of the engine in the PGN player tags
of engine-engine games. In WinBoard engines can be installed with this
option through a checkbox in the Load Engine dialog.
H.G. Muller [Fri, 6 May 2011 21:31:36 +0000]
Let XB generic popup define default file extensions
H.G. Muller [Fri, 6 May 2011 16:25:38 +0000]
Save time-control settings in tourney file
Because parsing the options and storing them in appData is not enough,
the time-control code setting the internally used parameters from the
appData info in InitBackend was made into a subroutine, and also caled
after parsing the tourney file.
H.G. Muller [Fri, 6 May 2011 18:40:34 +0000]
Put saveGameFile in tournament dialog
H.G. Muller [Fri, 6 May 2011 17:17:56 +0000]
Plug memory leak, filenames relative to installDir
String options are consistently freed now, before assigning a new value
to them through strdup. The init code now even does use strdup when
setting defaults. This is important for optionslike -lgf, which are not
saved in the settings file, and thus are usually left with their
default. When a dialog to set them then uses free, this causes a crash.
When setting the defaults uses strdup, ParseArgs can already free them.
This plugs an important memory leak, as ParseArgs in now called to parse
the tourney file before every tourney game (twice!), and the lists of
participants and results in it can be quite long. Macros are defined in
common.h to make the code look simpler.
Filenames entered through the generic popup are now interpreted
relative to the WinBoard installation folder, just as the saveGameFile
already was. The code handling the atter was made into a subroutine for
this.
H.G. Muller [Fri, 6 May 2011 20:02:53 +0000]
Add WB new popup prototypes
H.G. Muller [Fri, 6 May 2011 16:58:08 +0000]
Add partcipants at bottom in tourney dialog (WB)
H.G. Muller [Fri, 6 May 2011 16:56:53 +0000]
Fix range of tourneyType spin WB
H.G. Muller [Fri, 6 May 2011 16:15:23 +0000]
Fix exit popup in tourney mode
Only the instance finishing the last tourney game will cause a popup
with final standings. As long as there are still busy games, it exits or
switches back to idle mode silently.
H.G. Muller [Fri, 6 May 2011 16:11:47 +0000]
Fix stopping of match in tourney mode
H.G. Muller [Fri, 6 May 2011 16:59:26 +0000]
Add default extension in file browser
H.G. Muller [Fri, 6 May 2011 20:37:14 +0000]
Improve sizing of comment and tags dialogs
There seems to be a bug in Xaw for the sizing of buttons; they get
unpredicatble and weird sizes when the size is not explicitly set,
possibly stretching the initial width of a dialog to rediculous values.
Sizing back to a remembered value from the settings file then makes
buttons overlapand text edits shrink to almost nothing. To prevent that
we now define exlicit sizes for the buttons in tags and comment popups.
H.G. Muller [Fri, 6 May 2011 19:00:25 +0000]
Fix generic combobox bug
The patch placing gettext markers was done wrong, setting the
translated menu text outside the loop, so all entries became the same.
H.G. Muller [Sat, 7 May 2011 12:23:12 +0000]
Fix PV walking in analysis mode
ParsePV assumed that the PV would always have been produced by an engin
thinking about the final position of the game (or the one before it). In
analysismode, however, the engine can be analysing positions internal to
the game, and the PV would be considered invalid. This is fixed by
cutting of the tail off the game (shelving it in variation fashion)
before starting the PV walk, and reverting afterwards.
For this the PushTail and PopTail routines had to be split into an
'inner' part, doing the pushing and popping, and an outer part, handling
menu graying and popdowns (which is undesirable in in this application).
H.G. Muller [Mon, 2 May 2011 22:24:10 +0000]
Lift length-limit on text-edits in WB generic popup
H.G. Muller [Wed, 4 May 2011 11:53:05 +0000]
Lift limitation of text length in generic dialog XB
All string options should now point to allocated memory, as strdup /
free is consistently used on them. This is OK for values received from
ParseArgs, but for non-arg intermediate variables that must receive strg
values, such as in the comment and tags popups, strdup has to be used to
initialize those.
H.G. Muller [Wed, 4 May 2011 12:53:02 +0000]
Implement Tournament Options dialog WinBoard
The file browser now can select on extension WB generic dialogs,
with a default based on the option.max value of the option for which it
browses. A textBox can be forced to be multiline by putting the number
of extra lines in option.min.
H.G. Muller [Wed, 4 May 2011 13:30:00 +0000]
Make option to draw second engine from first list
H.G. Muller [Mon, 2 May 2011 22:17:47 +0000]
Fix error message on engine load
H.G. Muller [Wed, 4 May 2011 13:09:33 +0000]
Implement Load Engine dialog in WinBoard
The Load Engine dialog is implemented for WinBoard, and is invoked by
the menu item Engine->Load, which formerly was Install 2nd. Install 1st
is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate
fields for the engine executale and its parameters.
The dialog is implemented by converting the Engine Settings popup into
a generic dialog generator.
H.G. Muller [Wed, 4 May 2011 11:43:06 +0000]
Load new logo on engine change WinBoard
Picking the logo for the first engine is made into a subroutine. The
code for picking the logo of the first engine was made into a subrroutne
for this. We use the kludge to recognize the engine by its command line
when starting a new engine process.
H.G. Muller [Wed, 4 May 2011 11:36:27 +0000]
Allow switching off match mode through menu
The Machine Match menu item is now checkmarked, and no longer grayed
during a match, and clicking it while a match is running will terminate
the match after the current game. To not be left with hanging
checkmarks, the checkmark is already removed duringthe last match game
(which is logically equivalent to ordinary Two Machines mode anyway).
H.G. Muller [Mon, 2 May 2011 22:14:22 +0000]
Calculate and display tourney result
H.G. Muller [Wed, 4 May 2011 16:42:13 +0000]
Implement Tournament Manager
New command-line options are added to specify the tourney: -tourneyType
(-tt), -tourneyCycles (-cy), -participants, -syncAfterRound,
-syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but
otherwise volatile. When a tourneyFile is specified during a match,
a new routine NextTourneyGame is called from NextMatchGame before every
game, to decide the pairing, and unload and redefine the engines, when
needed. The XBoard Match Options dialog can be used to set the options
and create the tournament file.
Actual loading of new engines is done by TwoMachinesEvent, which is
now modified to also wait for the feature timeout of the first engine.
Waiting for the matchPause is now also implemented there, after waiting
for the engines (so they can be started during the pause).
Pairings and color assignment is now all done in an absolute
(non-incremental) way, based on a new global game-number variable
nextGame, which takes over the function of matchGame in a tourney. The
latter is now used to count games between the same players, so it can be
still used to derive the load-file indexes (again in absolute fashion).
The next game to play is already picked in GameEnd, so it can be
decided if there is a game to be scheduled, or if we can terminate.
H.G. Muller [Wed, 4 May 2011 13:42:26 +0000]
Display note in stead of empty engine-settings dialog XB
H.G. Muller [Sun, 24 Apr 2011 16:02:20 +0000]
Fix crash on empty Engine Settings dialog
The generic popup was not foolproof against this.
H.G. Muller [Fri, 22 Apr 2011 10:47:24 +0000]
Refactor code for loading games and positions in match
The code in NextMatchGame and MatchEvent was nearly the same,
(MatchEvent did a little more error checking, but that is never
harmful), and could be combined. In stead of determining the load index
incrementally, it is now calculated in an absolute way from the game
number, so it can be used more easily in tournament mode.
H.G. Muller [Thu, 21 Apr 2011 20:37:56 +0000]
Add callback possibility to combobox selection
H.G. Muller [Sun, 24 Apr 2011 15:15:23 +0000]
Lock game an position file during writing
The use of flock() on the file desctiptor of the opened stream should
guarantee multiple XBoard instances, saving on the same file, will not
interleave their PGN games or FEN positions.
H.G. Muller [Wed, 27 Apr 2011 15:05:06 +0000]
Remove building rule for parser.c from WB makefiles
H.G. Muller [Fri, 29 Apr 2011 14:58:49 +0000]
Fix Engine Settings buttons in WinBoard
This was broken by a leftover statement from debugging the -file/-path
patch.
H.G. Muller [Mon, 2 May 2011 11:38:14 +0000]
Implement flock in WinBoard
This system function seems unknown in a MinGW compile, so it is
implemented with the aid of file byte-range locking, using a lock on the
first 1024 bytes of the file as a semaphore.
H.G. Muller [Fri, 29 Apr 2011 21:06:43 +0000]
Fix grayout XB Match Options in ICS mode
H.G. Muller [Mon, 2 May 2011 22:22:40 +0000]
Delay loading of second engine until it is used
H.G. Muller [Mon, 2 May 2011 13:00:03 +0000]
Fix zippy bughouse partner bug
The patchs to subject Zippy messages to coloriation was faulty, because
there were messages recognized by zippy that were not colorized, and
such messages would then not be 'read away' after zippy recognition
(except for the first character). As a result the messages were
processed over and over again.
H.G. Muller [Wed, 4 May 2011 08:59:43 +0000]
Silence more rpm warnings
H.G. Muller [Sun, 1 May 2011 18:33:50 +0000]
Fix warnings XBoard file browser
All the prototypes have been moved to selfile.h, to force uniformity.
The order of the #include files xstat.h and selfile.h had to be
swapped, to make sure 'struct stat' is a nown type atthe time of
prototype declaration. The event handler SFmotionList is considered
wrong type because of its third argument (XMotionEvent in stead of
XEvent), and had to be casted to (XtEventHandler) when passed to
XtAddEventHandler.
H.G. Muller [Wed, 4 May 2011 08:56:05 +0000]
Fix some warnings and header-file improvement
Ther were lot of 'extern' declarations in the x-files, so called
'imports from xboard.c', (sometimes backend.c) which logically belonged
in xboard.h (backend.h) to ensure their uniform definition. These have
now been moved there. Some prototypes have been added in xboard.h as
well, for functions that needed calling from xoptions.c.
H.G. Muller [Wed, 4 May 2011 08:50:12 +0000]
Create conversion tools for language files
A shell script "lng2po.sh" is provided, to apply the translation given
in a WinBoard .lng file to "xboard.pot", in order to generate a
"language.po" file containing translations for all strings for which
the .lng file had a translation. It makes use of a file "metascript",
which is the ed script used to turn the .lng file in an ed script to
turn the .pot into .po. For example, the command "./lng2po.sh
espa?ol.lng" will create a file "language.po", which can be renamed to
"es.po".
****************************** WARNING ********************************
Note that the lng2po script does a "recode" that assumes the given
.lng file is encoded in latin-1. This means it canot be used without
modification for the Vietnamese and Chinese translation; you would have
to replace latin-1 by the applicable encoding first (CP1258 / BG2312 /
BIG5).
H.G. Muller [Wed, 27 Apr 2011 20:04:38 +0000]
Put gettext markers in generic dialog creator
This is done by adding extra XtNstring argumentsto the widget gcreaton,
so the displayed name can be different fromthe widget name.
Tim Mann [Mon, 2 May 2011 02:56:38 +0000]
Use getaddrinfo instead of gethostbyname. Hopefully this makes us compatible with IPv6 and with hosts that have more than one IP address. However, I don't know of any chess servers that have either of those properties, so I couldn't test that. I did test that xboard still works with freechess.org and chessclub.com and that it gives an error message for invalid host names.
Arun Persaud [Sun, 24 Apr 2011 18:18:28 +0000]
updated German translation
Arun Persaud [Sun, 24 Apr 2011 18:17:43 +0000]
replaced hardcoded email address with generic PACKAGE_BUGREPORT
Arun Persaud [Sat, 23 Apr 2011 17:51:57 +0000]
updated po-files; updated german translation
Arun Persaud [Sat, 23 Apr 2011 17:51:02 +0000]
updated list of files that include translation strings; updated pot-file
Arun Persaud [Sat, 23 Apr 2011 04:50:58 +0000]
marked more strings for gettext that were only marked with N_()
they need to be marked again with _() when they are used to get the translated string
Arun Persaud [Sat, 23 Apr 2011 04:39:22 +0000]
updated translation files
Arun Persaud [Sat, 23 Apr 2011 04:37:22 +0000]
added/fixed i18n support via gettext to xboard
this was already added a long time ago, but now it's added again to
autoconf. Also fixed some compile errors that showed up.
H.G. Muller [Wed, 20 Apr 2011 08:27:20 +0000]
Make engine startup error non-fatal
When engine startup fails, do not generate a fatal error, but swicth
back to -ncp mode. Write on broken pipe errors had to be suppressed for
this.
H.G. Muller [Wed, 20 Apr 2011 12:35:50 +0000]
Make engine loadable during session
A "Load Engine ..." menu item is added to the Engine menu, which pops
up a dialog where one can replace the first or second engine by a new
one, without destroying the game state. Switching from -ncp to engine
mode needed activation of some menu items in SetGNUMode, and
re-enabling clockMode. It was also important that noChessProgram is
cleared before re-initializing the ChessProgramState.
The Load-Engine dialog can select from the list of installed
engines, and also add a newly specified engine to this list. In this
case it saves the directory, hasBook, and isUCI info with the engine,
and optionally the current variant. When loading an engine with a
specified variant, it resets the game and switches to the new variant.
H.G. Muller [Mon, 18 Apr 2011 13:56:47 +0000]
Generalize WaitForSecond to WaitForEngine
H.G. Muller [Mon, 18 Apr 2011 13:46:12 +0000]
Add UnloadEngine routine
H.G. Muller [Wed, 20 Apr 2011 11:45:51 +0000]
Put engine initialization code in per-engine function
Initializing of the ChessProgramStates first and second from the
option settings in appData is now done by separate calls to the same
routine. Clearing of options is added to the initialization. This is
needed when reloading an engine. This is done in a separate routine,
which could also be called on -reset options.
H.G. Muller [Mon, 18 Apr 2011 11:21:44 +0000]
Bring structure in appData engine options
All options in appData that came in pairs for both engines are replaced
by arrays of ENGINES (=2, for now) elements. The use of the named
appData field that are replaced in the source is replaced by use of the
corresponding array element, by #define directives in common.h, awaiting
their replacement.
H.G. Muller [Tue, 19 Apr 2011 13:15:48 +0000]
Fix gettext macros in option dialogs
The strings in the tables were using _() in stead of N_().
H.G. Muller [Mon, 18 Apr 2011 18:58:01 +0000]
Fix crash on using Engine #1 Settings in ICS non-zippy mode
If XBoard is compiled with zippy the Engine #1 Settings menu was not
grayed out even when you don't run in zippy mode, and using it would
then crash XBoard.
H.G. Muller [Tue, 19 Apr 2011 13:07:31 +0000]
Fix shogipixmaps
Some pixmaps forptomoted pieces had wrong background color, others had a
wrong name (so the one with the correct name was missing).
H.G. Muller [Sun, 17 Apr 2011 17:12:00 +0000]
Change texture-install directory to pixmaps/textures
H.G. Muller [Sun, 17 Apr 2011 15:36:32 +0000]
Limit install of sound files to those in menu
The sounds directory is set to .../xboard/sounds, and only ten
sounds are kept (all non-spoken).
H.G. Muller [Sun, 17 Apr 2011 15:27:57 +0000]
Remove some bitmaps from install
Some files in the bitmaps source directory need not be installed,
because they are there only to be linked to the binary in a build
without LIBXPM, are README files or conversion programs. I left only the
stuff that is in a Debian binary package in .../xboard/bitmaps.xchess.
H.G. Muller [Sun, 17 Apr 2011 14:34:03 +0000]
Configure some default sounds
The move sound is set to Wood Thunk; the sounds for tell and challenge
events to Phone and Gong, respectively.
H.G. Muller [Sun, 17 Apr 2011 14:17:30 +0000]
Change default sounds in Xboard menu
All spoken sounds are removed now. Thud, Click and Ching are replaced by
Wood Thunk, Slap and Cymbal; Car Horn and Pop are added.
H.G. Muller [Sun, 17 Apr 2011 10:46:47 +0000]
Make user wav file available for try-out in sound dialog
The GenericReadout was adapted to be able to read a single selected
value, so that the callback to the 'play' button in the sounds dialog
could get the name of the 'user WAV file' without accepting all settings
for the other sounds (which should only happen on 'OK', and might still
be cancelled in stead).
Arun Persaud [Sat, 16 Apr 2011 17:36:31 +0000]
configure: enable silent rules by default