Boolean saveSettingsOnExit;
char *settingsFileName;
+static int
+LoadGamePopUp (FILE *f, int gameNumber, char *title)
+{
+ cmailMsgLoaded = FALSE;
+ if (gameNumber == 0) {
+ int error = GameListBuild(f);
+ if (error) {
+ DisplayError(_("Cannot build game list"), error);
+ } else if (!ListEmpty(&gameList) &&
+ ((ListGame *) gameList.tailPred)->number > 1) {
+ GameListPopUp(f, title);
+ return TRUE;
+ }
+ GameListDestroy();
+ gameNumber = 1;
+ }
+ return LoadGame(f, gameNumber, title, FALSE);
+}
+
void
LoadGameProc ()
{
void
FlipViewProc ()
{
+ if(twoBoards) { partnerUp = 1; DrawPosition(True, NULL); partnerUp = 0; }
flipView = !flipView;
DrawPosition(True, NULL);
}
void
SaveOnExitProc ()
{
- Arg args[16];
+ saveSettingsOnExit = !saveSettingsOnExit;
- saveSettingsOnExit = !saveSettingsOnExit;
-
- MarkMenuItem("Options.SaveSettingsonExit", saveSettingsOnExit);
+ MarkMenuItem("Options.SaveSettingsonExit", saveSettingsOnExit);
}
void
SaveSettingsProc ()
{
- SaveSettings(settingsFileName);
+ SaveSettings(settingsFileName);
}
void
DebugProc ()
{
appData.debugMode = !appData.debugMode;
+ if(!strcmp(appData.nameOfDebugFile, "stderr")) return; // stderr is already open, and should never be closed
+ if(!appData.debugMode) fclose(debugFP);
+ else {
+ debugFP = fopen(appData.nameOfDebugFile, "w");
+ if(debugFP == NULL) debugFP = stderr;
+ else setbuf(debugFP, NULL);
+ }
}
void
void
PonderNextMoveProc ()
{
- Arg args[16];
-
- PonderNextMoveEvent(!appData.ponderNextMove);
- MARK_MENU_ITEM("Options.PonderNextMove", appData.ponderNextMove);
+ PonderNextMoveEvent(!appData.ponderNextMove);
+ MARK_MENU_ITEM("Options.PonderNextMove", appData.ponderNextMove);
}
void
void
HideThinkingProc ()
{
- Arg args[16];
-
- appData.hideThinkingFromHuman = !appData.hideThinkingFromHuman; // [HGM] thinking: taken out of ShowThinkingEvent
- ShowThinkingEvent();
+ appData.hideThinkingFromHuman = !appData.hideThinkingFromHuman; // [HGM] thinking: taken out of ShowThinkingEvent
+ ShowThinkingEvent();
- MARK_MENU_ITEM("Options.HideThinking", appData.hideThinkingFromHuman);
+ MARK_MENU_ITEM("Options.HideThinking", appData.hideThinkingFromHuman);
}
/*
};
MenuItem engineMenu[] = {
- {N_("Load New Engine ..."), "LoadEngine", LoadEngineProc},
+ {N_("Load New 1st Engine ..."), "LoadEngine", LoadEngine1Proc},
+ {N_("Load New 2nd Engine ..."), "LoadEngine", LoadEngine2Proc},
{"----", NULL, NothingProc},
{N_("Engine #1 Settings ..."), "Engine#1Settings", FirstSettingsProc},
{N_("Engine #2 Settings ..."), "Engine#2Settings", SecondSettingsProc},
{
int i=0;
char *p;
-#if 0
if(appData.icsActive || appData.recentEngines <= 0) return;
recentEngines = strdup(list);
while (*list) {
p = strchr(list, '\n'); if(p == NULL) break;
- if(i == 0) AppendMenuItem("----", "----", NULL); // at least one valid item to add
+ if(i == 0) AppendMenuItem("----", 0); // at least one valid item to add
*p = 0;
- AppendMenuItem(list, "recent", (MenuProc *) i);
+ AppendMenuItem(list, i);
i++; *p = '\n'; list = p + 1;
}
-#endif
}
Enables icsEnables[] = {