where each participant plays every other participant, and (multi-)gauntlets,
where one (or a few) so-called ‘gauntlet engines’ play an independent set of opponents.
In the latter case, you specify the number of gauntlet engines.
-E.g. if you specified 10 engine, and tourney type = 2,
+E.g. if you specified 10 engines, and tourney type = 2,
the first 2 engines each play the remaining 8.
A value of -1 instructs XBoard to play Swiss; for this to work an external
pairing engine must be specified through the @code{pairingEngine} option.
@itemx Rewind Index after
@cindex Game File with Opening Lines, Menu Item
@cindex File with Start Positions, Menu Item
-@itemx Game Number, Menu Item
-@itemx Position Number, Menu Item
-@itemx Rewind Index after, Menu Item
+@cindex Game Number, Menu Item
+@cindex Position Number, Menu Item
+@cindex Rewind Index after, Menu Item
These items optionally specify the file with move sequences or board positions the tourney
games should start from.
The corresponding numbers specify the number of the game or position in the file.
@cindex Replace Engine, Menu Item
@cindex Upgrade Engine, Menu Item
With these two buttons you can alter the participants of an already running tournament.
-After opening the Match Options dialog on an XBoard that iw playing fo the tourney,
+After opening the Match Options dialog on an XBoard that is playing for the tourney,
you will see all the tourney parameters in the dialog fields.
You can then replace the name of one engine by that of another
by editing the @samp{participants} field.
In this latter case the engine must not be playing when you do this,
but otherwise there is no need to pause the tournament play
for making a substitution.
+@itemx Clone Tourney
+@cindex CloneTourney, Menu Item
+Pressing this button after you have specified an existing tournament file
+will copy the contents of the latter to the dialog,
+and then puts the originally proposed name for the tourney file back.
+You can then run a tourney with the same parameters
+(possibly after changing the proposed name of the tourney file for the new tourney)
+by pressing 'OK'.
@item Load Game Options
@cindex Load Game Options, Menu Item
void CreateGCs P((int redo));
void CreateAnyPieces P((void));
int GenericReadout P((int selected));
+void GenericUpdate P((int selected));
Widget shells[10];
Widget marked[10];
Boolean shellUp[10];
Substitute(strdup(engineName), False);
}
+void
+CloneTourney ()
+{
+ FILE *f;
+ char *name;
+ GetWidgetText(currentOption, &name);
+ if(name && name[0] && (f = fopen(name, "r")) ) {
+ char *saveSaveFile;
+ saveSaveFile = appData.saveGameFile; appData.saveGameFile = NULL; // this is a persistent option, protect from change
+ ParseArgsFromFile(f);
+ engineName = appData.participants; GenericUpdate(-1);
+ FREE(appData.saveGameFile); appData.saveGameFile = saveSaveFile;
+ } else DisplayError(_("First you must specify an existing tourney file to clone"), 0);
+}
+
Option matchOptions[] = {
{ 0, 0, 0, NULL, (void*) &tfName, ".trn", NULL, FileName, N_("Tournament file:") },
{ 0, 0, 0, NULL, (void*) &appData.roundSync, "", NULL, CheckBox, N_("Sync after round (for concurrent playing of a single") },
{ 0, 0, 0, NULL, (void*) &appData.defNoBook, "", NULL, CheckBox, N_("Disable own engine books by default") },
{ 0, 0, 0, NULL, (void*) &ReplaceParticipant, NULL, NULL, Button, N_("Replace Engine") },
{ 0, 1, 0, NULL, (void*) &UpgradeParticipant, NULL, NULL, Button, N_("Upgrade Engine") },
+{ 0, 1, 0, NULL, (void*) &CloneTourney, NULL, NULL, Button, N_("Clone Tourney") },
{ 0, 1, 0, NULL, (void*) &MatchOK, "", NULL, EndMark , "" }
};