[packages/xboard] - updated to 4.9.1 - removed outdated lowtime-warning,hilight-threatened-pieces,xtname,default-progr

qboosh qboosh at pld-linux.org
Fri Sep 2 21:25:10 CEST 2016


commit 1e6aa2c9a648f165abad83bda9d5ed94df91ea3f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Sep 2 21:26:21 2016 +0200

    - updated to 4.9.1
    - removed outdated lowtime-warning,hilight-threatened-pieces,xtname,default-program patches
    - use upstream .desktop and .png files

 xboard-default-program.patch           |  11 -
 xboard-hilight-threatened-pieces.patch | 499 ---------------------------------
 xboard-lowtime-warning.patch           | 174 ------------
 xboard-xtname.patch                    |  41 ---
 xboard.desktop                         |  57 ----
 xboard.png                             | Bin 2867 -> 0 bytes
 xboard.spec                            |  73 ++---
 7 files changed, 40 insertions(+), 815 deletions(-)
---
diff --git a/xboard.spec b/xboard.spec
index 002bec7..8da88f9 100644
--- a/xboard.spec
+++ b/xboard.spec
@@ -8,24 +8,27 @@ Summary(ru.UTF-8):	Графический (X11) интерфейс к шахма
 Summary(tr.UTF-8):	GNU Chess (satranç) oyununa X11 grafik arabirimi
 Summary(uk.UTF-8):	Графічний (X11) інтерфейс до шахових програм
 Name:		xboard
-Version:	4.2.7
-Release:	7
-License:	GPL
+Version:	4.9.1
+Release:	1
+License:	GPL v3+
 Group:		X11/Applications/Games
 Source0:	http://ftp.gnu.org/gnu/xboard/%{name}-%{version}.tar.gz
-# Source0-md5:	b70ad8ff7569975302c5fb402d5eea32
-Source1:	%{name}.desktop
-Source2:	%{name}.png
+# Source0-md5:	93d7475bbd69a06ff9cce7add5636beb
 Patch0:		%{name}-info.patch
-Patch1:		%{name}-lowtime-warning.patch
-Patch2:		%{name}-hilight-threatened-pieces.patch
-Patch3:		%{name}-xtname.patch
-Patch4:		%{name}-default-program.patch
 URL:		http://www.tim-mann.org/xboard.html
-BuildRequires:	automake
+BuildRequires:	cairo-devel >= 1.2.0
+BuildRequires:	gettext-tools >= 0.17
+BuildRequires:	gtk+2-devel >= 2:2.16.0
+BuildRequires:	librsvg-devel >= 2.14.0
+# pangocairo
+BuildRequires:	pango-devel
+BuildRequires:	perl-base
+BuildRequires:	pkgconfig
 BuildRequires:	texinfo
-Suggests:	gnuchess
 Suggests:	crafty
+# TODO: package (now it's default program)
+#Suggests:	fairymax
+Suggests:	gnuchess
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -82,53 +85,57 @@ записами ігор.
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p0
 
 %build
-cp -f /usr/share/automake/config.sub .
-%configure
+%configure \
+	--disable-silent-rules
 %{__make}
 
 %{__make} info
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
 
 %{__make} install \
-	prefix=$RPM_BUILD_ROOT%{_prefix} \
-	bindir=$RPM_BUILD_ROOT%{_bindir} \
-	man6dir=$RPM_BUILD_ROOT%{_mandir}/man6 \
-	infodir=$RPM_BUILD_ROOT%{_infodir}
+	DESTDIR=$RPM_BUILD_ROOT
+
+install -p cmail $RPM_BUILD_ROOT%{_bindir}
 
 echo '.so xboard.6' > $RPM_BUILD_ROOT%{_mandir}/man6/cmail.6
 echo '.so xboard.6' > $RPM_BUILD_ROOT%{_mandir}/man6/pxboard.6
 
-install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
-install %{SOURCE2} $RPM_BUILD_ROOT%{_pixmapsdir}
+# engines integration files (see {gtk,xaw}/xboard.c)
+install -d $RPM_BUILD_ROOT%{_datadir}/games/plugins/{logos,xboard}
+
+%find_lang %{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post	-p	/sbin/postshell
+%post	-p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
-%postun	-p	/sbin/postshell
+%postun	-p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
-%files
+%files -f %{name}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/cmail
-%attr(755,root,root) %{_bindir}/pxboard
 %attr(755,root,root) %{_bindir}/xboard
-%attr(755,root,root) %{_bindir}/zic2xpm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xboard.conf
+%{_datadir}/games/xboard
+%dir %{_datadir}/games/plugins
+%dir %{_datadir}/games/plugins/logos
+%dir %{_datadir}/games/plugins/xboard
+%{_datadir}/mime/packages/xboard.xml
+%{_desktopdir}/xboard.desktop
+%{_desktopdir}/xboard-config.desktop
+%{_desktopdir}/xboard-fen-viewer.desktop
+%{_desktopdir}/xboard-pgn-viewer.desktop
+%{_desktopdir}/xboard-tourney.desktop
+%{_iconsdir}/hicolor/48x48/apps/xboard.png
+%{_iconsdir}/hicolor/scalable/apps/xboard.svg
 %{_mandir}/man6/cmail.6*
 %{_mandir}/man6/pxboard.6*
 %{_mandir}/man6/xboard.6*
-%{_mandir}/man6/zic2xpm.6*
 %{_infodir}/xboard.info*
-%{_desktopdir}/*.desktop
-%{_pixmapsdir}/*
diff --git a/xboard-default-program.patch b/xboard-default-program.patch
deleted file mode 100644
index 34c8f72..0000000
--- a/xboard-default-program.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xboard.old	2002-04-13 19:44:26.000000000 -0700
-+++ xboard.h	2002-04-13 19:44:08.000000000 -0700
-@@ -100,7 +100,7 @@
- 
- #define BORDER_X_OFFSET 3
- #define BORDER_Y_OFFSET 27
--#define FIRST_CHESS_PROGRAM	"gnuchessx"
-+#define FIRST_CHESS_PROGRAM	"gnuchess"
- #define SECOND_CHESS_PROGRAM	"gnuchessx"
- 
- /* Default to no flashing (the "usual" XBoard behavior) */
diff --git a/xboard-hilight-threatened-pieces.patch b/xboard-hilight-threatened-pieces.patch
deleted file mode 100644
index e29cbd2..0000000
--- a/xboard-hilight-threatened-pieces.patch
+++ /dev/null
@@ -1,499 +0,0 @@
---- xboard-4.2.7/common.h.hilite	2005-06-03 09:04:12.000000000 +0800
-+++ xboard-4.2.7/common.h	2005-06-03 09:33:57.000000000 +0800
-@@ -130,6 +130,8 @@ int pclose(FILE *);
- #define DARK_SQUARE_COLOR	"#77A26D"
- #define JAIL_SQUARE_COLOR       "#808080"
- #define HIGHLIGHT_SQUARE_COLOR	"#FFFF00"
-+#define MOVE_SQUARE_COLOR	    "#4C00FF"
-+#define THREATENED_SQUARE_COLOR	"#D80000"
- #define PREMOVE_HIGHLIGHT_COLOR	"#FF0000"
- #define BELLCHAR                '\007'
- #define NULLCHAR                '\000'
-@@ -265,6 +267,8 @@ typedef struct {
-     char *darkSquareColor;
-     char *jailSquareColor;
-     char *highlightSquareColor;
-+    char *moveSquareColor;
-+    char *threatenedSquareColor;
-     char *premoveHighlightColor;
- #else
-     int whitePieceColor;
-@@ -273,6 +277,7 @@ typedef struct {
-     int darkSquareColor;
-     int jailSquareColor;
-     int highlightSquareColor;
-+    int moveSquareColor;
-     int premoveHighlightColor;
- #endif
-     int movesPerSession;
-@@ -424,6 +429,8 @@ typedef struct {
-     char *zippyVariants;
-     int zippyMaxGames;
-     int zippyReplayTimeout; /*seconds*/
-+	Boolean showLegalMoves;
-+	Boolean showThreatenedPieces;
- #endif
- #if LOWTIMEWARNING
-   char *lowTimeWarningColor;
---- xboard-4.2.7/xboard.h.hilite	2005-06-03 09:04:12.000000000 +0800
-+++ xboard-4.2.7/xboard.h	2005-06-03 09:33:57.000000000 +0800
-@@ -113,6 +113,7 @@ typedef struct {
- 
- typedef int (*FileProc) P((FILE *f, int n, char *title));
- void CatchDeleteWindow(Widget w, String procname);
-+void ShowThreatenedPieces(Board board);
- 
- #define TOPLEVEL 1 /* preference item; 1 = make popup windows toplevel */
- 
---- xboard-4.2.7/xboard.c.hilite	2005-06-03 09:04:12.000000000 +0800
-+++ xboard-4.2.7/xboard.c	2005-06-03 09:45:55.000000000 +0800
-@@ -185,6 +185,7 @@ extern char *getenv();
- #include "common.h"
- #include "frontend.h"
- #include "backend.h"
-+#include "backendz.h"
- #include "moves.h"
- #include "xboard.h"
- #include "childio.h"
-@@ -385,6 +386,10 @@ void ShowThinkingProc P((Widget w, XEven
- 			 Cardinal *nprms));
- void TestLegalityProc P((Widget w, XEvent *event, String *prms,
- 			  Cardinal *nprms));
-+void ShowLegalMovesProc P((Widget w, XEvent *event, String *prms,
-+              Cardinal *nprms));
-+void ShowThreatenedPiecesProc P((Widget w, XEvent *event, String *prms,
-+              Cardinal *nprms));
- void InfoProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
- void ManProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
- void HintProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-@@ -408,6 +413,9 @@ static void DragPieceEnd P((int x, int y
- static void DrawDragPiece P((void));
- char *ModeToWidgetName P((GameMode mode));
- 
-+static void ShowLegalPieceSquares(int boardX,int boardY);
-+static void UnShowLegalPieceSquares();
-+
- /*
- * XBoard depends on Xt R4 or higher
- */
-@@ -417,6 +425,7 @@ int xScreen;
- Display *xDisplay;
- Window xBoardWindow;
- Pixel lightSquareColor, darkSquareColor, whitePieceColor, blackPieceColor,
-+  moveSquareColor, threatenedSquareColor,
-   jailSquareColor, highlightSquareColor, premoveHighlightColor;
- #if LOWTIMEWARNING
- Pixel lowTimeWarningColor;
-@@ -608,6 +617,8 @@ MenuItem optionsMenu[] = {
-     {"Show Coords", ShowCoordsProc},
-     {"Show Thinking", ShowThinkingProc},
-     {"Test Legality", TestLegalityProc},
-+    {"Show Legal Moves",ShowLegalMovesProc},
-+    {"Show Threatened Pieces",ShowThreatenedPiecesProc},
-     {NULL, NULL}
- };
- 
-@@ -742,6 +753,12 @@ XtResource clientResources[] = {
-     { "highlightSquareColor", "highlightSquareColor", XtRString,
- 	sizeof(String),	XtOffset(AppDataPtr, highlightSquareColor),
- 	XtRString, HIGHLIGHT_SQUARE_COLOR },
-+    { "moveSquareColor", "moveSquareColor", XtRString,
-+    sizeof(String), XtOffset(AppDataPtr, moveSquareColor),
-+    XtRString, MOVE_SQUARE_COLOR },
-+    { "threatenedSquareColor", "threatenedSquareColor", XtRString,
-+    sizeof(String), XtOffset(AppDataPtr, threatenedSquareColor),
-+    XtRString, THREATENED_SQUARE_COLOR },
-     { "premoveHighlightColor", "premoveHighlightColor", XtRString,
- 	sizeof(String),	XtOffset(AppDataPtr, premoveHighlightColor),
- 	XtRString, PREMOVE_HIGHLIGHT_COLOR },
-@@ -1155,6 +1172,8 @@ XrmOptionDescRec shellOptions[] = {
-     { "-lightSquareColor", "lightSquareColor", XrmoptionSepArg, NULL },
-     { "-darkSquareColor", "darkSquareColor", XrmoptionSepArg, NULL },
-     { "-highlightSquareColor", "highlightSquareColor", XrmoptionSepArg, NULL },
-+    { "-moveSquareColor", "moveSquareColor", XrmoptionSepArg, NULL },
-+    { "-threatenedSquareColor", "threatenedSquareColor", XrmoptionSepArg, NULL },
-     { "-premoveHighlightColor", "premoveHighlightColor", XrmoptionSepArg,NULL},
-     { "-movesPerSession", "movesPerSession", XrmoptionSepArg, NULL },
-     { "-mps", "movesPerSession", XrmoptionSepArg, NULL },
-@@ -1537,6 +1556,7 @@ XtActionsRec boardActions[] = {
-     { "ShowCoordsProc", ShowCoordsProc },
-     { "ShowThinkingProc", ShowThinkingProc },
-     { "TestLegalityProc", TestLegalityProc },
-+    { "ShowLegalMovesProc", ShowLegalMovesProc },
-     { "InfoProc", InfoProc },
-     { "ManProc", ManProc },
-     { "HintProc", HintProc },
-@@ -2097,6 +2117,30 @@ main(argc, argv)
-     }
- 
-     if (!appData.monoMode) {
-+    vFrom.addr = (caddr_t) appData.moveSquareColor;
-+    vFrom.size = strlen(appData.moveSquareColor);
-+    XtConvert(shellWidget, XtRString, &vFrom, XtRPixel, &vTo);
-+    if (vTo.addr == NULL) {
-+      appData.monoMode = True;
-+      forceMono = True;
-+    } else {
-+      moveSquareColor = *(Pixel *) vTo.addr;
-+    }
-+    }
-+
-+    if (!appData.monoMode) {
-+    vFrom.addr = (caddr_t) appData.threatenedSquareColor;
-+    vFrom.size = strlen(appData.threatenedSquareColor);
-+    XtConvert(shellWidget, XtRString, &vFrom, XtRPixel, &vTo);
-+    if (vTo.addr == NULL) {
-+      appData.monoMode = True;
-+      forceMono = True;
-+    } else {
-+      threatenedSquareColor = *(Pixel *) vTo.addr;
-+    }
-+    }
-+
-+    if (!appData.monoMode) {
- 	vFrom.addr = (caddr_t) appData.premoveHighlightColor;
- 	vFrom.size = strlen(appData.premoveHighlightColor);
- 	XtConvert(shellWidget, XtRString, &vFrom, XtRPixel, &vTo);
-@@ -4315,6 +4359,7 @@ void XDrawPosition(w, repaint, board)
- 
-     /* If piece being dragged around board, must redraw that too */
-     DrawDragPiece();
-+    ShowThreatenedPieces(board);
- 
-     XSync(xDisplay, False);
- }
-@@ -6306,6 +6351,43 @@ void BlindfoldProc(w, event, prms, nprms
-     DrawPosition(True, NULL);
- }
- 
-+/* show legal moves on board when moving/dragging a piece */
-+void ShowLegalMovesProc(w, event, prms, nprms)
-+     Widget w;
-+     XEvent *event;
-+     String *prms;
-+     Cardinal *nprms;
-+{
-+    Arg args[16];
-+    appData.showLegalMoves = !appData.showLegalMoves;
-+
-+    if (appData.showLegalMoves) {
-+    XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
-+    } else {
-+    XtSetArg(args[0], XtNleftBitmap, None);
-+    }
-+    XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Show Legal Moves"),
-+        args, 1);
-+}
-+
-+void ShowThreatenedPiecesProc(w, event, prms, nprms)
-+     Widget w;
-+     XEvent *event;
-+     String *prms;
-+     Cardinal *nprms;
-+{
-+    Arg args[16];
-+    appData.showThreatenedPieces = !appData.showThreatenedPieces;
-+
-+    if (appData.showThreatenedPieces) {
-+    XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
-+    } else {
-+    XtSetArg(args[0], XtNleftBitmap, None);
-+    }
-+    XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Show Threatened Pieces"),
-+        args, 1);
-+}
-+
- void TestLegalityProc(w, event, prms, nprms)
-      Widget w;
-      XEvent *event;
-@@ -8344,6 +8426,7 @@ EndAnimation (anim, finish)
- 		0, 0, squareSize, squareSize,
- 		anim->prevFrame.x, anim->prevFrame.y);
-   }
-+    
- }
- 
- static void
-@@ -8464,6 +8547,10 @@ DragPieceBegin(x, y)
-     if (player.dragPiece >= 0 && player.dragPiece < EmptySquare) {
- 	player.dragActive = True;
- 	BeginAnimation(&player, player.dragPiece, color, &corner);
-+
-+    /* show the squares where this piece can be legally moved */
-+    ShowLegalPieceSquares(fromX,fromY);
-+
- 	/* Mark this square as needing to be redrawn. Note that
- 	   we don't remove the piece though, since logically (ie
- 	   as seen by opponent) the move hasn't been made yet. */
-@@ -8473,6 +8560,93 @@ DragPieceBegin(x, y)
-     }
- }
- 
-+/* squares that are highlighted from moving a piece */
-+static int xHighlights[BOARD_SIZE*BOARD_SIZE];
-+static int yHighlights[BOARD_SIZE*BOARD_SIZE];
-+
-+/* highlight squares where legal moves can be made by current piece */
-+static void ShowLegalPieceSquares(boardX,boardY)
-+    int boardX;int boardY;
-+{
-+
-+    int  x, y, currHighlight = 0, i = 0;
-+
-+    if ( ! appData.showLegalMoves ) return;
-+
-+    for ( i = 0 ; i < BOARD_SIZE; i++ )
-+    {
-+        xHighlights[i] = -1;
-+        yHighlights[i] = -1;
-+    }
-+    
-+    for ( x = 0; x < BOARD_SIZE ; x++)
-+    {
-+        for ( y = 0 ; y < BOARD_SIZE; y++)
-+        {
-+            int legalmove = LegalityTest(boards[currentMove],
-+                                         PosFlags(currentMove),
-+                                         EP_UNKNOWN, fromY, fromX, y,x,0);
-+#ifdef DEBUG_MOVE_PIECES
-+            printf("Move from %d %d to %d %d == %s - currentMove = %d\n",fromX,fromY,x,y,(legalmove == IllegalMove || legalmove == ImpossibleMove)?"Illegal move":"Legal move",currentMove);
-+
-+#endif
-+
-+            if ( legalmove != IllegalMove && legalmove != ImpossibleMove)
-+            {
-+                XtGCMask value_mask = GCLineWidth | GCLineStyle | GCForeground
-+                                    | GCBackground | GCFunction | GCPlaneMask;
-+                XGCValues gc_values;
-+                gc_values.plane_mask = AllPlanes;
-+                gc_values.line_width = lineGap;
-+                gc_values.line_style = LineSolid;
-+                gc_values.function = GXcopy;
-+
-+#ifdef DEBUG_MOVE_PIECES
-+                printf("Highlight x = %d y = %d\n",x,y);
-+#endif
-+                gc_values.foreground = moveSquareColor;
-+                gc_values.background = moveSquareColor;
-+
-+                drawHighlight(x,y,XtGetGC(shellWidget, value_mask, &gc_values));
-+                xHighlights[currHighlight] = x;
-+                yHighlights[currHighlight] = y;
-+                currHighlight++;
-+            }
-+        }
-+    }
-+}
-+
-+/* remove highlights from squares that were highlighted
-+   as a result of picking up a piece and showing the legal moves */
-+static void UnShowLegalPieceSquares()
-+{
-+    int i = 0;
-+    GC clearpieceGC;
-+    XtGCMask value_mask = GCLineWidth | GCLineStyle | GCForeground
-+                                    | GCBackground | GCFunction | GCPlaneMask;
-+    XGCValues gc_values;
-+    if ( ! appData.showLegalMoves ) return;
-+
-+    gc_values.plane_mask = AllPlanes;
-+    gc_values.line_width = lineGap;
-+    gc_values.line_style = LineSolid;
-+    gc_values.function = GXcopy;
-+
-+    gc_values.foreground = jailSquareColor;
-+    gc_values.background = jailSquareColor;
-+
-+    for ( i = 0 ; i < BOARD_SIZE*BOARD_SIZE && xHighlights[i] != -1 && yHighlights[i] != -1; i++ )
-+    {
-+        clearpieceGC = XtGetGC(shellWidget, value_mask, &gc_values);    
-+#ifdef DEBUG_MOVE_PIECES
-+        printf("Erasing %d %d\n",BOARD_SIZE*BOARD_SIZE,xHighlights[i],yHighlights[i]);
-+#endif
-+        drawHighlight(xHighlights[i], yHighlights[i],clearpieceGC);
-+        xHighlights[i] = -1;
-+        yHighlights[i] = -1;
-+    }
-+}
-+
- static void
- DragPieceMove(x, y)
-      int x; int y;
-@@ -8492,7 +8666,8 @@ DragPieceMove(x, y)
-     corner.y = y - player.mouseDelta.y;
-     AnimationFrame(&player, &corner, player.dragPiece);
- #if HIGHDRAG
--    if (appData.highlightDragging) {
-+    if (appData.highlightDragging) 
-+    {
- 	int boardX, boardY;
- 	BoardSquare(x, y, &boardX, &boardY);
- 	SetHighlights(fromX, fromY, boardX, boardY);
-@@ -8526,12 +8701,156 @@ DragPieceEnd(x, y)
-     /* This prevents weird things happening with fast successive
-        clicks which on my Sun at least can cause motion events
-        without corresponding press/release. */
-+
-+    /* un highlight the squares where the piece can be legally moved */
-+    UnShowLegalPieceSquares();
-     player.dragActive = False;
- }
- 
-+/* return false (0) if not a white piece, true otherwise */
-+static int WhitePiece(piece)
-+     ChessSquare piece;
-+{
-+    return (int) piece >= (int) WhitePawn && (int) piece <= (int) WhiteKing;
-+}
-+
-+/* return false (0) if not a black piece, true otherwise */
-+static int BlackPiece(piece)
-+     ChessSquare piece;
-+{
-+    return (int) piece >= (int) BlackPawn && (int) piece <= (int) BlackKing;
-+}
-+
-+/* used for keeping track of whether a move was made or a
-+   screen refresh has occured */
-+static int old_currentMove = -1;
-+/* 2d array of board positions, used to indicate which
-+   square to highlight as threatened */
-+static int threatenedSquares[BOARD_SIZE][BOARD_SIZE];
-+
-+/* called from ShowThreatenedPieces, redraw screen (refresh) */
-+static void redrawBoard(Board board)
-+{
-+    int i, j;
-+    /* setup colors to show threatened squares */
-+    XtGCMask value_mask = GCLineWidth | GCLineStyle | GCForeground
-+        | GCBackground | GCFunction | GCPlaneMask;
-+    XGCValues gc_values;
-+    gc_values.plane_mask = AllPlanes;
-+    gc_values.line_width = lineGap;
-+    gc_values.line_style = LineSolid;
-+    gc_values.function = GXcopy;
-+
-+    gc_values.foreground = threatenedSquareColor;
-+    gc_values.background = threatenedSquareColor;
-+
-+    /* iterate through board and highlight threatened pieces */
-+    for ( i = 0 ; i < BOARD_SIZE ; i++ )
-+        for ( j = 0 ; j < BOARD_SIZE ; j++ )
-+            if ( threatenedSquares[i][j] == 1 ) 
-+                drawHighlight(j,i,XtGetGC(shellWidget, value_mask, &gc_values));
-+}
-+
-+void ShowThreatenedPieces(Board board)
-+{
-+    int x, y, boardX, boardY;
-+
-+    if ( !appData.showThreatenedPieces) return;
-+
-+    if ( old_currentMove == currentMove)
-+        redrawBoard(board);
-+    else /* piece was moved on the board */
-+    {
-+        int i, j;
-+
-+    /* setup color for threatened pieces squares */
-+        old_currentMove = currentMove;
-+        GC clearpieceGC;
-+        XtGCMask value_mask = GCLineWidth | GCLineStyle | GCForeground
-+                                        | GCBackground | GCFunction | GCPlaneMask;
-+        XGCValues gc_values;
-+
-+        gc_values.plane_mask = AllPlanes;
-+        gc_values.line_width = lineGap;
-+        gc_values.line_style = LineSolid;
-+        gc_values.function = GXcopy;
-+
-+        gc_values.foreground = jailSquareColor;
-+        gc_values.background = jailSquareColor;
-+
-+        clearpieceGC = XtGetGC(shellWidget, value_mask, &gc_values);    
-+
-+        /* clear previous storage of threatened squares coords */
-+        for ( i = 0 ; i < BOARD_SIZE ; i++ )
-+            for ( j = 0 ; j < BOARD_SIZE ; j++ )
-+                if (threatenedSquares[i][j] == 1 )
-+                {
-+                    drawHighlight(j,i ,clearpieceGC);
-+                    threatenedSquares[i][j] = 0 ;
-+                }
-+
-+        /* determine which squares need to be highlightened 
-+           as threatened */
-+        for(boardX = 0 ; boardX < BOARD_SIZE ; boardX++ )
-+            for ( boardY = 0 ; boardY < BOARD_SIZE ; boardY++ )
-+            {
-+                /* not worth continuing if from or to square is blank */
-+                if ( !WhitePiece(board[boardY][boardX]) &&
-+                     !BlackPiece(board[boardY][boardX]))
-+                    continue;
-+
-+                for ( toX = 0; toX < BOARD_SIZE ; toX++)
-+                {
-+                    for ( toY = 0 ; toY < BOARD_SIZE; toY++)
-+                    {
-+                        int legalmove, legalmove2;
-+                /* test if it's worth continuing, from piece moving to 
-+                   opponent piece */
-+                        if ( !WhitePiece(board[toY][toX]) &&
-+                             !BlackPiece(board[toY][toX]))
-+                            continue;
-+
-+                        if ( BlackPiece(board[boardY][boardX]) && 
-+                             !WhitePiece(board[toY][toX]) )  
-+                            continue;
-+
-+                        if ( WhitePiece(board[boardY][boardX]) &&
-+                             !BlackPiece(board[toY][toX]) ) 
-+                            continue;
-+            
-+            /* the Posflags in the LegalityTest needs to be -1 because
-+               the LegalityTest is done for the current move, which is updated
-+               when the current piece was put down and switched to the other color
-+               whereas we want the legality test for the old color otherwise
-+               it will be classified as an IllegalMove */
-+
-+                /* legal moves for the previous color (user) */
-+                        legalmove = LegalityTest(boards[currentMove],
-+                                                 PosFlags(currentMove)-1, 
-+                                                 EP_UNKNOWN, 
-+                                                 boardY, boardX, toY,toX,0);
-+
-+                /* legal moves for the current color (user) */
-+                        legalmove2 = LegalityTest(boards[currentMove],
-+                                                 PosFlags(currentMove), 
-+                                                 EP_UNKNOWN,    
-+                                                 boardY, boardX, toY,toX,0);
-+
-+                        if ( legalmove != IllegalMove  || 
-+                             legalmove2 != IllegalMove)
-+                            threatenedSquares[toY][toX] = 1;
-+                    }
-+                }
-+            }
-+    }
-+    /* redraw the board to reflect current changes */
-+    redrawBoard(board);
-+}
-+
- /* Handle expose event while piece being dragged */
- 
--static void
-+static
-+void
- DrawDragPiece ()
- {
-   if (!player.dragActive || appData.blindfold)
---- xboard-4.2.7/backend.c.hilite	2003-11-28 17:37:36.000000000 +0800
-+++ xboard-4.2.7/backend.c	2005-06-03 09:33:57.000000000 +0800
-@@ -4858,6 +4858,7 @@ ShowMove(fromX, fromY, toX, toY)
-     DrawPosition(FALSE, boards[currentMove]);
-     DisplayBothClocks();
-     HistorySet(parseList,backwardMostMove,forwardMostMove,currentMove-1);
-+	ShowThreatenedPieces(boards[currentMove]);
- }
- 
- 
diff --git a/xboard-lowtime-warning.patch b/xboard-lowtime-warning.patch
deleted file mode 100644
index e12e85e..0000000
--- a/xboard-lowtime-warning.patch
+++ /dev/null
@@ -1,174 +0,0 @@
---- xboard-4.2.7/common.h.lowtime	2003-10-28 03:21:00.000000000 +0800
-+++ xboard-4.2.7/common.h	2005-06-03 07:26:40.000000000 +0800
-@@ -425,6 +425,10 @@ typedef struct {
-     int zippyMaxGames;
-     int zippyReplayTimeout; /*seconds*/
- #endif
-+#if LOWTIMEWARNING
-+  char *lowTimeWarningColor;
-+  Boolean lowTimeWarning;
-+#endif
- } AppData, *AppDataPtr;
- 
- extern AppData appData;
---- xboard-4.2.7/xboard.h.lowtime	2003-10-28 03:21:00.000000000 +0800
-+++ xboard-4.2.7/xboard.h	2005-06-03 07:26:40.000000000 +0800
-@@ -64,6 +64,7 @@
- #define COLOR_REQUEST           "red"
- #define COLOR_SEEK              "blue"
- #define COLOR_NORMAL            "default"
-+#define COLOR_LOWTIMEWARNING    "red"
- 
- typedef struct {
-     char *name;
---- xboard-4.2.7/xboard.man.lowtime	2003-11-29 05:35:39.000000000 +0800
-+++ xboard-4.2.7/xboard.man	2005-06-03 07:26:40.000000000 +0800
-@@ -1641,6 +1641,15 @@ Sets the Animate Moving menu option. See
- .B -animateSpeed n
- Number of milliseconds delay between each animation frame when Animate
- Moves is on.
-+.TP
-+.B -lowTimeWarning true/false
-+When time is tight, use alternative color to show timer. This is done when
-+the clock counts down to icsAlarmTime (5 seconds by default). It can be
-+used in conjunction with sound alarm.  Default: true.
-+.TP
-+.B -lowTimeWarningColor color
-+Color to use when lowTimeWarning option is used and time is tight.
-+Default: red.
- .PP
- .SS Other Options
- .TP
---- xboard-4.2.7/xboard.c.lowtime	2003-11-19 16:42:18.000000000 +0800
-+++ xboard-4.2.7/xboard.c	2005-06-03 07:26:40.000000000 +0800
-@@ -418,6 +418,9 @@ Display *xDisplay;
- Window xBoardWindow;
- Pixel lightSquareColor, darkSquareColor, whitePieceColor, blackPieceColor,
-   jailSquareColor, highlightSquareColor, premoveHighlightColor;
-+#if LOWTIMEWARNING
-+Pixel lowTimeWarningColor;
-+#endif
- GC lightSquareGC, darkSquareGC, jailSquareGC, lineGC, wdPieceGC, wlPieceGC,
-   bdPieceGC, blPieceGC, wbPieceGC, bwPieceGC, coordGC, highlineGC,
-   wjPieceGC, bjPieceGC, prelineGC;
-@@ -1136,6 +1139,14 @@ XtResource clientResources[] = {
-     { "showButtonBar", "showButtonBar", XtRBoolean,
- 	sizeof(Boolean), XtOffset(AppDataPtr, showButtonBar),
- 	XtRImmediate, (XtPointer) True },
-+#if LOWTIMEWARNING
-+    { "lowTimeWarningColor", "lowTimeWarningColor", XtRString,
-+      sizeof(String), XtOffset(AppDataPtr, lowTimeWarningColor),
-+      XtRString, COLOR_LOWTIMEWARNING },
-+    { "lowTimeWarning", "lowTimeWarning", XtRBoolean,
-+      sizeof(Boolean), XtOffset(AppDataPtr, lowTimeWarning),
-+      XtRImmediate, (XtPointer) True },
-+#endif   
- };
- 
- XrmOptionDescRec shellOptions[] = {
-@@ -1426,6 +1437,10 @@ XrmOptionDescRec shellOptions[] = {
-     { "-showButtonBar", "showButtonBar", XrmoptionSepArg, NULL },
-     { "-buttons", "showButtonBar", XrmoptionNoArg, "True" },
-     { "-xbuttons", "showButtonBar", XrmoptionNoArg, "False" },
-+#if LOWTIMEWARNING
-+    { "-lowTimeWarningColor", "lowTimeWarningColor", XrmoptionSepArg, NULL },
-+    { "-lowTimeWarning", "lowTimeWarning", XrmoptionSepArg, NULL },
-+#endif
- };
- 
- 
-@@ -1861,6 +1876,20 @@ main(argc, argv)
-     if (argc > 1) {
- 	fprintf(stderr, "%s: unrecognized argument %s\n",
- 		programName, argv[1]);
-+	fprintf(stderr, "Recognized options:\n");
-+	for(i = 0; i < XtNumber(shellOptions); i++) {
-+	    j = fprintf(stderr, "  %s%s", shellOptions[i].option,
-+		        (shellOptions[i].argKind == XrmoptionSepArg
-+			 ? " ARG" : ""));
-+	    if (i++ < XtNumber(shellOptions)) {
-+		fprintf(stderr, "%*c%s%s\n", 40 - j, ' ',
-+			shellOptions[i].option,
-+			(shellOptions[i].argKind == XrmoptionSepArg
-+			 ? " ARG" : ""));
-+	    } else {
-+		fprintf(stderr, "\n");
-+	    }
-+	}
- 	exit(2);
-     }
-     
-@@ -2084,6 +2113,21 @@ main(argc, argv)
- 	      programName);
-     }
- 
-+#if LOWTIMEWARNING
-+
-+    if (appData.lowTimeWarning && !appData.monoMode) {
-+      vFrom.addr = (caddr_t) appData.lowTimeWarningColor;
-+      vFrom.size = strlen(appData.lowTimeWarningColor);
-+      XtConvert(shellWidget, XtRString, &vFrom, XtRPixel, &vTo);
-+      if (vTo.addr == NULL) 
-+	appData.monoMode = True;
-+      else
-+	lowTimeWarningColor = *(Pixel *) vTo.addr;
-+    }
-+
-+#endif
-+	
-+
-     if (appData.monoMode && appData.debugMode) {
- 	fprintf(stderr, "white pixel = 0x%lx, black pixel = 0x%lx\n",
- 		(unsigned long) XWhitePixel(xDisplay, xScreen),
-@@ -7321,7 +7365,17 @@ DisplayTimerLabel(w, color, timer, highl
- {
-     char buf[MSG_SIZ];
-     Arg args[16];
--    
-+
-+#if LOWTIMEWARNING
-+    Pixel foregroundOrWarningColor = timerForegroundPixel;
-+
-+    if (appData.lowTimeWarning
-+	&& timer < appData.icsAlarmTime)
-+
-+      foregroundOrWarningColor = lowTimeWarningColor;
-+
-+#endif
-+
-     if (appData.clockMode) {
- 	sprintf(buf, "%s: %s", color, TimeString(timer));
- 	XtSetArg(args[0], XtNlabel, buf);
-@@ -7331,11 +7385,24 @@ DisplayTimerLabel(w, color, timer, highl
-     }
-     
-     if (highlight) {
-+
-+#if LOWTIMEWARNING
-+	XtSetArg(args[1], XtNbackground, foregroundOrWarningColor);
-+#else
- 	XtSetArg(args[1], XtNbackground, timerForegroundPixel);
-+#endif
-+
- 	XtSetArg(args[2], XtNforeground, timerBackgroundPixel);
-     } else {
-+
- 	XtSetArg(args[1], XtNbackground, timerBackgroundPixel);
-+
-+#if LOWTIMEWARNING
-+	XtSetArg(args[2], XtNforeground, foregroundOrWarningColor);
-+#else
- 	XtSetArg(args[2], XtNforeground, timerForegroundPixel);
-+#endif
-+
-     }
-     
-     XtSetValues(w, args, 3);
---- xboard-4.2.7/config.h.in.lowtime	2000-12-17 10:24:48.000000000 +0800
-+++ xboard-4.2.7/config.h.in	2005-06-03 07:26:40.000000000 +0800
-@@ -133,3 +133,5 @@
- 
- /* Define if you have the seq library (-lseq).  */
- #undef HAVE_LIBSEQ
-+
-+#define LOWTIMEWARNING 1
diff --git a/xboard-xtname.patch b/xboard-xtname.patch
deleted file mode 100644
index 4933aee..0000000
--- a/xboard-xtname.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- xboard-4.2.7/xboard.c.xtname	2005-06-03 07:49:06.000000000 +0800
-+++ xboard-4.2.7/xboard.c	2005-06-03 07:49:45.000000000 +0800
-@@ -4790,9 +4790,7 @@ void EditCommentCallback(w, client_data,
-     int j;
-     Widget edit;
- 
--    j = 0;
--    XtSetArg(args[j], XtNlabel, &name);  j++;
--    XtGetValues(w, args, j);
-+    name = XtName(w);
- 
-     if (strcmp(name, "ok") == 0) {
- 	edit = XtNameToWidget(editShell, "*form.text");
---- xboard-4.2.7/xedittags.c.xtname	2003-10-28 03:21:00.000000000 +0800
-+++ xboard-4.2.7/xedittags.c	2005-06-03 07:49:45.000000000 +0800
-@@ -105,13 +105,7 @@ void TagsCallback(w, client_data, call_d
-      Widget w;
-      XtPointer client_data, call_data;
- {
--    String name;
--    Arg args[16];
--    int j;
--
--    j = 0;
--    XtSetArg(args[j], XtNlabel, &name);  j++;
--    XtGetValues(w, args, j);
-+    String name = XtName(w);
- 
-     if (strcmp(name, "close") == 0) {
- 	TagsPopDown();
-@@ -131,9 +125,7 @@ void EditTagsCallback(w, client_data, ca
-     int j;
-     Widget textw;
- 
--    j = 0;
--    XtSetArg(args[j], XtNlabel, &name);  j++;
--    XtGetValues(w, args, j);
-+    name = XtName(w);
- 
-     if (strcmp(name, "ok") == 0) {
- 	textw = XtNameToWidget(editTagsShell, "*form.text");
diff --git a/xboard.desktop b/xboard.desktop
deleted file mode 100644
index 2aed94d..0000000
--- a/xboard.desktop
+++ /dev/null
@@ -1,57 +0,0 @@
-[Desktop Entry]
-Name=Xboard
-Name[af]=X-bord
-Name[eo]=X-Breto
-Name[ru]=Шахматы X
-Name[ve]=Bodo ya X
-Name[zh_CN]=X 国际象棋
-Name[zh_TW]=Xboard 國際象棋
-Name[zu]=X Ibhodi
-Comment=Chess Game
-Comment[af]=Skaak Speletjie
-Comment[ar]=لعبة شطرنج
-Comment[be]=Шахматы
-Comment[bg]=Шах
-Comment[bs]=Igra šaha
-Comment[cs]=Šachy
-Comment[da]=Skakspil
-Comment[de]=Schachspiel
-Comment[el]=Παιχνίδι Σκάκι
-Comment[eo]=Ŝakludo
-Comment[es]=Juego de ajedrez
-Comment[et]=Male
-Comment[eu]=Xakea
-Comment[fi]=Shakkipeli
-Comment[fr]=Jeu d'échecs
-Comment[he]=משחק שחמט
-Comment[hu]=sakk
-Comment[is]=Skákleikur
-Comment[it]=Gioco di scacchi
-Comment[ja]=チェスゲーム
-Comment[lt]=Šachmatai
-Comment[lv]=Šaha Spēle
-Comment[mt]=Logħba ċess
-Comment[nb]=Sjakkspill
-Comment[nl]=schaakspel
-Comment[nn]=Sjakkspel
-Comment[pl]=Szachy
-Comment[pt]=Jogo de Xadrez
-Comment[pt_BR]=Xadrez
-Comment[ro]=Un joc de şah
-Comment[ru]=Шахматы
-Comment[sk]=Šach
-Comment[sl]=Igra šaha
-Comment[sv]=Schackspel
-Comment[th]=เกมหมากรุก
-Comment[uk]=Шахи
-Comment[ve]=Mutambo wa Tshese
-Comment[vi]=Chơi Cờ
-Comment[zh_CN]=国际象棋游戏
-Comment[zh_TW]=棋類遊戲
-Comment[zu]=Gnome umdlalo wechesi
-Exec=xboard
-Icon=xboard
-Terminal=false
-Type=Application
-Categories=Game;BoardGame;
-# vi: encoding=utf-8
diff --git a/xboard.png b/xboard.png
deleted file mode 100644
index 3a66588..0000000
Binary files a/xboard.png and /dev/null differ
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xboard.git/commitdiff/1e6aa2c9a648f165abad83bda9d5ed94df91ea3f



More information about the pld-cvs-commit mailing list