* Massachusetts.
*
* Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
*
* The following terms apply to Digital Equipment Corporation's copyright
* interest in XBoard:
Cardinal *nprms));
void AnimateMovingProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
-void AutocommProc P((Widget w, XEvent *event, String *prms,
- Cardinal *nprms));
void AutoflagProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void AutoflipProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-void AutobsProc P((Widget w, XEvent *event, String *prms,
- Cardinal *nprms));
-void AutoraiseProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-void AutosaveProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void BlindfoldProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void FlashMovesProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void FlipViewProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-void GetMoveListProc P((Widget w, XEvent *event, String *prms,
- Cardinal *nprms));
void HighlightDraggingProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void HighlightLastMoveProc P((Widget w, XEvent *event, String *prms,
void HighlightArrowProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void MoveSoundProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-void IcsAlarmProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
+//void IcsAlarmProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void OneClickProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void PeriodicUpdatesProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
Cardinal *nprms));
void PopupExitMessageProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
-void PremoveProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-void QuietPlayProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
+//void PremoveProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void ShowCoordsProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void ShowThinkingProc P((Widget w, XEvent *event, String *prms,
void FirstSettingsProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void SecondSettingsProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void GameListOptionsPopUp P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
+void LoadOptionsProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
+void SaveOptionsProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void GameListOptionsPopDown P(());
void ShufflePopDown P(());
void EnginePopDown P(());
{N_("Time Control ... Alt+Shift+T"), "Time Control", TimeControlProc},
{N_("Common Engine ... Alt+Shift+U"), "Common Engine", UciMenuProc},
{N_("Adjudications ... Alt+Shift+J"), "Adjudications", EngineMenuProc},
+ {N_("Load Game ..."), "Load Game", LoadOptionsProc},
+ {N_("Save Game ..."), "Save Game", SaveOptionsProc},
+// {N_(" ..."), "", OptionsProc},
{N_("Game List ..."), "Game List", GameListOptionsPopUp},
{"----", NULL, NothingProc},
{N_("Always Queen Ctrl+Shift+Q"), "Always Queen", AlwaysQueenProc},
{N_("Animate Dragging"), "Animate Dragging", AnimateDraggingProc},
{N_("Animate Moving Ctrl+Shift+A"), "Animate Moving", AnimateMovingProc},
- {N_("Auto Comment"), "Auto Comment", AutocommProc},
{N_("Auto Flag Ctrl+Shift+F"), "Auto Flag", AutoflagProc},
{N_("Auto Flip View"), "Auto Flip View", AutoflipProc},
- {N_("Auto Observe"), "Auto Observe", AutobsProc},
- {N_("Auto Raise Board"), "Auto Raise Board", AutoraiseProc},
- {N_("Auto Save"), "Auto Save", AutosaveProc},
{N_("Blindfold"), "Blindfold", BlindfoldProc},
{N_("Flash Moves"), "Flash Moves", FlashMovesProc},
- {N_("Get Move List"), "Get Move List", GetMoveListProc},
#if HIGHDRAG
{N_("Highlight Dragging"), "Highlight Dragging", HighlightDraggingProc},
#endif
{N_("Highlight Last Move"), "Highlight Last Move", HighlightLastMoveProc},
{N_("Highlight With Arrow"), "Arrow", HighlightArrowProc},
{N_("Move Sound"), "Move Sound", MoveSoundProc},
- {N_("ICS Alarm"), "ICS Alarm", IcsAlarmProc},
+// {N_("ICS Alarm"), "ICS Alarm", IcsAlarmProc},
{N_("One-Click Moving"), "OneClick", OneClickProc},
{N_("Periodic Updates"), "Periodic Updates", PeriodicUpdatesProc},
{N_("Ponder Next Move Ctrl+Shift+P"), "Ponder Next Move", PonderNextMoveProc},
{N_("Popup Exit Message"), "Popup Exit Message", PopupExitMessageProc},
{N_("Popup Move Errors"), "Popup Move Errors", PopupMoveErrorsProc},
- {N_("Premove"), "Premove", PremoveProc},
- {N_("Quiet Play"), "Quiet Play", QuietPlayProc},
+// {N_("Premove"), "Premove", PremoveProc},
{N_("Show Coords"), "Show Coords", ShowCoordsProc},
{N_("Hide Thinking Ctrl+Shift+H"), "Hide Thinking", HideThinkingProc},
{N_("Test Legality Ctrl+Shift+L"), "Test Legality", TestLegalityProc},
{ "ShowMoveListProc", HistoryShowProc},
{ "EditTagsProc", EditCommentProc },
{ "EditCommentProc", EditCommentProc },
- { "IcsAlarmProc", IcsAlarmProc },
{ "IcsInputBoxProc", IcsInputBoxProc },
{ "PauseProc", PauseProc },
{ "AcceptProc", AcceptProc },
{ "AnimateMovingProc", AnimateMovingProc },
{ "AutoflagProc", AutoflagProc },
{ "AutoflipProc", AutoflipProc },
- { "AutobsProc", AutobsProc },
- { "AutoraiseProc", AutoraiseProc },
- { "AutosaveProc", AutosaveProc },
{ "BlindfoldProc", BlindfoldProc },
{ "FlashMovesProc", FlashMovesProc },
{ "FlipViewProc", FlipViewProc },
- { "GetMoveListProc", GetMoveListProc },
#if HIGHDRAG
{ "HighlightDraggingProc", HighlightDraggingProc },
#endif
{ "HighlightLastMoveProc", HighlightLastMoveProc },
- { "IcsAlarmProc", IcsAlarmProc },
+// { "IcsAlarmProc", IcsAlarmProc },
{ "MoveSoundProc", MoveSoundProc },
{ "PeriodicUpdatesProc", PeriodicUpdatesProc },
{ "PonderNextMoveProc", PonderNextMoveProc },
{ "PopupExitMessageProc", PopupExitMessageProc },
{ "PopupMoveErrorsProc", PopupMoveErrorsProc },
- { "PremoveProc", PremoveProc },
- { "QuietPlayProc", QuietPlayProc },
+// { "PremoveProc", PremoveProc },
{ "ShowCoordsProc", ShowCoordsProc },
{ "ShowThinkingProc", ShowThinkingProc },
{ "HideThinkingProc", HideThinkingProc },
SaveFontArg(FILE *f, ArgDescriptor *ad)
{
char *name;
- int i, n = (int)ad->argLoc;
+ int i, n = (int)(intptr_t)ad->argLoc;
switch(n) {
case 0: // CLOCK_FONT
name = appData.clockFont;
void
SaveAttribsArg(FILE *f, ArgDescriptor *ad)
{ // here the "argLoc" defines a table index. It could have contained the 'ta' pointer itself, though
- fprintf(f, OPTCHAR "%s" SEPCHAR "%s\n", ad->argName, (&appData.colorShout)[(int)ad->argLoc]);
+ fprintf(f, OPTCHAR "%s" SEPCHAR "%s\n", ad->argName, (&appData.colorShout)[(int)(intptr_t)ad->argLoc]);
}
void
SaveColor(FILE *f, ArgDescriptor *ad)
{ // in WinBoard the color is an int and has to be converted to text. In X it would be a string already?
- if(colorVariable[(int)ad->argLoc])
- fprintf(f, OPTCHAR "%s" SEPCHAR "%s\n", ad->argName, *(char**)colorVariable[(int)ad->argLoc]);
+ if(colorVariable[(int)(intptr_t)ad->argLoc])
+ fprintf(f, OPTCHAR "%s" SEPCHAR "%s\n", ad->argName, *(char**)colorVariable[(int)(intptr_t)ad->argLoc]);
}
void
XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Animate Moving"),
args, 1);
}
- if (appData.autoComment) {
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Comment"),
- args, 1);
- }
if (appData.autoCallFlag) {
XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Flag"),
args, 1);
XtSetValues(XtNameToWidget(menuBarWidget,"menuOptions.Auto Flip View"),
args, 1);
}
- if (appData.autoObserve) {
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Observe"),
- args, 1);
- }
- if (appData.autoRaiseBoard) {
- XtSetValues(XtNameToWidget(menuBarWidget,
- "menuOptions.Auto Raise Board"), args, 1);
- }
- if (appData.autoSaveGames) {
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Save"),
- args, 1);
- }
- if (appData.saveGameFile[0] != NULLCHAR) {
- /* Can't turn this off from menu */
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Save"),
- args, 1);
- XtSetSensitive(XtNameToWidget(menuBarWidget, "menuOptions.Auto Save"),
- False);
-
- }
if (appData.blindfold) {
XtSetValues(XtNameToWidget(menuBarWidget,
"menuOptions.Blindfold"), args, 1);
"menuOptions.Flash Moves"),
args, 1);
}
- if (appData.getMoveList) {
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Get Move List"),
- args, 1);
- }
#if HIGHDRAG
if (appData.highlightDragging) {
XtSetValues(XtNameToWidget(menuBarWidget,
"menuOptions.Arrow"),
args, 1);
}
- if (appData.icsAlarm) {
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.ICS Alarm"),
- args, 1);
- }
+// if (appData.icsAlarm) {
+// XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.ICS Alarm"),
+// args, 1);
+// }
if (appData.ringBellAfterMoves) {
XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Move Sound"),
args, 1);
XtSetValues(XtNameToWidget(menuBarWidget,
"menuOptions.Popup Move Errors"), args, 1);
}
- if (appData.premove) {
- XtSetValues(XtNameToWidget(menuBarWidget,
- "menuOptions.Premove"), args, 1);
- }
- if (appData.quietPlay) {
- XtSetValues(XtNameToWidget(menuBarWidget,
- "menuOptions.Quiet Play"), args, 1);
- }
+// if (appData.premove) {
+// XtSetValues(XtNameToWidget(menuBarWidget,
+// "menuOptions.Premove"), args, 1);
+// }
if (appData.showCoords) {
XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Show Coords"),
args, 1);
{ "menuEngine.Engine #2 Settings", False },
{ "menuEngine.Move Now", False },
{ "menuEngine.Retract Move", False },
- { "menuOptions.Auto Comment", False },
{ "menuOptions.Auto Flag", False },
{ "menuOptions.Auto Flip View", False },
- { "menuOptions.Auto Observe", False },
- { "menuOptions.Auto Raise Board", False },
- { "menuOptions.Get Move List", False },
- { "menuOptions.ICS Alarm", False },
+// { "menuOptions.ICS Alarm", False },
{ "menuOptions.Move Sound", False },
- { "menuOptions.Quiet Play", False },
{ "menuOptions.Hide Thinking", False },
{ "menuOptions.Periodic Updates", False },
{ "menuOptions.Ponder Next Move", False },
{ "menuAction.Upload to Examine", False },
{ "menuEdit.Revert", False },
{ "menuEdit.Annotate", False },
- { "menuOptions.Auto Comment", False },
- { "menuOptions.Auto Observe", False },
- { "menuOptions.Auto Raise Board", False },
- { "menuOptions.Get Move List", False },
- { "menuOptions.Premove", False },
- { "menuOptions.Quiet Play", False },
/* The next two options rely on SetCmailMode being called *after* */
/* SetGNUMode so that when GNU is being used to give hints these */
}
}
+ fclose(fp);
+
/* create Pixmap of piece */
*dest = XCreatePixmap(xDisplay, DefaultRootWindow(xDisplay),
w, h, xim->depth);
String *prms;
Cardinal *nprms;
{
- if (gameMode == EditPosition || gameMode == IcsExamining) {
- SetWhiteToPlayEvent();
- } else if (gameMode == IcsPlayingBlack || gameMode == MachinePlaysWhite) {
- CallFlagEvent();
- }
+ ClockClick(0);
}
void BlackClock(w, event, prms, nprms)
String *prms;
Cardinal *nprms;
{
- if (gameMode == EditPosition || gameMode == IcsExamining) {
- SetBlackToPlayEvent();
- } else if (gameMode == IcsPlayingWhite || gameMode == MachinePlaysBlack) {
- CallFlagEvent();
- }
+ ClockClick(1);
}
}
break;
}
- if(appData.upsideDown && flipView) kind ^= 2; // swap white and black pieces
+ if(appData.upsideDown && flipView) { kind ^= 2; p += p < BlackPawn ? BlackPawn : -BlackPawn; }// swap white and black pieces
if(useTexture & square_color+1) {
BlankSquare(x, y, square_color, piece, dest, 1); // erase previous contents with background
XSetClipMask(xDisplay, wlPieceGC, xpmMask[p]);
* but this causes a very distracting flicker.
*/
- if ( lineGap && IsDrawArrowEnabled()) repaint = True;
if (!repaint && lastBoardValid[nr] && (nr == 1 || lastFlipView == flipView)) {
+ if ( lineGap && IsDrawArrowEnabled())
+ XDrawSegments(xDisplay, xBoardWindow, lineGC,
+ gridSegments, BOARD_HEIGHT + BOARD_WIDTH + 2);
+
/* If too much changes (begin observing new game, etc.), don't
do flashing */
do_flash = too_many_diffs(board, lastBoard[nr]) ? 0 : 1;
XTranslateCoordinates(xDisplay, XtWindow(shellWidget),
RootWindowOfScreen(XtScreen(shellWidget)),
(bw_width - w) / 2, 0 - h / 2, &xx, &yy, &junk);
-#endif /*!NOTDEF*/
x = xx;
y = yy;
+#endif /*!NOTDEF*/
if (y < 0) y = 0; /*avoid positioning top offscreen*/
j = 0;
rewind(f);
selection_tmp = XtMalloc(len + 1);
count = fread(selection_tmp, 1, len, f);
+ fclose(f);
if (len != count) {
XtFree(selection_tmp);
return False;
args, 1);
}
-void AutocommProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- Arg args[16];
-
- appData.autoComment = !appData.autoComment;
-
- if (appData.autoComment) {
- XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
- } else {
- XtSetArg(args[0], XtNleftBitmap, None);
- }
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Comment"),
- args, 1);
-}
-
-
void AutoflagProc(w, event, prms, nprms)
Widget w;
XEvent *event;
args, 1);
}
-void AutobsProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- Arg args[16];
-
- appData.autoObserve = !appData.autoObserve;
-
- if (appData.autoObserve) {
- XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
- } else {
- XtSetArg(args[0], XtNleftBitmap, None);
- }
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Observe"),
- args, 1);
-}
-
-void AutoraiseProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- Arg args[16];
-
- appData.autoRaiseBoard = !appData.autoRaiseBoard;
-
- if (appData.autoRaiseBoard) {
- XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
- } else {
- XtSetArg(args[0], XtNleftBitmap, None);
- }
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Raise Board"),
- args, 1);
-}
-
-void AutosaveProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- Arg args[16];
-
- appData.autoSaveGames = !appData.autoSaveGames;
-
- if (appData.autoSaveGames) {
- XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
- } else {
- XtSetArg(args[0], XtNleftBitmap, None);
- }
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Auto Save"),
- args, 1);
-}
-
void BlindfoldProc(w, event, prms, nprms)
Widget w;
XEvent *event;
DrawPosition(True, NULL);
}
-void GetMoveListProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- Arg args[16];
-
- appData.getMoveList = !appData.getMoveList;
-
- if (appData.getMoveList) {
- XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
- GetMoveListEvent();
- } else {
- XtSetArg(args[0], XtNleftBitmap, None);
- }
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Get Move List"),
- args, 1);
-}
-
#if HIGHDRAG
void HighlightDraggingProc(w, event, prms, nprms)
Widget w;
"menuOptions.Arrow"), args, 1);
}
+#if 0
void IcsAlarmProc(w, event, prms, nprms)
Widget w;
XEvent *event;
XtSetValues(XtNameToWidget(menuBarWidget,
"menuOptions.ICS Alarm"), args, 1);
}
+#endif
void MoveSoundProc(w, event, prms, nprms)
Widget w;
args, 1);
}
+#if 0
void PremoveProc(w, event, prms, nprms)
Widget w;
XEvent *event;
XtSetValues(XtNameToWidget(menuBarWidget,
"menuOptions.Premove"), args, 1);
}
-
-void QuietPlayProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- Arg args[16];
-
- appData.quietPlay = !appData.quietPlay;
-
- if (appData.quietPlay) {
- XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
- } else {
- XtSetArg(args[0], XtNleftBitmap, None);
- }
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Quiet Play"),
- args, 1);
-}
+#endif
void ShowCoordsProc(w, event, prms, nprms)
Widget w;
{
Pixmap mask;
+ if(appData.upsideDown && flipView) piece += piece < BlackPawn ? BlackPawn : -BlackPawn;
/* The old buffer is initialised with the start square (empty) */
BlankSquare(start->x, start->y, startColor, EmptySquare, anim->saveBuf, 0);
anim->prevFrame = *start;
DrawArrowBetweenPoints( s_x, s_y, d_x, d_y );
- if(lineGap == 0) {
- // this is a good idea, but it only works when lineGap == 0, because 'damage' on grid lines is not repaired
- hor = 64*s_col + 32; vert = 64*s_row + 32;
- for(i=0; i<= 64; i++) {
+ hor = 64*s_col + 32; vert = 64*s_row + 32;
+ for(i=0; i<= 64; i++) {
damage[0][vert+6>>6][hor+6>>6] = True;
damage[0][vert-6>>6][hor+6>>6] = True;
damage[0][vert+6>>6][hor-6>>6] = True;
damage[0][vert-6>>6][hor-6>>6] = True;
hor += d_col - s_col; vert += d_row - s_row;
- }
}
}