From: Arun Persaud Date: Fri, 8 Feb 2013 04:12:02 +0000 (-0800) Subject: Merge remote-tracking branch 'origin/master' into v4.7.x X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=15a3ab112c17105b792f756125f91ec18fe38d36;hp=97fbebeb410d64f66811eb9dbee695eee7076b3d;p=xboard.git Merge remote-tracking branch 'origin/master' into v4.7.x Conflicts: NEWS --- diff --git a/Makefile.am b/Makefile.am index b6a709b..4396a55 100644 --- a/Makefile.am +++ b/Makefile.am @@ -60,7 +60,7 @@ SUBDIRS = po xboard_LDADD = -lm @FRONTEND_LIBS@ @X_LIBS@ @LIBINTL@ @CAIRO_LIBS@ EXTRA_DIST = pixmaps shogi png sounds winboard \ - xboard.texi gpl.texinfo texi2man texinfo.tex xboard.man xboard.desktop \ + xboard.texi gpl.texinfo texi2man texinfo.tex xboard.man xboard.desktop xboard-config.desktop \ xboard-fen-viewer.desktop xboard-pgn-viewer.desktop xboard-tourney.desktop xboard.xml \ COPYRIGHT FAQ.html engine-intf.html ics-parsing.txt readme.htm zippy.README \ xboard.conf.in SHORTLOG DIFFSTAT history.c ABOUT-NLS $(FRONTENDextras) @@ -92,7 +92,7 @@ dist_svgicon_DATA = xboard.svg ### desktop files for KDE and gnome Applicationsdir = $(datadir)/applications -Applications_DATA = xboard.desktop xboard-fen-viewer.desktop xboard-pgn-viewer.desktop xboard-tourney.desktop +Applications_DATA = xboard.desktop xboard-fen-viewer.desktop xboard-pgn-viewer.desktop xboard-tourney.desktop xboard-config.desktop ### mime file mimedir = $(datadir)/mime/packages @@ -102,7 +102,6 @@ mime_DATA = xboard.xml svgdir = $(datadir)/games/xboard/themes/default dist_svg_DATA = svg/icon_white.svg svg/icon_black.svg \ - svg/DarkSquare.svg svg/LightSquare.svg svg/NeutralSquare.svg \ svg/BlackAdvisor.svg svg/WhiteAdvisor.svg \ svg/BlackArchbishop.svg svg/WhiteArchbishop.svg \ svg/BlackBishop.svg svg/WhiteBishop.svg \ @@ -146,7 +145,7 @@ dist_shogi_DATA = shogi/WhiteGold.svg shogi/WhiteCrownedBishop.svg\ ### directory and files for pixmaps pixmapsdir = $(datadir)/games/xboard/pixmaps/textures -dist_pixmaps_DATA = pixmaps/cross32.xpm pixmaps/cross48.xpm pixmaps/board32.xpm pixmaps/board48.xpm +dist_pixmaps_DATA = pixmaps/cross32.xpm pixmaps/cross48.xpm pixmaps/board32.xpm pixmaps/board48.xpm pixmaps/ini32.xpm pixmaps/ini48.xpm ### directory and files for pngs diff --git a/NEWS b/NEWS index 819b30a..28b7f86 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,85 @@ +** Version 4.7.0 ** + + (see http://www.gnu.org/software/xboard/whats_new/4.7.0/ ) + + * Code refactoring of XBoard + * The old X11 front-end has been largely rewritten, + so that all windows are now created by a single + generic routine + * XBoard now uses the Cairo library for all drawing + * Pixmaps and bitmaps no longer supported; + XBoard now uses PNG and SVG images instead. + * An alternative (as yet experimental) front-end + using GTK has been added + + * Interactive Analysis + * Excluding moves from analysis by playing them + * Excluded-moves header in Engine Output window + * Analyzing with two engines simultaneously + * Annotating an entire muti-game file + * Analysing positions by Monte-Carlo play + + * Other New Functionality + * Displaying player logos (XB) + * Player logo on ICS can be based on player handle + * Chat boxes for XBoard + * Narrowing down of position searches + * Copying pieces when editing a position + * Starting WinBoard through drag & drop + * Recalling fully configured engines and ICS + * Creating an opening book from a game file + * Pausing a game + * Automatically observing partner games with dual-board + + * Interface Improvements + * Recognizes file type of lone argument by extension + * Default startup settings configurable per mode + * Separate menu items for loading 1st and 2nd engine + * Engines can be selected from listboxes + * Grouping of engines in the installed-engines list + * Stay in Analyze or Game Start mode after engine loading + * 'Continue Later' button in WB tournament dialog + * A new --help option (XB) + * A second board window for observing ICS games (XB) + * Smoother graphics and a resizable board (XB) + * A rejuvenated file browser (XB Xaw) + * Scrolling listboxes with mouse wheel (XB Xaw) + * Tabbing through dialog etry fields (XB Xaw) + * Adapt width of auxilliary windows on board resize (WB) + * External piece bitmaps (WB) + * Border around the board (WB) + * Saving settings as themes (WB) + + * Bug fixes + * Grayout of Analysis menu item in zippy mode + * Crash on flagging in -st mode + * Keep track of virginity in variant seirawan FENs + * Immunity to capitalized promo pieces + * Avoid board sizes with unavailabile variant pieces + * Work-around for FICS violation of SAN + * Check validity of tourney participants + * Loop-Chess promotions with legality testing on + * Fix -fSAN option in Analyze File mode + * Scrolling of Engine Output after PV walk (XB) + * Start browsing in currently-selected folder (WB) + * Allow entry of fractional timeIncrement (WB) + * Resolve conflict between -mps and -inc options + * Size of mini-Shogi promotion zone + * Adjudication of stalemate and perpetuals in Shogi + * Rep-draw detection in drop games + * Insufficient-material draws in Knightmate + * Replacing of engine in non-last game position + * Sweep selection of promo-piece in click-click move + * Don't save aborted games in tourney PGN + * Remember ponder, book and other settings in tourney file + * Do not erase PGN tags on engine loading + * Solved feature problems with engine loading in match mode + * Re-send option settings to -xreuse engine + * Allow use of 'shadow' promotion pieces in any variant + * WinBoard did not always start in its installation folder + * Initialization of 'Twice' checkbox in Tournament dialog (WB) + * Clearing of marker dots after mode or settings change + ** Version 4.6.2 ** (for a more detailed list with screenshots see http://www.gnu.org/software/xboard/whats_new/4.6.2/ ) bugfix relase for 4.6.1 diff --git a/args.h b/args.h index 9184dce..dac7250 100644 --- a/args.h +++ b/args.h @@ -259,6 +259,7 @@ ArgDescriptor argDescriptors[] = { { "seekGraph", ArgBoolean, (void *) &appData.seekGraph, TRUE, (ArgIniType) FALSE }, { "sg", ArgTrue, (void *) &appData.seekGraph, FALSE, INVALID }, { "autoRefresh", ArgBoolean, (void *) &appData.autoRefresh, TRUE, (ArgIniType) FALSE }, + { "autoBox", ArgBoolean, (void *) &appData.autoBox, XBOARD, (ArgIniType) TRUE }, { "gateway", ArgString, (void *) &appData.gateway, FALSE, (ArgIniType) "" }, { "loadGameFile", ArgFilename, (void *) &appData.loadGameFile, FALSE, (ArgIniType) "" }, { "lgf", ArgFilename, (void *) &appData.loadGameFile, FALSE, INVALID }, diff --git a/board.c b/board.c index d5b4766..0becf9a 100644 --- a/board.c +++ b/board.c @@ -771,7 +771,7 @@ DrawDragPiece () it's being dragged around the board. So we erase the square that the piece is on and draw it at the last known drag point. */ DrawOneSquare(anims[Player].startSquare.x, anims[Player].startSquare.y, - EmptySquare, anims[Player].startColor, 0, NULL, 0); + EmptySquare, anims[Player].startColor, 0, NULL, NULL, 0); AnimationFrame(Player, &anims[Player].prevFrame, anims[Player].dragPiece); damage[0][anims[Player].startBoardY][anims[Player].startBoardX] = TRUE; } @@ -781,7 +781,7 @@ DrawSquare (int row, int column, ChessSquare piece, int do_flash) { int square_color, x, y, align=0; int i; - char string[2]; + char tString[3], bString[2]; int flash_delay; /* Calculate delay in milliseconds (2-delays per complete flash) */ @@ -799,37 +799,37 @@ DrawSquare (int row, int column, ChessSquare piece, int do_flash) square_color = SquareColor(row, column); - string[1] = NULLCHAR; + bString[1] = bString[0] = NULLCHAR; if (appData.showCoords && row == (flipView ? BOARD_HEIGHT-1 : 0) && column >= BOARD_LEFT && column < BOARD_RGHT) { - string[0] = 'a' + column - BOARD_LEFT; + bString[0] = 'a' + column - BOARD_LEFT; align = 1; // coord in lower-right corner } if (appData.showCoords && column == (flipView ? BOARD_RGHT-1 : BOARD_LEFT)) { - string[0] = ONE + row; + snprintf(tString, 3, "%d", ONE - '0' + row); align = 2; // coord in upper-left corner } if (column == (flipView ? BOARD_LEFT-1 : BOARD_RGHT) && piece > 1 ) { - string[0] = '0' + piece; + snprintf(tString, 3, "%d", piece); align = 3; // holdings count in upper-right corner } if (column == (flipView ? BOARD_RGHT : BOARD_LEFT-1) && piece > 1) { - string[0] = '0' + piece; + snprintf(tString, 3, "%d", piece); align = 4; // holdings count in upper-left corner } if(square_color == 2 || appData.blindfold) piece = EmptySquare; if (do_flash && piece != EmptySquare && appData.flashCount > 0) { for (i=0; i 1) DrawText(tString, x, y, align); // top (rank or count) + if(bString && *bString) DrawText(bString, x, y, 1); // bottom (always lower right file ID) } if(marker) { // print fat marker dot, if requested diff --git a/pixmaps/ini32.xpm b/pixmaps/ini32.xpm new file mode 100644 index 0000000..b6a7968 --- /dev/null +++ b/pixmaps/ini32.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static char *nld33[] = { +/* columns rows colors chars-per-pixel */ +"32 32 3 1", +" c black", +". c transparent", +"X c white", +/* pixels */ +"................................", +"................................", +"................................", +"......... ... ................", +"......... X . XX ...............", +"......... XX XX .............", +"......... X XX XX ...........", +"......... X XXXXXXXXX .........", +"........ XXXXXXXXXXXXX ........", +"........ X XXXXXXXXXXX .......", +"....... X XXXXXXXXXXXXXX ......", +"....... X XXXXXXXX XXXXX ......", +"...... XXXXXXXXXXX XXXXXX .....", +"...... XXXXXXXXXXX XXXXXX .....", +"..... XXXXXXXXXXXX XXXXXXX ....", +"..... XXXXXXXXXXX XXXXXXXX ....", +".... XXXXXXXXXX XXXXXXXX ....", +".... XXXXXXXXX .. XXXXXXXXX ...", +"... X XXXXXX ... XXXXXXXXX ...", +"... X XXXXX .... XXXXXXXXXX ...", +"... XXX XX ..... XXXXXXXXXX ...", +"... XXX X ..... XXXXXXXXXXXX ...", +".... ..... XXXXXXXXXXXXX ..", +"............. XXXXXXXXXXXXXX ..", +"............ XXXXXXXXXXXXXXX ..", +"........... XXXXXXXXXXXXXXXX ..", +"........... XXXXXXXXXXXXXXXX ..", +".......... XXXXXXXXXXXXXXXXX ..", +".......... XXXXXXXXXXXXXXXXX ..", +".......... ..", +"................................", +"................................" +}; diff --git a/pixmaps/ini48.xpm b/pixmaps/ini48.xpm new file mode 100644 index 0000000..4e0434f --- /dev/null +++ b/pixmaps/ini48.xpm @@ -0,0 +1,57 @@ +/* XPM */ +static char *nld49[] = { +/* columns rows colors chars-per-pixel */ +"48 48 3 1", +" c black", +". c transparent", +"X c whit", +/* pixels */ +"................................................", +"................................................", +"................................................", +"............ ........ ..........................", +"............ ..... X .........................", +"............ XX .... XX ........................", +"............ XXX .. XXX ........................", +"............ XXXX XXX .....................", +"............. XX X XXX XXX ..................", +"............ XX XXXXXXXXXXXXXX ................", +"........... XXXXXXXXXXXXXXXXXXXX ...............", +".......... XXXXXXXXXXXXXXXXXXXXXX .............", +".......... XXXXXXXXXXXXXXXXXXXXXXX ............", +"......... XXXXX XXXXXXXXXXXXXXXXXXX ...........", +"......... XXX XXXXXXXXXXXXXXXXXXXXX ..........", +"......... XXX XXXXXXXXXXXXXXXXXXXXXXX ..........", +"......... XX XXXXXXXXXXXXXXXXXXXXXXXX .........", +"........ XXXXXXXXXXXXXXXX XXXXXXXXXXXX ........", +"........ XXXXXXXXXXXXXXXX XXXXXXXXXXXX ........", +"........ XXXXXXXXXXXXXXXX XXXXXXXXXXXXX .......", +"....... XXXXXXXXXXXXXXXXX XXXXXXXXXXXXX .......", +"....... XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX .......", +"...... XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ......", +"..... XXXXXXXXXXXXXXXXX . XXXXXXXXXXXXXX ......", +"..... XXXXXXXXXXXXXXXX .. XXXXXXXXXXXXXXX ......", +".... XXXXXXXXXXXXXXX ... XXXXXXXXXXXXXXX .....", +".... XXXXXXXXXXXXXX ..... XXXXXXXXXXXXXXX .....", +"... XX XXXXXXXXX ...... XXXXXXXXXXXXXXX .....", +"... XX XXXXXXXXX ....... XXXXXXXXXXXXXXXXX .....", +"... XXXXXXXXXXX ........ XXXXXXXXXXXXXXXXX ....", +"... XXXXXX XXX ........ XXXXXXXXXXXXXXXXXX ....", +"... XXXXX XXX ........ XXXXXXXXXXXXXXXXXXX ....", +".... XXXX XX ........ XXXXXXXXXXXXXXXXXXXX ....", +"..... X ........ XXXXXXXXXXXXXXXXXXXXX ....", +".......... ....... XXXXXXXXXXXXXXXXXXXXXXX ....", +".................. XXXXXXXXXXXXXXXXXXXXXXXX ...", +".................. XXXXXXXXXXXXXXXXXXXXXXXX ...", +"................. XXXXXXXXXXXXXXXXXXXXXXXXX ...", +"................ XXXXXXXXXXXXXXXXXXXXXXXXXX ...", +"............... XXXXXXXXXXXXXXXXXXXXXXXXXXX ...", +"............... XXXXXXXXXXXXXXXXXXXXXXXXXXX ...", +".............. XXXXXXXXXXXXXXXXXXXXXXXXXXXX ...", +".............. XXXXXXXXXXXXXXXXXXXXXXXXXXXX ...", +".............. XXXXXXXXXXXXXXXXXXXXXXXXXXXX ...", +".............. ....", +"................................................", +"................................................", +"................................................" +}; diff --git a/svg/DarkSquare.svg b/svg/DarkSquare.svg deleted file mode 100644 index 743c183..0000000 --- a/svg/DarkSquare.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - diff --git a/svg/LightSquare.svg b/svg/LightSquare.svg deleted file mode 100644 index 618ce88..0000000 --- a/svg/LightSquare.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - diff --git a/svg/NeutralSquare.svg b/svg/NeutralSquare.svg deleted file mode 100644 index 34e7ed7..0000000 --- a/svg/NeutralSquare.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/themes/Mono/DarkSquare.svg b/themes/Mono/DarkSquare.svg deleted file mode 100644 index cde1ae0..0000000 --- a/themes/Mono/DarkSquare.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - diff --git a/themes/Mono/LightSquare.svg b/themes/Mono/LightSquare.svg deleted file mode 100644 index b01635b..0000000 --- a/themes/Mono/LightSquare.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - diff --git a/themes/Mono/NeutralSquare.svg b/themes/Mono/NeutralSquare.svg deleted file mode 100644 index ddb4ba2..0000000 --- a/themes/Mono/NeutralSquare.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff --git a/xboard-config.desktop b/xboard-config.desktop new file mode 100644 index 0000000..4161511 --- /dev/null +++ b/xboard-config.desktop @@ -0,0 +1,52 @@ +[Desktop Entry] +Name=Xboard +Name[af]=X-bord +Name[ar]=Xboard +Name[bg]=Xboard +Name[bn]=এক্সবোর্ড +Name[cs]=Xboard +Name[da]=Xboard +Name[de]=Xboard +Name[el]=Xboard +Name[es]=Xboard +Name[et]=Xboard +Name[fi]=XBoard +Name[fr]=XBoard +Name[gl]=Xboard +Name[hi]=एक्सबोर्ड +Name[hr]=Xboard +Name[hu]=XBoard +Name[it]=XBoard +Name[ja]=Xboard +Name[km]=XBoard +Name[ko]=X보드 +Name[lt]=Xboard +Name[mr]=Xबोर्ड +Name[nb]=Xboard +Name[nl]=Xboard +Name[pa]=Xboard +Name[pl]=Xboard +Name[pt]=Xboard +Name[pt_BR]=Xboard +Name[ru]=Xboard +Name[sk]=Xboard +Name[sv]=Xboard +Name[ta]=பெயர்(எக்ஸ்போர்ட்.டெஸ்க்டாப்): எக்ஸ்போர்ட் +Name[th]=Xboard +Name[tr]=XBoard +Name[uk]=Xboard +Name[vi]=XBoard +Name[xh]=Ibhodi ye-X +Name[zh_CN]=X 国际象棋 +Name[zh_TW]=Xboard 國際象棋 +Name[zu]=I-Xboard +Comment=Start preconfigured XBoard +GenericName=X-windows chess board +Type=Application +Categories=Game;BoardGame; +Exec=xboard -opt %f +Icon=xboard +NoDisplay=true +Terminal=false +MimeType=application/x-xboard-opt; +