xboard.git
13 years agoFix crash at end of Swiss tourney
H.G. Muller [Wed, 8 Jun 2011 18:26:28 +0000]
Fix crash at end of Swiss tourney

13 years agoFix display of logos
H.G. Muller [Wed, 8 Jun 2011 15:33:34 +0000]
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.

13 years agoFix parameter handling in adapter command
H.G. Muller [Wed, 8 Jun 2011 16:02:31 +0000]
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.

13 years agoClear Engine-Output pane when initializing engine
H.G. Muller [Wed, 8 Jun 2011 15:16:54 +0000]
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.

13 years agoFix display of last move of last match game
H.G. Muller [Wed, 8 Jun 2011 15:20:01 +0000]
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...)

13 years agoFix concurrency in Swiss tourneys
H.G. Muller [Wed, 8 Jun 2011 15:38:43 +0000]
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. :-(

13 years agoGive error popup when pairing engine fails
H.G. Muller [Wed, 8 Jun 2011 15:27:01 +0000]
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.

13 years agoFix clock mode in tourney starting from -ncp mode
H.G. Muller [Wed, 8 Jun 2011 15:24:41 +0000]
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.

13 years agoFix round-robin schedule
H.G. Muller [Wed, 8 Jun 2011 15:11:31 +0000]
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.

13 years agoFix interrupting tournament
H.G. Muller [Wed, 8 Jun 2011 15:08:55 +0000]
Fix interrupting tournament

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

13 years agoImprove quoting of engine name on install
H.G. Muller [Wed, 8 Jun 2011 14:57:09 +0000]
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).

13 years agoPrint sensible window title during tourneys
H.G. Muller [Wed, 8 Jun 2011 14:49:18 +0000]
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).

13 years agoLet XBoard propose name of tourney file
H.G. Muller [Wed, 8 Jun 2011 14:44:16 +0000]
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.

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

13 years agoFix -matchGames option
H.G. Muller [Wed, 8 Jun 2011 15:05:02 +0000]
Fix -matchGames option

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

13 years agoFixed small bugs in several .po files, enabling these translations to
Tim Mann [Tue, 31 May 2011 02:55:13 +0000]
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
  utf8.

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
Translate.

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.

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

13 years agoAdd a final wildcard default for fonts. This gives XCreateFontSet
Tim Mann [Mon, 30 May 2011 20:21:06 +0000]
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.

13 years agoAdded "misc-fixed" as a fallback font to handle locales where
Tim Mann [Mon, 30 May 2011 03:14:37 +0000]
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.

13 years agotranslation: activated Ukrainian translation
Arun Persaud [Sun, 29 May 2011 06:55:42 +0000]
translation: activated Ukrainian translation

13 years agotranslation: added new Ukrainian PO file from the TP
Arun Persaud [Sun, 29 May 2011 06:41:24 +0000]
translation: added new Ukrainian PO file from the TP

13 years agoFix display of international characters outside the ASCII range.
Tim Mann [Sun, 29 May 2011 04:07:08 +0000]
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.

13 years agoMove "hide thinking" option into alphabetical order.
Tim Mann [Sun, 29 May 2011 04:05:00 +0000]
Move "hide thinking" option into alphabetical order.

13 years agoFix a size mismatch in scanf. Untested, but the code could not have
Tim Mann [Sun, 29 May 2011 04:01:25 +0000]
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.

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

13 years agoFix ArgTwo warnings
H.G. Muller [Mon, 23 May 2011 17:03:56 +0000]
Fix ArgTwo warnings

13 years agoAdd Swiss tourneys through pairing engine
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.

13 years agoAllow generic dialog to ignore OK
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!

13 years agoFix CR in multi-line WinBoard text-edits
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.

13 years agoLet mentioning completed tourney file add one cycle
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.

13 years agoMake engine startup failure non-fatal in WinBoard
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.

13 years agoAdd secondry adapter command for UCCI or USI
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.

13 years agoObey san feature when sending book moves
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.

13 years agoFix initialization of engine state
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.

13 years agoTake account of holdings in book key
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).

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

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

13 years agoAdapt default directory of lng2po
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.

13 years agoRecode some po files
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.

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

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

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

13 years agoAdd -userFileDirectory option
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.

13 years agoAdd option -absoluteAnalysisScores
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.

13 years agoAutomatically play moves of clicked PV in analyze mode
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.

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

13 years agoFix vscrolling in XBoard Engine-Output window
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.

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

13 years agoAllow changing MultiPV setting from Engine-Output window
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.)

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

13 years agoupdated xboard.pot with released version
Arun Persaud [Sun, 8 May 2011 06:27:50 +0000]
updated xboard.pot with released version

13 years agonew developer release
Arun Persaud [Sun, 8 May 2011 05:56:53 +0000]
new developer release

13 years agoupdated ChangeLog, NEWS, etc.
Arun Persaud [Sun, 8 May 2011 05:54:29 +0000]
updated ChangeLog, NEWS, etc.

13 years agodeactivated new languages for the moment...
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

13 years agoadded translations generated via lng2po from all winboard languages
Arun Persaud [Sun, 8 May 2011 01:44:24 +0000]
added translations generated via lng2po from all winboard languages

13 years agolng2po.sh: added command line options, GPL header
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

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

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

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

13 years agoMake book-edit function WB
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.

13 years agoFix resetting engine options
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.

13 years agoAdd -first/secondPgnName option
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.

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

13 years agoSave time-control settings in tourney file
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.

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

13 years agoPlug memory leak, filenames relative to installDir
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.

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

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

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

13 years agoFix exit popup in tourney mode
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.

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

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

13 years agoImprove sizing of comment and tags dialogs
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.

13 years agoFix generic combobox bug
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.

13 years agoFix PV walking in analysis mode
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).

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

13 years agoLift limitation of text length in generic dialog XB
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.

13 years agoImplement Tournament Options dialog WinBoard
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.

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

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

13 years agoImplement Load Engine dialog in WinBoard
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.

13 years agoLoad new logo on engine change WinBoard
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.

13 years agoAllow switching off match mode through menu
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).

13 years agoCalculate and display tourney result
H.G. Muller [Mon, 2 May 2011 22:14:22 +0000]
Calculate and display tourney result

13 years agoImplement Tournament Manager
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.

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

13 years agoFix crash on empty Engine Settings dialog
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.

13 years agoRefactor code for loading games and positions in match
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.

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

13 years agoLock game an position file during writing
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.

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

13 years agoFix Engine Settings buttons in WinBoard
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.

13 years agoImplement flock in WinBoard
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.

13 years agoFix grayout XB Match Options in ICS mode
H.G. Muller [Fri, 29 Apr 2011 21:06:43 +0000]
Fix grayout XB Match Options in ICS mode

13 years agoDelay loading of second engine until it is used
H.G. Muller [Mon, 2 May 2011 22:22:40 +0000]
Delay loading of second engine until it is used

13 years agoFix zippy bughouse partner bug
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.

13 years agoSilence more rpm warnings
H.G. Muller [Wed, 4 May 2011 08:59:43 +0000]
Silence more rpm warnings

13 years agoFix warnings XBoard file browser
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.

13 years agoFix some warnings and header-file improvement
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.

13 years agoCreate conversion tools for language files
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).