12 years agoFix empty-string option values in XBoard
H.G. Muller [Tue, 14 Jun 2011 10:46:36 +0000 (12:46 +0200)]
Fix empty-string option values in XBoard

12 years agoFix crash on switching sound in Vista
H.G. Muller [Tue, 14 Jun 2011 10:40:11 +0000 (12:40 +0200)]
Fix crash on switching sound in Vista

When choosing a new sound the wave form of the old one was free'ed, but
because built-in sounds are not really malloc'ed, this led to a crash.

12 years agoUpdate WB docs for tourney manager
H.G. Muller [Tue, 14 Jun 2011 10:36:16 +0000 (12:36 +0200)]
Update WB docs for tourney manager

12 years agoAdd icon to WB for tournament files
H.G. Muller [Tue, 14 Jun 2011 10:35:01 +0000 (12:35 +0200)]
Add icon to WB for tournament files

12 years agoRedo Time Control dialog with generic popup
H.G. Muller [Fri, 10 Jun 2011 14:52:01 +0000 (16:52 +0200)]
Redo Time Control dialog with generic popup

As poor-man's disabling of the unneeded input fields, we print the word
"Unused" in them.

12 years agoSome refactoring in xoptions.c to separate out front-end
H.G. Muller [Fri, 10 Jun 2011 12:14:45 +0000 (14:14 +0200)]
Some refactoring in xoptions.c to separate out front-end

12 years agoRedo New Shuffle Game dialog with generic popup
H.G. Muller [Fri, 10 Jun 2011 10:38:08 +0000 (12:38 +0200)]
Redo New Shuffle Game dialog with generic popup

The buttons are slightly renamed, and in stead of having an 'off'
button to clear it, shuffleOpenings now has its own checkbox, which is
ticked when a fixed or dynamic random is chosen with the buttons.

12 years agoFix type of shuffleOpenings
H.G. Muller [Fri, 10 Jun 2011 09:58:17 +0000 (11:58 +0200)]
Fix type of shuffleOpenings

This was a Boolean option, and thus accessed by the args.h code as such,
while it was declared as an int (and used in backend.c as such). This
could have led to problems with different endianness.

12 years agoInternationalize the file browser.
Tim Mann [Fri, 10 Jun 2011 06:57:43 +0000 (23:57 -0700)]
Internationalize the file browser.

The file browser was missed in the previous round of
internationalization and had gotten broken by setting international =
True in its widgets.  I got nothing but segfaults trying to set
international to False in the file browser widget subtree when it was
True in the main window, so I gave up and did the
internationalization.  It turned out to be pretty easy.

As a tiny bonus fix, I removed some ../'s from includes, and you can
now configure and build xboard in a subdirectory again.  This was
useful for building both --enable-nls and --disable-nls from the same
sources to compare functionality and make sure both still work.

12 years agoFix crash at end of Swiss tourney
H.G. Muller [Wed, 8 Jun 2011 18:26:28 +0000 (20:26 +0200)]
Fix crash at end of Swiss tourney

12 years agoFix display of logos
H.G. Muller [Wed, 8 Jun 2011 15:33:34 +0000 (17:33 +0200)]
Fix display of logos

The logo files are now sought relative to the WinBoard install
directory. Non-existing logos cause clearing of the logo, rather than
letting the logo of the prevous engine hang. Logo change is requested
explicitly from the back-end (when an engine is initialized for a new
game), rather than using the kludge in StartChileProcess. This required
a dummy UpdateLogos routine in the XBoard front-end.

12 years agoFix parameter handling in adapter command
H.G. Muller [Wed, 8 Jun 2011 16:02:31 +0000 (18:02 +0200)]
Fix parameter handling in adapter command

A backslash was not considered the end of an option name, which was
fatal for UCCI2WB, which needs %fd\\%fcp in its command line.

12 years agoClear Engine-Output pane when initializing engine
H.G. Muller [Wed, 8 Jun 2011 15:16:54 +0000 (17:16 +0200)]
Clear Engine-Output pane when initializing engine

This to prevent output from the previous game hanging there during the
next game, when the engine that is really playing is in book and
doesn't produce thinking output there.

12 years agoFix display of last move of last match game
H.G. Muller [Wed, 8 Jun 2011 15:20:01 +0000 (17:20 +0200)]
Fix display of last move of last match game

When a game was adjudicated (e.g. because XBoard detected mate) GameEnds
would trigger an exit if it was the last game of the match, and thus
never returned, while the ShowMove was called only after return from
Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to
cause ShowMove to be called before exiting. (Ugly kludge...)

12 years agoFix concurrency in Swiss tourneys
H.G. Muller [Wed, 8 Jun 2011 15:38:43 +0000 (17:38 +0200)]
Fix concurrency in Swiss tourneys

The pairing engine was consulted for the next round before all games of
the previous round were finished, if other XBoard instances were still
playing games. This caused the instances finishing early to stall
indefinitely. This is fixed by moving the Swiss pairing code to after
the syncInterval code. The normal pairing code (the call to Pairing)
must stay before it, because it determines the syncInterval. So ther is
a bit of tourneyType dependence cluttering up the code here. :-(

12 years agoGive error popup when pairing engine fails
H.G. Muller [Wed, 8 Jun 2011 15:27:01 +0000 (17:27 +0200)]
Give error popup when pairing engine fails

An invalid pairing now produces an error popup to inform the user, so he
knows why the tourney stagnates.

12 years agoFix clock mode in tourney starting from -ncp mode
H.G. Muller [Wed, 8 Jun 2011 15:24:41 +0000 (17:24 +0200)]
Fix clock mode in tourney starting from -ncp mode

When a tourney started from -ncp mode, which was allowed in MatchEvent,
because the tourney loads its own engines anyway, the menu enablings and
clockmode where not restored to their 'GNUMode' state.

12 years agoFix round-robin schedule
H.G. Muller [Wed, 8 Jun 2011 15:11:31 +0000 (17:11 +0200)]
Fix round-robin schedule

The first round was played twice, and the formulas used to derive the
pairing were not even-odd resistant anyway. Both even and odd number of
participants should work now.

12 years agoFix interrupting tournament
H.G. Muller [Wed, 8 Jun 2011 15:08:55 +0000 (17:08 +0200)]
Fix interrupting tournament

Stopping a tourney by using the Machine Match menu item did not wor

12 years agoImprove quoting of engine name on install
H.G. Muller [Wed, 8 Jun 2011 14:57:09 +0000 (16:57 +0200)]
Improve quoting of engine name on install

Rather than always using double quotes for the engine command, the
engine filename is now double-quoted if it contains spaces (and no
double-quotes), and the comand is single-quoted if it contains
double-quotes (and double-quoted otherwise).

12 years agoPrint sensible window title during tourneys
H.G. Muller [Wed, 8 Jun 2011 14:49:18 +0000 (16:49 +0200)]
Print sensible window title during tourneys

Rather than the "(W-L-D)" in the title we now print game number and
total games, plus indication of the tourney type (rr, gt or sw).

12 years agoLet XBoard propose name of tourney file
H.G. Muller [Wed, 8 Jun 2011 14:44:16 +0000 (16:44 +0200)]
Let XBoard propose name of tourney file

Add an option -defaultTourneyName to configure the name that will be
proposed in the Tournament Options dialog's tournament-file field. The
option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour,
mintes, seconds of the curret time in %02d format, or %Y for the year in
%04d format. Any tournament -file name is ignored when no participants
are given. Participants without a tourney file remains an error.

12 years agoImprove Tournament dialog layout WB
H.G. Muller [Wed, 8 Jun 2011 14:30:34 +0000 (16:30 +0200)]
Improve Tournament dialog layout WB

12 years agoFix -matchGames option
H.G. Muller [Wed, 8 Jun 2011 15:05:02 +0000 (17:05 +0200)]
Fix -matchGames option

The new MatchEvent code had broken the -mg option, and used always
-defaultMatchGames in stead.

12 years agoFixed small bugs in several .po files, enabling these translations to
Tim Mann [Tue, 31 May 2011 02:55:13 +0000 (19:55 -0700)]
Fixed small bugs in several .po files, enabling these translations to
be used.  They all probably need more work from the translation team.
I don't speak any of these languages, but I did some spot checks
either from my own knowledge or using Google Translate, and they
generally look sane.

- Several files were in utf8 but needed to be marked as such (that is,
  "CHARSET" changed to "UTF-8").  Affected es.po, it.po, ru.po, vi.po,
  zh_CN.po, zh_TW.po.

- it.po was missing a \n at the end of one translation.

- ru.po had unescaped double-quote marks in one translation.

- vi.po needed to be normalized to Unicode normalization form C.  With
  this fix, more characters display correctly, though at least one is
  still missing in the X core fonts that xboard is able to use.
  See http://vietunicode.sourceforge.net/ for more about Vietnamese.

- zh_HK.po was written in big5 and then utf8-encoded on top of that,
  making it unusable.  I stripped off the spurious utf8 encoding and
  then used recode to convert the file to Unicode properly encoded as

Unfortunately, I wasn't able to test any of the Chinese translations,
as I haven't been able to get XCreateFontSet to work in Chinese
locales with any of the fonts I have installed, even after adding the
Ubuntu language support packages for both simplified and traditional
Chinese.  I did spot check a bunch of the translations using Google

I've checked in a couple of tiny Perl scripts that I used to do part
of the fixups on vi.po and zh_HK.po in case we need them again.

12 years agoThe empty string can't be translated and it causes the gettext
Tim Mann [Mon, 30 May 2011 21:12:53 +0000 (14:12 -0700)]
The empty string can't be translated and it causes the gettext
utilities to complain, so change _("") to "".

12 years agoAdd a final wildcard default for fonts. This gives XCreateFontSet
Tim Mann [Mon, 30 May 2011 20:21:06 +0000 (13:21 -0700)]
Add a final wildcard default for fonts.  This gives XCreateFontSet
more freedom and lets it find fonts for some obscure charsets where
fixed-bold or fixed-medium etc. may not have one.

12 years agoAdded "misc-fixed" as a fallback font to handle locales where
Tim Mann [Mon, 30 May 2011 03:14:37 +0000 (20:14 -0700)]
Added "misc-fixed" as a fallback font to handle locales where
adobe-helvetica does not have all the required characters.  The fixed
font is ugly but does have a rather complete set of characters, while
the helvetica font is missing Cyrillic characters (at least on my
distro).  I haven't found a way to get a nicer font that includes
Cyrillic to work with XCreateFontSet, but I don't fully understand
why.  I'll try to improve things further in the future if I figure out
what's all going wrong.

In the process I had to rewrite the code to insert the pixel size into
a font name (replacing a "*" in that field).  The new code is much
more general.

12 years agotranslation: activated Ukrainian translation
Arun Persaud [Sun, 29 May 2011 06:55:42 +0000 (23:55 -0700)]
translation: activated Ukrainian translation

12 years agotranslation: added new Ukrainian PO file from the TP
Arun Persaud [Sun, 29 May 2011 06:41:24 +0000 (23:41 -0700)]
translation: added new Ukrainian PO file from the TP

12 years agoFix display of international characters outside the ASCII range.
Tim Mann [Sun, 29 May 2011 04:07:08 +0000 (21:07 -0700)]
Fix display of international characters outside the ASCII range.

1) Set Xaw resources required for internationalization --
   *international and *fontSet.

2) Untangle the new XFontSet-aware code from the old FindFont code.
   It doesn't make any sense to apply the old (and obsolete) size
   searching code from FindFont to a font set, which contains fonts
   that are all the requested size.

3) With these changes, the -font option doesn't work at all when given
   on the command line.  The -font option actually is parsed by the Xt
   library, used to set the *font resource, and removed from argv
   before xboard can see it, so the option didn't really work properly
   with the new WinBoard-style option framework anyway.  Now that
   -font is even more broken, I changed the documented name of the
   option to -messageFont and changed args.h so the option is saved in
   ~/.xboard as -messageFont.

12 years agoMove "hide thinking" option into alphabetical order.
Tim Mann [Sun, 29 May 2011 04:05:00 +0000 (21:05 -0700)]
Move "hide thinking" option into alphabetical order.

12 years agoFix a size mismatch in scanf. Untested, but the code could not have
Tim Mann [Sun, 29 May 2011 04:01:25 +0000 (21:01 -0700)]
Fix a size mismatch in scanf.  Untested, but the code could not have
worked properly without this fix -- scanf would have written 32-bit
values to 16-bit fields, thus smashing adjacent memory.

12 years agoFix layout tournament Load Engine dialog WB
H.G. Muller [Mon, 23 May 2011 17:05:36 +0000 (19:05 +0200)]
Fix layout tournament Load Engine dialog WB

12 years agoFix ArgTwo warnings
H.G. Muller [Mon, 23 May 2011 17:03:56 +0000 (19:03 +0200)]
Fix ArgTwo warnings

12 years agoAdd Swiss tourneys through pairing engine
H.G. Muller [Mon, 23 May 2011 17:00:00 +0000 (19:00 +0200)]
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.

12 years agoAllow generic dialog to ignore OK
H.G. Muller [Mon, 23 May 2011 15:37:43 +0000 (17:37 +0200)]
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

12 years agoFix CR in multi-line WinBoard text-edits
H.G. Muller [Mon, 23 May 2011 15:22:58 +0000 (17:22 +0200)]
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.

12 years agoLet mentioning completed tourney file add one cycle
H.G. Muller [Mon, 23 May 2011 12:16:17 +0000 (14:16 +0200)]
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.

12 years agoMake engine startup failure non-fatal in WinBoard
H.G. Muller [Mon, 16 May 2011 09:02:08 +0000 (11:02 +0200)]
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.

12 years agoAdd secondry adapter command for UCCI or USI
H.G. Muller [Sat, 14 May 2011 15:03:44 +0000 (17:03 +0200)]
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.

12 years agoObey san feature when sending book moves
H.G. Muller [Sat, 14 May 2011 08:05:11 +0000 (10:05 +0200)]
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.

12 years agoFix initialization of engine state
H.G. Muller [Sat, 14 May 2011 08:03:20 +0000 (10:03 +0200)]
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.

12 years agoTake account of holdings in book key
H.G. Muller [Wed, 11 May 2011 21:06:20 +0000 (23:06 +0200)]
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).

12 years agoAlow promotions and drops in book-editing
H.G. Muller [Wed, 11 May 2011 20:48:34 +0000 (22:48 +0200)]
Alow promotions and drops in book-editing

12 years agoInclude learn info in book edit
H.G. Muller [Wed, 11 May 2011 18:15:58 +0000 (20:15 +0200)]
Include learn info in book edit

12 years agoAdapt default directory of lng2po
H.G. Muller [Mon, 9 May 2011 19:55:10 +0000 (21:55 +0200)]
Adapt default directory of lng2po

The path is prefixed with "../" to make it runable from the po directory.

12 years agoRecode some po files
H.G. Muller [Mon, 9 May 2011 19:20:35 +0000 (21:20 +0200)]
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.

12 years agoImplement Edit Book in XBoard
H.G. Muller [Mon, 9 May 2011 18:11:32 +0000 (20:11 +0200)]
Implement Edit Book in XBoard

12 years agoImprove WB Load Engine dialog texts
H.G. Muller [Mon, 9 May 2011 07:52:54 +0000 (09:52 +0200)]
Improve WB Load Engine dialog texts

12 years agoMake 'add to list' default in Load Engine dialog
H.G. Muller [Mon, 9 May 2011 07:48:27 +0000 (09:48 +0200)]
Make 'add to list' default in Load Engine dialog

12 years agoAdd -userFileDirectory option
H.G. Muller [Mon, 9 May 2011 07:33:39 +0000 (09:33 +0200)]
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.

12 years agoAdd option -absoluteAnalysisScores
H.G. Muller [Mon, 9 May 2011 07:10:47 +0000 (09:10 +0200)]
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.

12 years agoAutomatically play moves of clicked PV in analyze mode
H.G. Muller [Sun, 8 May 2011 15:47:40 +0000 (17:47 +0200)]
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.

12 years agoLet ParsePV always generate SAN move
H.G. Muller [Sun, 8 May 2011 15:07:18 +0000 (17:07 +0200)]
Let ParsePV always generate SAN move

12 years agoFix vscrolling in XBoard Engine-Output window
H.G. Muller [Sun, 8 May 2011 11:53:09 +0000 (13:53 +0200)]
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.

12 years agoFix button sizing in generic popup
H.G. Muller [Sun, 8 May 2011 11:22:33 +0000 (13:22 +0200)]
Fix button sizing in generic popup

12 years agoAllow changing MultiPV setting from Engine-Output window
H.G. Muller [Sun, 8 May 2011 11:02:52 +0000 (13:02 +0200)]
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.)

12 years agoNo clearing of Engine-Output memos on stat01
H.G. Muller [Sun, 8 May 2011 09:28:44 +0000 (11:28 +0200)]
No clearing of Engine-Output memos on stat01

12 years agoupdated xboard.pot with released version
Arun Persaud [Sun, 8 May 2011 06:27:50 +0000 (23:27 -0700)]
updated xboard.pot with released version

12 years agonew developer release
Arun Persaud [Sun, 8 May 2011 05:56:53 +0000 (22:56 -0700)]
new developer release

12 years agoupdated ChangeLog, NEWS, etc.
Arun Persaud [Sun, 8 May 2011 05:54:29 +0000 (22:54 -0700)]
updated ChangeLog, NEWS, etc.

12 years agodeactivated new languages for the moment...
Arun Persaud [Sun, 8 May 2011 06:07:46 +0000 (23:07 -0700)]
deactivated new languages for the moment...

po files need some cleanup, probably better to wait until the translation-project looked at them

12 years agoadded translations generated via lng2po from all winboard languages
Arun Persaud [Sun, 8 May 2011 01:44:24 +0000 (18:44 -0700)]
added translations generated via lng2po from all winboard languages

12 years agolng2po.sh: added command line options, GPL header
Arun Persaud [Sun, 8 May 2011 01:40:23 +0000 (18:40 -0700)]
lng2po.sh: added command line options, GPL header

also use a temporary file generated with mktemp instead of a hard coded one

12 years agofixed access rights to winboard language files (644 instead of 655)
Arun Persaud [Sun, 8 May 2011 00:53:10 +0000 (17:53 -0700)]
fixed access rights to winboard language files (644 instead of 655)

12 years agoImport WinBoard language files into git
H.G. Muller [Sat, 7 May 2011 12:55:55 +0000 (14:55 +0200)]
Import WinBoard language files into git

12 years agoLet Shift+RightClick on PV actually play the PV moves
H.G. Muller [Fri, 6 May 2011 21:14:02 +0000 (23:14 +0200)]
Let Shift+RightClick on PV actually play the PV moves

12 years agoMake book-edit function WB
H.G. Muller [Fri, 6 May 2011 16:06:48 +0000 (18:06 +0200)]
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.

12 years agoFix resetting engine options
H.G. Muller [Sat, 7 May 2011 14:21:25 +0000 (16:21 +0200)]
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.

12 years agoAdd -first/secondPgnName option
H.G. Muller [Fri, 6 May 2011 16:51:20 +0000 (18:51 +0200)]
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.

12 years agoLet XB generic popup define default file extensions
H.G. Muller [Fri, 6 May 2011 21:31:36 +0000 (23:31 +0200)]
Let XB generic popup define default file extensions

12 years agoSave time-control settings in tourney file
H.G. Muller [Fri, 6 May 2011 16:25:38 +0000 (18:25 +0200)]
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.

12 years agoPut saveGameFile in tournament dialog
H.G. Muller [Fri, 6 May 2011 18:40:34 +0000 (20:40 +0200)]
Put saveGameFile in tournament dialog

12 years agoPlug memory leak, filenames relative to installDir
H.G. Muller [Fri, 6 May 2011 17:17:56 +0000 (19:17 +0200)]
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

12 years agoAdd WB new popup prototypes
H.G. Muller [Fri, 6 May 2011 20:02:53 +0000 (22:02 +0200)]
Add WB new popup prototypes

12 years agoAdd partcipants at bottom in tourney dialog (WB)
H.G. Muller [Fri, 6 May 2011 16:58:08 +0000 (18:58 +0200)]
Add partcipants at bottom in tourney dialog (WB)

12 years agoFix range of tourneyType spin WB
H.G. Muller [Fri, 6 May 2011 16:56:53 +0000 (18:56 +0200)]
Fix range of tourneyType spin WB

12 years agoFix exit popup in tourney mode
H.G. Muller [Fri, 6 May 2011 16:15:23 +0000 (18:15 +0200)]
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.

12 years agoFix stopping of match in tourney mode
H.G. Muller [Fri, 6 May 2011 16:11:47 +0000 (18:11 +0200)]
Fix stopping of match in tourney mode

12 years agoAdd default extension in file browser
H.G. Muller [Fri, 6 May 2011 16:59:26 +0000 (18:59 +0200)]
Add default extension in file browser

12 years agoImprove sizing of comment and tags dialogs
H.G. Muller [Fri, 6 May 2011 20:37:14 +0000 (22:37 +0200)]
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.

12 years agoFix generic combobox bug
H.G. Muller [Fri, 6 May 2011 19:00:25 +0000 (21:00 +0200)]
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.

12 years agoFix PV walking in analysis mode
H.G. Muller [Sat, 7 May 2011 12:23:12 +0000 (14:23 +0200)]
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).

12 years agoLift length-limit on text-edits in WB generic popup
H.G. Muller [Mon, 2 May 2011 22:24:10 +0000 (00:24 +0200)]
Lift length-limit on text-edits in WB generic popup

12 years agoLift limitation of text length in generic dialog XB
H.G. Muller [Wed, 4 May 2011 11:53:05 +0000 (13:53 +0200)]
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.

12 years agoImplement Tournament Options dialog WinBoard
H.G. Muller [Wed, 4 May 2011 12:53:02 +0000 (14:53 +0200)]
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.

12 years agoMake option to draw second engine from first list
H.G. Muller [Wed, 4 May 2011 13:30:00 +0000 (15:30 +0200)]
Make option to draw second engine from first list

12 years agoFix error message on engine load
H.G. Muller [Mon, 2 May 2011 22:17:47 +0000 (00:17 +0200)]
Fix error message on engine load

12 years agoImplement Load Engine dialog in WinBoard
H.G. Muller [Wed, 4 May 2011 13:09:33 +0000 (15:09 +0200)]
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.

12 years agoLoad new logo on engine change WinBoard
H.G. Muller [Wed, 4 May 2011 11:43:06 +0000 (13:43 +0200)]
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.

12 years agoAllow switching off match mode through menu
H.G. Muller [Wed, 4 May 2011 11:36:27 +0000 (13:36 +0200)]
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).

12 years agoCalculate and display tourney result
H.G. Muller [Mon, 2 May 2011 22:14:22 +0000 (00:14 +0200)]
Calculate and display tourney result

12 years agoImplement Tournament Manager
H.G. Muller [Wed, 4 May 2011 16:42:13 +0000 (18:42 +0200)]
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.

12 years agoDisplay note in stead of empty engine-settings dialog XB
H.G. Muller [Wed, 4 May 2011 13:42:26 +0000 (15:42 +0200)]
Display note in stead of empty engine-settings dialog XB

12 years agoFix crash on empty Engine Settings dialog
H.G. Muller [Sun, 24 Apr 2011 16:02:20 +0000 (18:02 +0200)]
Fix crash on empty Engine Settings dialog

The generic popup was not foolproof against this.

12 years agoRefactor code for loading games and positions in match
H.G. Muller [Fri, 22 Apr 2011 10:47:24 +0000 (12:47 +0200)]
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.

12 years agoAdd callback possibility to combobox selection
H.G. Muller [Thu, 21 Apr 2011 20:37:56 +0000 (22:37 +0200)]
Add callback possibility to combobox selection

12 years agoLock game an position file during writing
H.G. Muller [Sun, 24 Apr 2011 15:15:23 +0000 (17:15 +0200)]
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.

12 years agoRemove building rule for parser.c from WB makefiles
H.G. Muller [Wed, 27 Apr 2011 15:05:06 +0000 (17:05 +0200)]
Remove building rule for parser.c from WB makefiles