String *prms, Cardinal *nprms));
void TwoMachinesProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
+void MatchProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
+void MatchOptionsProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void IcsClientProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void EditGameProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void ShufflePopDown P(());
void TimeControlPopDown P(());
void SettingsPopDown P(());
+void GenericPopDown P(());
void update_ics_width P(());
int get_term_width P(());
int CopyMemoProc P(());
{N_("Training"), "Training", TrainingProc},
{N_("ICS Client"), "ICS Client", IcsClientProc},
{"----", NULL, NothingProc},
+ {N_("Machine Match"), "Machine Match", MatchProc},
{N_("Pause Pause"), "Pause", PauseProc},
{NULL, NULL, NULL}
};
{N_("Common Engine ... Alt+Shift+U"), "Common Engine", UciMenuProc},
{N_("Adjudications ... Alt+Shift+J"), "Adjudications", EngineMenuProc},
{N_("ICS ..."), "ICS", IcsOptionsProc},
+ {N_("Match ..."), "Match", MatchOptionsProc},
{N_("Load Game ..."), "Load Game", LoadOptionsProc},
{N_("Save Game ..."), "Save Game", SaveOptionsProc},
// {N_(" ..."), "", OptionsProc},
{ "ShufflePopDown", (XtActionProc) ShufflePopDown },
{ "TimeControlPopDown", (XtActionProc) TimeControlPopDown },
{ "SettingsPopDown", (XtActionProc) SettingsPopDown },
+ { "GenericPopDown", (XtActionProc) GenericPopDown },
{ "CopyMemoProc", (XtActionProc) CopyMemoProc },
};
{ "menuMode.Analysis Mode", False },
{ "menuMode.Analyze File", False },
{ "menuMode.Two Machines", False },
+ { "menuMode.Machine Match", False },
#ifndef ZIPPY
{ "menuEngine.Hint", False },
{ "menuEngine.Book", False },
{ "menuMode.Analysis Mode", False },
{ "menuMode.Analyze File", False },
{ "menuMode.Two Machines", False },
+ { "menuMode.Machine Match", False },
{ "menuMode.ICS Client", False },
{ "menuView.ICS Input Box", False },
{ "Action", False },
{ "menuMode.Machine White", False },
{ "menuMode.Machine Black", False },
{ "menuMode.Two Machines", False },
+ { "menuMode.Machine Match", False },
{ "menuEngine.Retract Move", False },
{ NULL, False }
};
{ "menuMode.Machine White", True },
{ "menuMode.Machine Black", True },
{ "menuMode.Two Machines", True },
+ { "menuMode.Machine Match", True },
{ "menuEngine.Retract Move", True },
{ NULL, False }
};
TwoMachinesEvent();
}
+void MatchProc(w, event, prms, nprms)
+ Widget w;
+ XEvent *event;
+ String *prms;
+ Cardinal *nprms;
+{
+ if(gameMode != BeginningOfGame) { DisplayError(_("You can only start a match from the initial position."), 0); return; }
+ matchMode = 2; // This is back-end, really\r
+ appData.matchGames = appData.defaultMatchGames;\r
+ matchGame = 1;\r
+ first.matchWins = second.matchWins = 0;\r
+ TwoMachinesEvent();
+}
+
void IcsClientProc(w, event, prms, nprms)
Widget w;
XEvent *event;