X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=blobdiff_plain;f=ChangeLog;h=500bdd4916b743d6a7fc83dba00a07507711f9d7;hp=7ce8a3be124d416bb860100625e86d0bcb1cc7dc;hb=HEAD;hpb=bd8a102bd5ccba532abb5de4638cafc7a2bc28f5 diff --git a/ChangeLog b/ChangeLog index 7ce8a3b..500bdd4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9060 @@ ChangeLog for XBoard/WinBoard (latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. ) +2014-10-24 00:04:22 -0700 Joshua Pettus : +removed gtk theme from OSX app + +2014-10-23 23:33:18 +0200 H.G.Muller : +Add persistent Boolean option -fixedSize + +When set, this option suppresses sizing of the board and clocks when +the window is sized by the user. This is achieved by wrapping the entire +dialog in a non-expanding hbox. + +2014-10-23 21:23:14 +0200 H.G.Muller : +Also do dual-royal test in variant shogi + +For the benefit of Sho Shogi we also have to be prepared to find a +Crown Prince in variant shogi, so it can be used as a parent variant +for Sho Shogi with legality testing on. + +2014-10-23 16:22:54 +0200 H.G.Muller : +Fix promotion in Betza move generator + +The Betza move generator was geenrating allmoves as NormalMove, but in +that case XBoard would not allow the move to have a promotion suffix. +Now Pawns and Lances reaching last rank will be assumed to promote. + +2014-10-22 13:06:25 +0200 H.G.Muller : +Attempt to make GTK sizing work with tiling WM + +The Rezise routine now takes the size of the entire dialog table +(for me always equal to the outer-window size), and checks if the +actual outer window is smaller. If it is, it shrinks the board to fit, +under the assumption that a tiling window manager offers only a limited +'viewport' to our dialog, and we want everything to be visible inside that. + +2014-10-22 11:04:47 +0200 H.G.Muller : +Fix -xbuttons window width GTK + +Because Label options not followed by a SAME_ROW element were only +packed into the first two columns of the dialog table, the board window +reserved space for a third column behind the message window if there +was no button bar. + +2014-10-21 20:37:41 -0700 Arun Persaud : +mac: only use gtk compile flag, if osxapp is enabled + + +2014-10-21 22:40:39 +0200 H.G.Muller : +Prevent unknown variant getting button in -ncp mode + +Normally we fake the engines play the requested variant, for the benefit +of engines that do not send a variants feature (e.g. v1 engines). But this +should not be done if there is no engine, as it would lead XBoard to +believe an unknown variant name is an engine-defined variant supported +by a currently loaded engine, and create a button for it in the New Variant +dialog. + +2014-10-21 22:07:09 +0200 H.G.Muller : +Fix variant-name recognition + +StringToVariant did recognize whether the name to recognize had suffuxes +compared to the tabulated name, but not if it had prefixes. So 'shoshogi' +would be recognized as 'shogi'. + +2014-10-21 21:52:21 +0200 H.G.Muller : +Suppress duplicat autoInstalls + +If the engine line constructed for -autoInstall already occurs in +the engine list, we should not install it again. + +2014-10-21 18:41:03 +0200 H.G.Muller : +Base new square size on board widget allocation GTK + +No longer pay attention to the size of the top-level window, but base +everything on the size of the board widget itself. + +2014-10-21 13:45:51 +0200 H.G.Muller : +Ignore first configure event + +The first configure event will be the one that adds the window decorations +to the board window, and must not be used to calculate a new square size, +but to expand the outer window instead. + +2014-10-21 11:35:21 +0200 H.G.Muller : +Let GTK dialogs open with actual-size Graph widgets + +The Graph Option size values are now uses as size_request, to give +proper dialog sizing at popup. But the size_request is then reset +so that free sizing by the user becomes possible. + +2014-10-19 13:16:43 +0200 H.G.Muller : +Fix display of Spin Options with negative range + + +2014-10-17 21:35:25 -0700 Arun Persaud : +line numbers in PO got updated + + +2014-10-17 21:23:47 -0700 Arun Persaud : +updated ChangeLog, DIFFSTAT and SHORTLOG + + +2014-10-17 21:17:56 -0700 Arun Persaud : +updated NEWS + + +2014-10-17 21:17:28 -0700 Arun Persaud : +forget a few __APPLE__ ifdefs; changed to OSXAPP + + +2014-10-17 00:01:44 -0700 Arun Persaud : +fix typo and prefix + +AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching? +Using just prefix=... seems to work though + +2014-10-16 23:34:22 -0700 Arun Persaud : +USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE + + +2014-10-16 21:44:33 +0200 H.G.Muller : +Fix loading of engine-defined PGN games + +Somehow there could be disagreement over what the official opening +position of an engine-defined variant was during loading of the game. +It then refused Betza-defined castling, which tests the corner pieces +based on this initial position. We now assume the FEN tag, which such +a PGN game will always contain, holds the official opening position, +so that castling will always be assumed possible (if there is a corner +piece). + +2014-10-16 20:29:27 +0200 H.G.Muller : +Preserve parent variant for PGN of engine-defined game + +Rather than decoding an unknown variant name, (which will result in +'normal'), we keep the currently set (parent) variant when an +engine-defined variant is currently set that matches the name in +the PGN variant tag of the loaded game. + +2014-10-16 17:54:13 +0200 H.G.Muller : +Fix some uninitialized variable bugs + +The writing of Seirawan castling rights in FEN was still dependent on a +now unused variable, and encountering a VariantMen tag in a PGN file +could have created the misconception the memory was full. + +2014-10-16 17:41:01 +0200 H.G.Muller : +Update Game List after tag selection changed + +When the Game List Options dialog changes the tags to be displayed in +the Game List lines, we now automatically redo the entire Game List. + +2014-10-16 16:38:00 +0200 H.G.Muller : +Always accept piece commands in variant great + +Great Shatranj belongs to the variants XBoard does not know the rules of, +and should thus always accept engine piece commands. + +2014-10-15 21:28:36 -0700 Arun Persaud : +make all tests for strings in configure use the same scheme + + +2014-10-15 21:23:26 -0700 Arun Persaud : +updated Changelog, DIFFSTAT, and SHORTLOG + +2014-10-15 21:06:36 -0700 Arun Persaud : +fix osxapp enable option in configure.ac + + +2014-10-15 21:06:00 -0700 Arun Persaud : +remove experimental from gtk build option + + +2014-10-15 21:02:38 -0700 Arun Persaud : +only enable osxapp build target on apple systems, clean up configure.ac a tiny bit + + +2014-10-15 20:57:28 -0700 Arun Persaud : +update NEWS file + + +2014-10-15 23:48:14 +0200 H.G.Muller : +Don't switch to engine-defined variant on game loading + +When loading a game from PGN the variant tag will have been decoded as +'normal' in case of an engine-defined variant, and we certainly would +not want to switch to that. Better stay in the variant the user had +selected before, and hope for the best. + +2014-10-15 21:50:44 +0200 H.G.Muller : +Implement displaying of variant tag in Game List + +The variant tag was displayed as an empty string in game-header lines. +Processing it during PGN load was not able to handle engine-defined +variants anyway; they were recognized as 'normal'. A new field in the +GameInfo struct now holds variantName in text form, and this is the +primary place from which it is displayed in the Game List. + +2014-10-15 21:06:53 +0200 H.G.Muller : +Update Game List when setting new Game List Tags + +Using the Game List Tags dialog to alter the gae header lines now +automatically causes an update of the Game list according to the new +tags specification. + +2014-10-15 20:26:31 +0200 H.G.Muller : +Reset move entry on Clear Board + +The board markers would stay on when the board was cleared, and a +no-longer-present piece would stay selected, leading to deletion of the +first piece that you tried to select. + +2014-10-14 09:38:05 +0200 H.G.Muller : +Split Tournament dialog in side-by-side panes + +This seems to cure a sickness in some Xaw versions, which refused +to display text in the text widgets, or make them sensitive for mouse +clicks if the last three buttons were added. It also helps keeping +the 'OK' button on-screen in the GTK version. + +2014-10-12 19:43:24 +0200 H.G.Muller : +Remember position obtained from setup + +When the engine sends a setup command, it should be remembered as +initialPosition, in order for the castling 'rook' test of the Betza +move generator to work. + +2014-09-13 12:35:12 -0700 Joshua Pettus : +Add build script to configure for a XBoard.app for OS X + +This relies on the the gtk build and adds some special code in +gtk/xboard.c so that XBoard can be installed inside the app directory +independ on where the app file is located. + +2014-10-12 10:09:51 -0700 Arun Persaud : +replaced hardcoded pngdir with built-in ~~ + +don't need to create xboard.conf from xboard.conf.in anymore + +2014-10-12 00:18:50 +0200 H.G.Muller : +Some improvement on new Shogi SVG pieces + + +2014-10-11 10:55:41 -0700 Arun Persaud : +updated spanish, ukranian, and dutch translation + + +2014-10-11 19:42:03 +0200 H.G.Muller : +Fix logos Xaw + +The patch for logo standard left a typo and an excess line in the Xaw +version. This is fixed, and also implements the user-logo cascade for +the Xaw version. + +2014-10-11 19:26:23 +0200 H.G.Muller : +Try also /home//.logo.pgn for user logo + +The user logo now also has a cascade, first looking in the user's home +folder for a file .logo.png, and then in the -logoDir for .png. + +2014-10-11 16:38:03 +0200 H.G.Muller : +Fix ICS logo display + + +2014-10-10 18:14:09 +0200 H.G.Muller : +Show current variant on New Variant buttons GTK in bold + +If an engine-defined variant is selected, we compare its name to the +inscription on the button, otherwise we compare the variant numbers. +(Test to trigger this is a bit awkward, to not inadvertantly apply it +to the ICS Text Menu, which also has colored buttoms.) + +2014-10-10 17:01:51 +0200 H.G.Muller : +Increase number of engine-defined-variants Buttons XB + +An third column is added to the New Variant dialog when necessary. + +2014-10-09 23:25:26 +0200 H.G.Muller : +Force GTK logo size to quarter board width + +This is what GTK will do anyway, because clocks and logos are in a hbox +that equally divides space, so telling XBoard different just misinforms it. + +2014-10-09 17:08:45 +0200 H.G.Muller : +Replace default Shogi pieces + +The SVG Shogi pieces are replaced by a new set, made by Joshua Pettus. +This set also contains and Elephant and Crown Prince. + +2014-10-09 09:35:33 +0200 H.G.Muller : +Implement new logo standard + +XBoard now looks in the system directories for plugin logos, +/usr/(local/)share/games/plugins/logos, according to the cascade +-logoDir, engine dir (-fd,-sd), /usr/local/..., /usr/... + +2014-10-09 08:47:25 +0200 H.G.Muller : +Relocate OS X' LOCALEDIR + + +2014-10-08 21:56:28 +0200 H.G.Muller : +Fix check test with multi-leg moves + +The check test after a multi-leg move was still using the same kill +square in the opponent's reply, making it blind to King captures in +a second leg. So far we got away with that because the Shogi multi-leg +pieces also can reach all their potential victims in a single step, +but with engine-defined multi-leg moves there is no guarantee this +will always be the case. + +2014-10-08 21:55:17 +0200 H.G.Muller : +Fix infinite loop in cylinder moves + + +2014-10-07 19:13:54 +0200 H.G.Muller : +Let t on final leg in Betza notation forbid checking + +To allow approximate definition of pieces that are too difficult to +describe exactly, we can revoke their capture rights on Kings, +to prevent imagined moves that happen to threaten a King forces the +opponent to evade this imagined check, making most of his moves illegal. +Then the piece can be safely replaced by an upward-compatible one, +leaving rejection of the extra moves to the engine. + +2014-10-07 18:56:59 +0200 H.G.Muller : +Implement Betza hr and hr as chiral move sets + +To easily separate right- and left-handed moves on oblique atoms +(which needs opposite use of l and r in their multi-leg continuations), +the direction sets hr and hl are added. + +2014-10-07 08:20:06 +0200 H.G.Muller : +Preserve other Betza mode bits on setting default modality + + +2014-10-06 20:20:00 +0200 H.G.Muller : +Switch to new Betza orth-diag conversion standard + +The interconversion from orthogonal to diagonal atoms is now possible +for any 4-way atom, based on specification of an 'in-between' direction, +irrespective of modality. Also take backward out of default continuation +direction-set. + +2014-10-03 10:31:47 +0200 H.G.Muller : +Implement Betza t modifier for hop-own + +The 't' modifier will restrict any form of hopping as specified by +p or g modifiers to friendly pieces. This only works on non-final legs. + +2014-10-02 19:32:45 +0200 H.G.Muller : +Implement directional modifiers on KQ, and let y&g upgrade + +The Betza y and g modifiers now not only change range, but also upgrade +the directional capabilities of the atom to full non-degenerate 8-fold. +Directional modifiers can now be used in that symmetry too, to maximally +exploit this, and implement 4-fold pieces that make 45-degree turns. +Let oblique continuation legs also use the non-degenerate system. + +2014-10-02 15:19:09 +0200 H.G.Muller : +Implement Betza y modifier + +The non-standard modifier 'y' is the spontaneous counterpart of 'g', +changing the range of the atom, and upgrading its directionality. + +2014-10-02 10:21:43 +0200 H.G.Muller : +Implement Betza g modifier for non-final legs + +The g modifier is implemented as a p that turns a rider into the +corresponding leaper when it hops, and vice versa. This is done by +stripping off any existing range indicator, and making the range +infinite by suffixing '0' when the old range was 1 (whether implied +or explicitly written). Except that for sliders/steppers this is done +by atom-name conversion after stripping off the range. Limited range +thus in general turns into leaper (D -> D0, Dn -> D), but with FWK +W3 -> R and R3 -> W, etc. + +2014-10-01 15:32:14 +0200 H.G.Muller : +Implement Betza a modifier + +This is pretty complex, and might overload the current primitive two-leg +legality testing when pieces are defined that can reach squares only in +two legs. + +2014-10-01 09:28:32 +0200 H.G.Muller : +Implement Betza j on W,F as skip first square + + +2014-10-04 21:56:14 +0200 H.G.Muller : +Always accept piece commands for Falcon and Cobra + +The wild-card pieces Falcon and Cobra do not have any moves assigned to +them, and XBoard would accept any move for them even when legality +checking is on. So for these pieces it is always better to trust the +engine's piece definition. + +2014-10-04 21:52:51 +0200 H.G.Muller : +Fix pieceToCharTable of Falcon Chess + +This variant was using the Falcon piece, but defining ID F for the +unused Lance instead. + +2014-10-04 19:59:13 +0200 H.G.Muller : +Don't preserve setup position on board-size change + +Normally the setup command sent by an engine is ignored if the user +already has set up a position, to not render it impossible to do the +latter. But if the setup command orders a different board size nothing +the user has set up can possibly remain valid. + +2014-10-04 19:39:06 +0200 H.G.Muller : +Reset move entry on stepping through game + +A forward or backward step through the game after selecting a from-square +did not erase the latter, so that it became impossible to select a +from-square for an opponent move, as it would be interpreted as the +to-square for the patially entered move. This was especially annoying +with legality testing off, as the legality test there, based on the +square markings, does not reset the entry state either, but waits +until you do click a legal to-square, so that you had to attempt +moving with pieces of the side not to move to get out of this state. +Now stepping through another position will reset the move-entry state +completely, always considering the first click a from-square selection. + +2014-10-07 20:55:00 +0200 H.G.Muller : +Fix engine-defined variant as startup + +Non-standard names were all recognized as 'normal' in InitBackend1(). +Now if the -variant argument was not "normal", it is assumed to be an +engine-defined variant if we run with engine. + +2014-10-07 18:53:50 +0200 H.G.Muller : +Fix clipping of board GTK + +ResizeBoardWindow now measures the with of the window dressing by +brute force, interrogating GTK both for the width of the top-level +window and the board widget, and subtracting the two. + +2014-10-08 18:28:09 +0200 H.G.Muller : +Fix writing of Seirawan960 virginity in FEN + +When variant seirawan was played with Fischer castling, only the +castling rights were written, and not the virginity of other pieces. +Now all virgin files are dumped in Shredder-FEN style. + +2014-09-29 21:07:17 -0700 Arun Persaud : +update po/pot files + + +2014-09-29 21:00:42 -0700 Arun Persaud : +new version number for release 4.8.0 + + +2014-09-13 14:33:37 -0700 Arun Persaud : +fixed whitespace error in configure.ac for os x + + +2014-09-20 10:06:17 -0700 Arun Persaud : +update gettext configuration to not include any generated files in git + +before we had a somewhat mixed setup, which seems to create problems +when a different gettext version was installed on the users machine compared +to the version used to generate the files in git. This should solve +the problem. The user will now have to generate these files using autopoint, +which we call from autogen.sh. + +2014-09-28 22:19:00 +0200 H.G.Muller : +Configure XBoard for -size 49 in master settings + +Now the code for auto-sizing works, it turns out this does more harm than +good in the GTK build, as it takes maximum size that fits the screen as +initial size, and the board window then cannot be shrunk below that. +So we configure a hard -size 49 for a cold startup. + +2014-09-28 21:27:22 +0200 H.G.Muller : +Implement ff etc. in Betza parser + +Dupliacated directional modifiers can be needed with oblique moves +to unambiguously specify a direction set, e.g. ffrrN. + +2014-09-28 13:40:13 +0200 H.G.Muller : +Rename PGN Pieces tag to VariantMen + +Following a suggestion from Steven Edwards, this indeed makes a much +clearer name. Also add code to skip the tag on reading, rather than +allowing it to end up with the 'extra tags', as the latter could lead +to duplication of the tag on subsequent saves. + +2014-09-28 11:18:10 +0200 H.G.Muller : +Suppress use of promo-Gold bitmaps in Tori Shogi (WB) + +In Tori Shogi the Swallow Pawn does not promote to Tokin, so the use +of a Gold General pictogram would only be confusing. So we stick to +the regular fairy bitmaps in Tori, which is recognized by the board +having 7 ranks in Shogi. + +2014-09-28 10:55:10 +0200 H.G.Muller : +Prevent board-size oscillations + +It could happen that after resize there was room for enlarging the +squares by one pixel, but that this crossed the boundary where the line +gaps also become wider, and there is no room for making both squares +and line gap. This would cause perpetual oscillations of the window size. +Resizing is now suppressed when a 1-pixel square-size increase would also +result in a line-gap increase. + +2014-09-28 10:09:17 +0200 H.G.Muller : +Allow use of second-row pieces for non-promoted in drop games + +Second-row pieces were automatically demoted on capture, but this +should really happen only when the piece-to-char table says it is a +shogi-promoted piece (assigned a '+' there). Pieces assigned a letter +should really stay themselves. + PieceToNumber had to be adapted to skip '+' pieces in order to count +correctly for second-row pieces, as did the code in UserMoveEvent() that +mapped the from-square onto the piece type. (Why do we do that anyway? +The piece type was displayed on the from-square!) + +2014-09-26 20:24:05 +0200 H.G.Muller : +Fix reset of 50-move counter on FRC castling + +The FxR internal representation was taken a bit too seriously! + +2014-09-26 20:15:33 +0200 H.G.Muller : +Fix abort of machine game on variant mismatch + +When the second engine did not support the current variant, and we clicked +Two Machines, there was an error popup, but the Two Machines menu item +stayed checkmarked. Now we explicitly uncheck it, and switch to EditGame +mode. + +2014-09-26 19:47:08 +0200 H.G.Muller : +Make unsupported variant on loading 1st engine non-fatal + +Like in the startup code, when the loaded engine does not play the +currently selected variant, we now figure out what the engine does play, +and switch to that. The error message still pops up, but not non-fatal. + +2014-09-25 23:37:24 +0200 H.G.Muller : +Print PGN Piece tag listing engine-defined pieces + +A newly defined PGN tag is printed, which summarizes all non-standard +pieces. Black copies of identically named white pieces are suppressed. +In the future also non-standard naming should be reported here. + +2014-09-25 19:11:21 +0200 H.G.Muller : +Always accept piece commands in partly supported variants + +Normally piece commands are ignored when legality checking is on, as +XBoard's idea of legality should obviously overrule the engine's. +In variants that are not or only partly supported, however, XBoard has +no own idea of what is legal, so it is better to take the engine's +advice than enforcing wrong rules. + +2014-09-25 12:29:15 +0200 H.G.Muller : +Size seek graph to also cover board rim WinBoard + +The seek graph always used the plain board size, but in WB it is +possible to diplay a rim around the board, and the seekgraph would +then be positioned in the upper-left corner of the rim, leaving the +lower and right board edge and rim uncovered. Its size is now increased +to fill the entire window (as leaving a rim around it seems not useful). + +2014-09-25 11:48:00 +0200 H.G.Muller : +Reparse ambiguous move under built-in rules + +When a move parses as ambiguous under engine-defined piece locomotion, +we re-parse it with XBoard's native idea of the pieces, just in case +it is a move from a game that was saved without the engine having +redefined the pieces. This keeps games created before the introduction +of the 'piece' command loadable. + +2014-09-25 11:14:06 +0200 H.G.Muller : +Prevent multi-path moves from parsing as ambiguous + +In Cylinder Chess the MovesFromString() generator might generate duplicate +moves, one wrapping, the other direct. When they were both counted as +matching the SAN input move, Disambiguate() would think it an ambiguous +move. So a move that came from the same square as the one we already +have must not be counted. + +2014-09-24 21:47:59 +0200 H.G.Muller : +Fix cross-edge e.p. capture in Cylinder Chess + +ApplyMove() did not remove the e.p. victim when an edge-crossing e.p. +capture was made, because e.p. rights are only set to neighboring files +(after checking there is a Pawn there to capture). The e.p. heuristic +has now been changed to also assume e.p. on file-changing Pawn moves +that span a large number of files, assuming that these will be wrapping +moves. Eventually we should change to better e.p. logic that can be +integrated with engine-configured move generation, as the current system +would fail for any Pawn that captures more than just neighbor ranks. + +2014-09-24 19:43:27 +0200 H.G.Muller : +Implement Betza o modifier for cylinder boards + + +2014-09-24 17:02:37 +0200 H.G.Muller : +Improve virginity test for engine-defined pieces + +Two squares in the board are now reserved for flags that indicate +whether back-rank pieces have been touched. This allows MovesFromString() +to accurately test virginity of these pieces, rather than having to assume +it when the piece matches that in the opening position. For other ranks +the latter test is still used, as these are normally (irreversible) Pawns, +which cannot return there (and in drop games, when they would, would again +be considered virgin enough for the purpose of double-pushing!). + +2014-09-24 13:20:31 +0200 H.G.Muller : +Implement Betza p and g modifiers in piece command + + +2014-09-24 08:28:40 +0200 H.G.Muller : +Repair piece defs with showTargetSquares off + +The proxy legality checking based on marking of target square was +rejecting all moves when target squares were not highlighted. + +2014-09-23 21:53:55 +0200 H.G.Muller : +Allow definition of castling in piece command + +Castling is defined by the O atom, with a suffix indicating the number +of steps the King must step in the direction of the corner. Kings keep +their normal castling unless overruled by this. Can currently only be +used on the variant's royal piece, as XBoard's ApplyMove() is not smart +enough to understand displacing the corner piece is implied when it is +used on other pieces. + +2014-09-23 21:49:44 +0200 H.G.Muller : +Update description of piece command in protocol specs + + +2014-09-23 14:52:16 +0200 H.G.Muller : +Improve SAN of Pawn moves and allow Betza e.p. definition + +The move descriptions in 'piece' commands can now use 'i' and 'n' +modifiers to define a blockable double push. ('n' only work for moves +of stride 2!) The test for initial moves now is based on comparison with +the opening position, rather than on a way-to-generous heuristic. (This +still does not prove in generak the piece did not move, though, but it +does for Pawns.) A new 'e' modifier stands for e.p. capture; to implement +this the rank and file of the e.p. square are now stored in the board. +(EP_STATUS was holding the file of the moved Pawn, which in Berolina Chess +is not the file of the e.p. square!) + The generation of SAN moves for Pawns can now reliably distinguish between +captures and non-captures even in Berolina, when the move generator informs +it whether the move was e.p. capture. + +2014-09-22 22:48:50 +0200 H.G.Muller : +Retune -stickyWindows GTK + +This still does not work well, and in particular windows refuse to stick +to the top of the board window. + +2014-09-22 21:59:00 +0200 H.G.Muller : +Fix detection of screen size GTK + +A gdk call that can get the screen without there first being a window +mapped to it is used now. This fixes initial sizing of the board window +on a cold start. + +2014-09-22 21:57:23 +0200 H.G.Muller : +Configure a size for the Eval Graph + +If no size for the Eval Graph window is configured in the master +settings file, the window will pop up as 2x4 pixels. + +2014-09-22 20:39:21 +0200 H.G.Muller : +Prevent crash on specifying non-existent texture XB + +By setting the texture width to 0 when the texture could not be loaded, +XBoard will never attempt to draw it. + +2014-09-22 20:30:50 +0200 H.G.Muller : +Configure some themes in XBoard master settings + +The -themeNames option is set to contain some themes that could be +defined with the default pieces and textures that come with XBoard. + +2014-09-22 18:48:00 +0200 H.G.Muller : +Remove debug printf + + +2014-09-21 16:47:41 +0200 H.G.Muller : +Control Eval Graph with mouse + +Let mousewheel control evalZoom, and right-click toggle between +normal view and differential view ('blunder graph'). + +2014-09-21 16:10:19 +0200 H.G.Muller : +Add extra font field to Option struct + +Storing the font in the textValue field was too kludgy, as this field +is already heavily used in the various Option types, for storing handles, +or defining colors and callbacks. A 'font' field is now added at the end, +so that it can be optionally initialized in the rare case it is needed. + +2014-09-21 13:44:11 +0200 H.G.Muller : +Repair damage done by merging with v4.7.x + + +2014-09-21 08:36:22 +0200 H.G.Muller : +Sort fail lows and fail highs below others + +Every more recent line should always float up aove lines that were +indicated to be fail lows or fail highs through ? or ! PV suffixes. + +2014-09-20 12:58:32 +0200 H.G.Muller : +Describe the new texture conventions in manual + +The exact rules for how textures are scaled in response to their +filename is described in the manual. + +2014-09-19 10:22:14 +0200 H.G.Muller : +Force exactly overlayed texture scaling through filename + +A filename suffix -NxM.png on a texture image will cause XBoard to scale +the image as if it were the image of a complete board of N files and M +ranks, to make the square size equal to that of the current board, +and adjust the cutting parameters such that contiguous squares are cut +out of it. (If the current board format is larger than NxM, the remaining +space will be padded with white!) + If N=M=0, N and M are assumed to correspond to the current board size, +and the bitmap will be scaled to fit the height of the board. + If no suffix is present, the old cut-and-tile algorithm is used. It will +be assumed the texture bitmap is intended for a single square, unless the +pathname contains a file that starts with "xq", in which case it is assumed +that the file contains a Xiangqi board. + +2014-09-18 23:30:09 +0200 H.G.Muller : +Allow two Pawns per file in Tori Shogi + +When the board has 7 ranks it is assumed to be Tori Shogi, and the +requirement for maximally one Pawn per file is relaxed to two. + +2014-09-18 23:08:36 +0200 H.G.Muller : +Test legality even when off if engine defined pieces + +After reception of a piece command XBoard will mark target squares +even when legality testing is off, and now also will require the lifted +piece to land on a marked square (like when the engine highlighted them +through a highlight command). + A problem is that this does not work for drops, as drops do not mark +target squares. So drops are always accepted. Which of course is bad +for Pawn drops. But there really is no way yet for an engine to specify +how pieces can be dropped, similar to the 'piece' command. + +2014-09-17 22:32:43 +0200 H.G.Muller : +Fix texture scaling + + +2014-09-17 13:41:58 +0200 H.G.Muller : +Implement engine-defined pieces + +When legality testing is off, XBoard now listens to 'piece' commands +to redefine its move generator. After such a piece command is received, +target-square marking also can be used when legality testing is off. +The engine keeps in charge of legality testing, though. + Only a very basic version of Betza notation is currently understood for +the move description: mode modifiers have to appear in the order mcd, +and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not +implemented at all. A leading i modifier limits the moves to the first +two ranks, which is no good at all. (But XBoard does not keep track of +which pieces have moved, and this at least would work for Pawns in a +FIDE-like setup, in particular Berolina.) + +2014-09-17 09:44:15 +0200 H.G.Muller : +Scale texture bitmaps that are not large enough + +Texture bitmaps are now sized up by an integer factor to be at least +as large as the board (if they seem intended for a full XQ board, which is +assumed when they are larger than 256x256) or the square. This necessitated +the textures to be re-initialized in InitDrawingSizes whenever the window +size changes. + +2014-09-16 19:04:19 +0200 H.G.Muller : +Ignore color arguments not starting with # + +Old settings files from xpm-using version might still contain color +designations like 'white' or 'red'. Since Cairo would interpret these +as black, it is better to ignore them, so the default color is used. + +2014-09-15 15:30:40 +0200 H.G.Muller : +Implement -autoInstall option + +When -autoInstall is a non-empty string, XBoard will scan the system's +plugin specs directories for UCI and WB protocol, to see if new engines +were added since the last settings save. If so, they are added to the +list of installed engines. + The variants listed in the plugin-spec files are currently ignored, +but the option is already configured to install engines for all variants. + +2014-09-14 22:47:55 +0200 H.G.Muller : +Fix typo + + +2014-09-14 21:41:04 +0200 H.G.Muller : +Make inlined functions static + +Clang apparently chokes on non-static inline functions, +and they were not used from other files anyway. + +2014-09-09 20:29:15 -0700 Arun Persaud : +updated spanish translation, added new polish translation + + +2014-09-13 09:12:54 +0200 H.G.Muller : +Look for logo in engine dir first (GTK) + +When setting engine logos, we look for a file logo.png in the engine +directory, before trying .png in the -logoDir. This is useful +on OS X. Fix bug that checks for existence of -fd/sd rather than -logoDir, +when using the latter (also in Xaw). + +2014-09-11 23:10:59 +0200 H.G.Muller : +Fix checkmarking of OS X menu items + +The routine MarkMenuItem() was moved to xboard.c, where it can see +the OSX-specific #defines, and calls to sync_menu_bar were added +to it, and to EnableNamendMenuItem(). + +2014-09-11 22:48:10 +0200 H.G.Muller : +Fix crash of tournament dialog GTK + +The font/color disambiguation of the Option.textField in Label and +ulti-line TextBox options cannot stand it if unused elements are +initialized as "" rather than NULL. + +2014-09-11 19:17:55 +0200 H.G.Muller : +Let OS X display dock icon + + +2014-09-11 12:41:50 +0200 H.G.Muller : +Fix Xaw button color error + +The textValue field, now also used to indicate font, was used in two +places when popping up buttons, and the font patch only addressed one. + +2014-09-11 10:23:42 +0200 H.G.Muller : +Make SVGDIR a variable + +Replace all occurrences of SVGDIR in the source by svgDir, a char array +that is initialized to SVGDIR, so that it can be altered at run time. +This is needed to make portable apps. Where SVGDIR was used in string +concatenation, the code had to be re-written to use snprintf to do the +concatenation at run time, through a new function LoadIconFile. +The extension of image files used there is now made dependent on the +__APPLE__ switch, so that it can use .png in OS X (which does not seem +to understand SVG icons). + +2014-09-10 21:20:40 +0200 H.G.Muller : +Fix warning in dead code Show + + +2014-09-10 20:49:38 +0200 H.G.Muller : +Reorder variants, to comply with Polyglot book specs + +XBoard's variant number is used as a key to access Polyglot opening +books, and thus cannot be changed without consequences. (As it was when +we introduced ASEAN and Chu Shogi.) + We also renamed Chu Chess to Elven Chess (under which name it is now +described on chessvariants.org). + +2014-09-10 19:52:12 +0200 H.G.Muller : +Reserve piece command in protocol specs + + +2014-09-10 18:54:45 +0200 H.G.Muller : +suppress Alien Edition standard variants + +Variants that are standard in the Alien Edition should not be +recognized as engine-defined variants: the engines that announce +them will not respond with the required setup command, so allowing +the user to select them just leads to trouble. + +2014-09-10 13:51:44 +0200 H.G.Muller : +Fix SetWidgetFont GTK + +This was testing for an empty font spec in the wrong way, with as a side +effect that some pointers to font strings would be interpreted as colors. + +2014-09-10 15:56:59 +0200 H.G.Muller : +Update protocol specs + + +2014-09-09 21:43:39 +0200 H.G.Muller : +Let message field and button bar use GTK -messageFont + +The -messageFont spec (using the default coordFont pixel size, like the +others) is now used to modify the fonts of message field and buttons +in the button bar. They pass a pointer to the appData font variable in +their Option's textField. This conflicts with the use of this field in +buttons for specifying a color, as done in the New Variant buttons. +This is resolved by checking if the first byte of the pointed-to value +is a #. The Xaw version must ignore the textField if it does not +specify a color. + +2014-09-09 20:51:54 +0200 H.G.Muller : +Fix GTK fonts + + +2014-09-09 19:57:52 +0200 H.G.Muller : +Use coordFont default pixel size for other fonts + +The message-font is way too large for the dialogs. A better solution +would be to redo the entire table of SIZE_DEFAULTS in xboard.h, as +this file is front-end-specific anyway. + +2014-09-09 19:39:50 +0200 H.G.Muller : +Use -gameListFont in Game List + +Not implemented in a very generic way, but hacked into the code that +added the handler. There aren't many other listboxes that would need +adjustable font. + +2014-09-09 16:49:18 +0200 H.G.Muller : +Fix Chat window for Xaw build + +The ICS output field and Hide button are removed from the ICS Interaction +window, to make it similar to the old Chat window. This required adding +some tests in the handlers of this window, to prevent segfaults due to +accessing it. + +2014-09-09 15:53:29 +0200 H.G.Muller : +Fix infinite-regression problem on OS X + +Apparently the OpenFile handler can already be called during +gtkosx_application_ready (or gtk_signal_connect), so we have to make +sure 'suppress' is set before we call those. + +2014-09-09 10:47:41 +0200 H.G.Muller : +Correct for .Xresources form->paneA renaming in manual + +In the Xaw build the name of the form widget of dialog.layout.form... +hierarchy was changed to paneA, paneB, ... when allowing multi-pane +dialogs through the Break Option (such as the Engine Output window). + +2014-09-09 10:36:42 +0200 H.G.Muller : +Use GTK fonts in Engine Output and Move History + + +2014-09-08 20:42:11 +0200 H.G.Muller : +Include some conditional OS X fixes + +DATADIR must be corrected to ~~ in the OS X app, and the info command +must be started in a different way. + +2014-09-08 20:12:08 +0200 H.G.Muller : +Fix WB DoEvents error + + +2014-09-08 19:06:35 +0200 H.G.Muller : +Limit auto-extending to click on first move of PV + +Even when auto-exted on clicks on the tail of a PV will no longer cause +any moves to be added to the game. Only clicks on or before the first +move can do that now. + +2014-09-08 16:20:26 +0200 H.G.Muller : +Animate multi-leg in auto-play and forward event + +Replaying multi-leg moves is now also done by animating both legs. +In addition, the highlights are set on final and intermediate square, +rather than from-square. +(There seems to be a great deal of code duplication here. Why doesn't +AutoPlayOneMove simply call ForwardInner?) + +2014-09-08 14:45:51 +0200 H.G.Muller : +Fix key bindings for non-menu functions + +The accelerator keystrokes for next game, previous game and debug mode, +which don't have menu items, and are grouped in the menu table 'noMenu', +were not treated in the building of the translation table, as 'noMenu' +does not occur on the menu bar. An extra iteration is done now to +treat this menu group. + +2014-09-08 14:24:59 +0200 H.G.Muller : +Fix Xaw key bindings + +The routine to automatically construct the translation table for +accelerator keys did not respect the rule that more specific keystrokes +(like :MetaHome:) have to be defined before more general ones +(like :Home:). As a result Alt+Home would activate the Revert +item, intended for plain Home. + +2014-09-08 14:20:08 +0200 H.G.Muller : +Define default font names + + +2014-09-08 09:25:18 +0200 H.G.Muller : +Fix MSVC problems + +Book.c did not include config.h, and thus missed the redefinition of +snprintf (which is not known in MSVC). The use of 'inline' in parser.c +also needed an MSVC redefinition, now added to winboard/config.h. + +2014-09-08 09:22:55 +0200 H.G.Muller : +Fix GTK font patch + + +2014-09-07 23:35:22 +0200 H.G.Muller : +Replace strcasecmp by StrCaseCmp + +The MicroSoft compiler does not know strcasecmp, so we better use +our own function for this everywhere. + +2014-09-07 23:28:29 +0200 H.G.Muller : +Let GTK build pay attention to font arguments + +Multi-line text edits now use the initial value of the Option.textValue +field as a pointer to a (char*) holding a font name, to be used for +the text displayed in it. (After which they overwrite the field with +the textView handle.) The font options -tagsFont, -commentFont, icsFont, +-moveHistoryFont and -gameListFont are now activated in the GTK build, +to control the corresponding memos. + +2014-09-07 13:58:15 +0200 H.G.Muller : +Fix auto-display comment option in General Options + +This options had the same ID as auto-Queen, making it ignored. + +2014-09-07 13:43:48 +0200 H.G.Muller : +Call DoEvents during time-consuming operations + +Processing of a game file for reading it, searching positions, saving +selected games or creating a book from them can take minutes. To keep +the application responsive during that time, the main loops of those +tasks calls DoEvents(). A possible risk is that the user can now do +too much, and will initiate actions that interfere with the tast in +progress. + +2014-09-07 13:32:49 +0200 H.G.Muller : +Fix GameListHighlight WB + +The routine to highlight a game line in the Game List listbox of WinBoard +used an extremely inefficient linear search to find the game amongst the +selected games. This has now been replaced by bisection, after finding +an upper limit to the number of entries in the listbox by doubling +a trial size. + +2014-09-07 12:10:50 +0200 H.G.Muller : +Provide DoEvents function in front-ends + +A routine to process all pending events in a non-blocking way is now +provided in the Xaw, GTK+ and WinBoard front-ends, so that time-consuming +tasks (such as PGN loading or opening-book creation) can call it to keep +the user control over the application alive. + +2014-09-06 23:13:01 +0200 H.G.Muller : +Fix syntax error in bitbase code + + +2014-09-06 22:35:22 +0200 H.G.Muller : +Describe Save Selected Games menu in manual + + +2014-09-06 22:29:43 +0200 H.G.Muller : +Let Save Games as Book only use selected games + +The book-creation code now only takes games into account that are +selected for display in the Game List. + +2014-09-06 22:20:19 +0200 H.G.Muller : +Rewrite key-binding section of manual + +This section still wrongly described the key-binding procedure from +before the rewrite of the XBoard front-end. + +2014-09-06 13:21:13 +0200 H.G.Muller : +Connect scroll event to Graph Option in GTK + +The mouse wheel is now detected in graphics widgets, and passed to +the user handler as button 4/5 mouse events. + +2014-09-06 13:15:55 +0200 H.G.Muller : +Make sure node count is positive + +Engines that print the node count as an int overflow into negative values +when the count exceeds 2G. This is really an engine bug, but as it +interferes extremely annoyingly with the alignment of the Thinking Output +XBoard now repairs it by adding 4G to undo the overflow. + +2014-09-05 14:03:49 +0200 H.G.Muller : +Connect mousewheel to Forward/BackwardEvent (XB) + +The mouse buttons 4 and 5 are now processed in the handler for the +board widget. + +2014-09-05 13:41:34 +0200 H.G.Muller : +Fix size of time in Engine Output window + +When the thinking time exceeds an hour, the format hr:min:sec is now used, +in stead of min:sec.cents. This prevents the field from extending beyond +the tab stop when thr hours kick in, and should work upto 100 hrs. +(Going beyond that at the moment does not seem useful.) + +2014-09-04 22:57:07 +0200 H.G.Muller : +Verify if font-spec looks like one in Xaw + +To make XBoard resistant to mixed use of Xaw and GTK builds, which +would not understand each others font specs stored in the settings +file (they have in common), we now determine if the value looks like +an X-font. If it doesn't, the Xaw version ignores it. The GTK build already +ignored it if it did lool like an X-font spec. + +2014-09-04 17:03:55 +0200 H.G.Muller : +Fix alignment in Engine Output window + +Numbers above 1000M would become too wide for their field. This is +solved by introducing the abbreviation 'G'. Values below 10M or 10G +now get an extra digit in their fraction, so that the precision is +at least 1%. + +2014-09-01 14:44:54 +0200 H.G.Muller : +Add Save Selected Games menu item + +A menu item to save all selected games in the Game List on a single +file is added. + +2014-09-01 12:03:58 +0200 H.G.Muller : +Add final piece count to search criteria + +The Load Options dialog now has a text field in which a range can be +entered (like 8-10). Position search will then only select games that +had their final number of pieces in this range. + +2014-08-29 21:15:29 +0200 H.G.Muller : +Fix castling rights on using -lgf + +The dummy InitPosition to force loading pieces was taking place after +InitBackend2(), while the latter could have already loaded a game +from an -lgf argument (which would then be spoiled by the InitPosition). +It has been moved to before InitBackend2() now. + +2014-07-29 15:03:04 +0200 H.G.Muller : +Fix crash on double-click in Game List Tags + +A double-click in the Game List Tags listbox has no function, but it +crashed XBoard, because the textValue field of teh ListBox Option definition, +supposed to contain a pointer to the user-supplied handler, contained a +pointer to an empty string. + +2014-07-02 14:34:53 +0200 H.G.Muller : +Fix typing of null moves + +Entering a null move through the move type-in could fail because the +to-square coordinates (not used in its encoding) could have invalid values, +which would reject the move in an early stage of UserMoveEvent(). +Null moves are now exempted from this vaidity test, while variants where +null moves are legal now accept them in any gameMode. + +2014-07-02 14:04:22 +0200 H.G.Muller : +Fix adjusting clocks in Xaw version + +The handler attached to Label options failed to flip the sign of the +option number when a button other than Button1 was pressed, so that time +would always be subtracted on Shift + ClockClick and never added. +Shift now also suppresses interpretation as null move when playing. +(In Analyze / EditGame mode it is still null move starting a variation.) + +2014-07-02 12:37:18 +0200 H.G.Muller : +Fix null-move entry during play + +Null moving by clicking the clock was only accepted in Edit Game and Analyze +mode, while in Chu Shogi and spin-offs it is also allowed during play. +An F_NULL_MOVE flag was introduced to make it easy to test for such variants, +and Machine White/Black mode now also interpret clock clicks as a null move +if the opponent's flag has not yet fallen. + +2014-04-09 09:53:56 +0200 H.G.Muller : +Let EditPosition double-click on piece promote it + +For pieces with Shogi-like promotion (i.e. if the promoted piece has +pieceToChar defined as '+'), let a second click on it in Edit Position +mode promote or demote it (as the case requires) when the piece menu is off, +rather than remove it (as was the old behavior. + +2014-04-09 09:19:43 +0200 H.G.Muller : +Make EditPosition pallette work in Asian variants + +Construction of the pallette position was not working in variants that +did not have Pawns start on 2nd rank, or that had multiple ranks of pieces. +Now the algorithm is applied to all ranks. + +2014-04-05 23:00:17 +0200 H.G.Muller : +Fix crash on opening Tags window Xaw + +Suppressing the optional book button made the Xaw generic popup crash, +because the following button had the SAME_ROW modality, and was thus +positioned w.r.t. a non-existent widget. + +2014-04-05 20:39:55 +0200 H.G. Muller : +Fix writing of Chu-Shogi FENs + +Promoted pieces were getting the wrong ID letter, of the piece demoted +by 11, rather than 22. + +2014-04-01 18:20:29 +0200 H.G. Muller : +Allow pseudo-engines to adjust the clocks + +Implement new options -first/secondPseudo, which declare the corresponding +engine to be a pseudo-engine, which will then be granted super-powers +through some new engine->GUI commands. For instance, to adjust the time +remaining on the GUI clocks through wtime and btime commands (using msec). + +2014-04-01 12:00:14 +0200 H.G. Muller : +Fix piece inscriptions + + +2014-04-01 11:16:48 +0200 H.G. Muller : +Fix reading Chu Shogi FENs + +The X (for Phoenix) was interpreted a 10 empty squares. + +2014-03-17 23:26:08 +0100 H.G. Muller : +Fix loading positions in engine-defined variant + +Paste Position did not work when an engine-defined variant had redefined +the pieceToCharTable, as the position would be interpreted and sent to the +engine before receiving the setup command. Copying the pieceToCharTable +received from an earlier game to appData cures this, because it will then +be used by InitPosition, which would reset the table to default otherwise. + Another problem was that setupSpoiledMachineBlack would not be reset +after a game with no moves, leading to a spurious 'go' command to the engine. + +2014-03-17 23:05:33 +0100 H.G. Muller : +Render inscriptions on Chu-promoted pieces in red + + +2014-03-17 22:56:07 +0100 H.G. Muller : +Allow writing text on pieces + +A new persistent string option -inscriptions allows the user to define +characters to be written on the various piece types. The string is +interpreted as UTF-8. This option is useful for on-the-fly synthesis +of Shogi pieces, where the string can contain the various kanji in +the canonical pieceToCharTable order. Except that only a single color +has to be given. + +2014-03-12 22:08:04 +0100 H.G. Muller : +Fix initial sizing of board + +Previous patches had destroyed the ability to obey the -size option. + +2014-03-10 21:15:30 +0100 H.G. Muller : +Fix width of menu bar + +The truncated name might not have been terminated with '\0'. +TinyLayout now specifies the number of characters kept in the menu names. +In the OS X version truncating is never needed, as the menu bar is +at the top of the screen, independent of board size. + +2014-03-09 20:38:51 +0100 H.G. Muller : +Fix warnings fonts patch + + +2014-03-02 23:10:50 +0100 H.G. Muller : +Implement (clock-)font handling in GTK + +The options -clockFont, -coordFont and -messageFont are activated, +and supposed to have string values like "Sans Bold 12". The default +values have the point size as 'wild-card' %d, however "Sans Bold %d", +and are expanded by a printf with the point size taken from the defaults +table. The expanded versions are saved back into the settings file, +prefixed with a size tag, as usual. + So far -clockFont is the only font that is actually applied while +writing. + The 'clock kludge' was interfering with the initial sizing, as for some +sizes the initial clock-widget height happened to be equal to the final +height. It was therefore abandoned, and we seem to be able to live without +it. + Sizes smaller than 49 were dominated (for 8-wide boards) by the menu bar. +Therefore tinyLayout now uses single-letter menu labels. + +2014-03-02 20:45:57 +0100 H.G. Muller : +Also search indirection files in user's .xboard tree + + +2014-03-02 18:53:17 +0100 H.G. Muller : +Fix error Engine Output text highlighting + +In wengineoutput.c higeTextStart and End where decalred both static and +extern, which somecompilers justifiably don't like. + +2014-03-01 16:09:09 +0100 H.G. Muller : +Fix Board-dialog bug WB + +The drawing code for the sample square did ot restore the correct brush. + +2014-02-28 21:48:19 +0100 H.G. Muller : +Fix various warnings + +Mostly written but never read errors. Also removed a debug printf that was +causing a format warning. + +2014-02-26 16:34:52 +0100 H.G. Muller : +Kludge repair of expose after startup resize + +Redraw of the main board after resize is delegated to DragProc, which is +scheduled after a delay, to make sure the user is done sizing (mainly to +reposition docked windows). But at startup the program-requested resize when +an engine does not support variant normal and needs a different board format +takes so long that the finale size expose occurs after the DragProc timeout. +As a result, the board was never drawn on the resized canvas. + This is quite hard to fix in a satisfactory way. For now the suppression +of board redrawing during resize is disabled during the first 10 seconds +after startup, as any resize during that time is likely to be the result +of a program request. + +2014-02-26 13:08:50 +0100 H.G. Muller : +Use first engine as default for second + +Rather than having the same fixed default for both engines, we noww only +have a fixed default for the first, and use the actual first as default +for the second. One advantage is that this guarantees the second engine +plays the same variants as the first by default. + +2014-02-23 23:51:20 +0100 H.G. Muller : +Allow adding played move to book + +A button is added in the Edit Book dialog to prime XBoard for adding the +next move entered through the user interface to the book window, without +actually playing it. + +2014-02-23 22:54:55 +0100 H.G. Muller : +Play move right-clicked in Edit Book dialog + +A handler for button-3 down-clicks is added to the Edit Tags dialog, +which fakes the clicked word was typed in the move type-in box. + +2014-02-23 19:23:28 +0100 H.G. Muller : +Fix pop-down of ChatDlg and TextMenuDlg from menu + +Unlike other windows these two would not react to clicking the menu item +once they were up. Now they pop down in that case. + +2014-02-21 11:10:41 +0100 H.G. Muller : +Preserve window width on board-format change + +When a variant switch would cause recalculation of the board window, +we now first recalculate square size to keep the window width fixed. +Also adapt initial width on high boards. + +2014-02-18 22:37:31 +0100 H.G. Muller : +Equip Board Options dialog with themes listbox + +The option -themeNames is made persistent for XBoard, and its value is +displayed in a listbox added to the View -> Board dialog. The user +can select themes from this, and manipulate the contents similar to +the engine list in Load Engine. A textedit allows the user to define a +theme name for the current settings, and doing so adds the theme to the +-themeNames list. + +2014-02-07 11:22:44 +0100 H.G. Muller : +Implement copy function in ICS Text Menu + +A command consisting of the word $copy will place the clicked word on +the clipboard. When there was already text selected during the click, +that selected text will be used for $copy and $name, rather than the +right-clicked word. + +2014-02-07 09:48:31 +0100 H.G. Muller : +When ICS Console open EOF from keyboard is no error + +In case the user started without a terminal, we just close the input source, +and suppress future writing to the xterm. + +2014-02-06 18:46:21 +0100 H.G. Muller : +Leave xterm at start of new line after quitting XBoard + + +2014-02-06 18:36:41 +0100 H.G. Muller : +Also display channel tell in ICS Console during private chat + +Channel tells of players for which a chat wa opened were displayed in that +chat, as well as in the channel chatbox, if the latter was open. But when +there was no channel chatbox it would not appear as colorized channel tell +in the console. This is now fixed, and in the private chat box such a +message is indicated as 'broadcast'. + +2014-02-05 23:08:50 +0100 H.G. Muller : +Write broadcasts also to private chatbox of talker + +The shouts or channel chatboxes capture messages first, but if a private +chat with the talker is opened, it now goes there too. Prefixed with +the type of broadcast. + +2014-03-02 13:18:34 +0100 H.G. Muller : +Fix Xaw Chat Console + + +2014-02-05 22:38:09 +0100 H.G. Muller : +Let Ctrl-O key open chat for last talker + + +2014-02-05 22:15:03 +0100 H.G. Muller : +Add End Chat button + +This button clears the current chat, so that it becomes free for +assignement to another partner. + +2014-02-05 21:59:10 +0100 H.G. Muller : +Ctrl-N in chat opens empty chat + +This key isequivalent to pressing the left-most New Chat button. +If no unused chat present, it the command will be ignored. + +2014-02-05 21:29:42 +0100 H.G. Muller : +Preserve unfinished input lines during chat switch + +This is problematic, as apparently we cannot write in widgets that are +active with key hits, so attempting to write it back in response to Tab +did not work. This is now done with a delay, for lack of a better method. + +2014-02-04 13:57:16 +0100 H.G. Muller : +Recognize Esc and Tab in ICS Console input + +Esc is used to close the chat, or transfer focus to the board window. +Tab is used to navigate between chats (or open the first). Priority +is given to dirty chats. + +2014-02-03 20:35:31 +0100 H.G. Muller : +Let ICS Console pop up GTK in stead of ICS Input Box + + +2014-02-03 19:45:44 +0100 H.G. Muller : +Add context menu to ICS console XB-GTK + +A right-click handler is added to the output memos of the ICS Interaction +window. It pops up the ICS text menu. It is remembered whether the menu +was already up; if not, it will be popped down after a command is selected +from it. Like the WinBoard context menu, the commands will be able to use +the clicked word. +The -icsMenu 'command' $chat is now recognized as a special case, not to +be sent to the ICS, but executed by XBoard. It will assign one of the +five chats to the clicked name. If no empty chat is available, the last +chat will be used (but not cleared). + The -icsMenu in the master config file is now configured to contain +this command, but unfortunately this will not become effective for users +that already have a settings file. +The Text Menu now puts $input commands in ICS Console Input field when the +ICS Input Box is not up. + The text placed in the input field for completion (as per $input directive) +turned out to be selected in GTK, so that when you stated typing, it was +erased again! + By making the Text menu dialog subject to WindowPlacement control, +and interrogating the poition of the ICS Console window, the Text Menu +can be popped up such that the mouse pointer is on the bottom-left button. + +2014-02-02 21:17:00 +0100 H.G. Muller : +Integrate ICS output into Chat Window + +An extra pane has been added to the Chat Window to display the ICS output. +In GTK this output is colorized just as in the xterm. For Xaw this is not +possible. This pane is always visible, and the chat output can be hidden, +to double its size. Entered input will go to the selected chat (when not +hidden) as a tell or shout, or to the ICS as a command. The Chat-Partner +field is hidden together with the chat pane and the Hide button. Each of +the five chats now has a dedicated button; for unused chats (empty Chat- +Partner field) these now gets the text 'New Chat' inscribed on it. +Focussing is made more intelligent (to the Partner field when shown and +empty, otherwise to the input field). +The Up and Down arrows now work in the input field to recall old input. + ScrollToCursor() was broken in GTK, because a mark was made for only +a single buffer. Now each buffer has its own end mark. + Another problem was that using ScrollToCursow immediately after a memo +was shrunk (because a neighboring one expanded) it would still use the +old memo size, so that the bottom part remained out of view. Delaying it +50 ms solved that problem. + A new option -icsUp was added to store the visibility in the settings. +It is updated only in ICS mode. The ICS Console pops up automatically +when the stored parameters say so. It is also made sticky. + Unlike the xterm the textView does not extend background color to unwritten +positions behind the line. A separate GTK call is now added to set the +unwritten part to the same color as the background in normal text. + A control was added in the ICS Options dialog for setting the colors +of normal text (-colorNormal). + +2014-02-02 17:27:26 +0100 H.G. Muller : +Add logo-size control XBoard + +This is mainly for the benefit of OS X useres who cannot find their +settings file. It requires a restart to become effective, which is +really sub-standard. + +2014-02-02 17:18:56 +0100 H.G. Muller : +Add Edit Engine List menu item to XBoard + +In OS X the settings file is hard to find... + +2014-02-02 16:41:13 +0100 H.G. Muller : +Fix warnings + +Some unread variables are commented out, rather than removed, because they +can be useful for future development. + +2014-02-02 16:33:34 +0100 H.G. Muller : +Fix moves of Spartan Captain + +The rewrite of the move generator did no longer pay attention to rookRange, +so that the Spartan Captain moved like a Rook. + +2014-02-02 16:18:07 +0100 H.G. Muller : +Add Option type 'Skip' + +The value -1 used to suppress rendering of option controls was drawing +error messages, because enums are unsigned. So a new member Skip was added +to the enum. + +2014-02-02 14:40:16 +0100 H.G. Muller : +Detect Fischer castling in FENs + +Castling rights with unorthodox piece placement imply Fischer castling. +Make sure shuffling is done after detecting this, because it means K & R +can also be shuffled (as long as K remains between both R). + +2014-02-02 14:09:19 +0100 H.G. Muller : +Allow shuffling indicators in FEN + +If the back ranks are enclosed by < > in a FEN, the route to shuffle +initial positions is invoked on it. + +2014-02-02 13:51:37 +0100 H.G. Muller : +Allow wild-cards in FEN + +A question mark in a FEN will now be interpreted as a piece randomly +chosen from the holdings. (From which it will be removed.) Intended +for use in symmetric black/white pairs; when used on asymetric locations +or with non-identical holdings the results will be undefined. + +2014-02-02 10:40:18 +0100 H.G. Muller : +Fix Seirawan reverse-castling animation + +In Chess960 animation of castlings is suppressed, because the move is encoded +as KxR, so that the to-square in general is not the final destination of the +King. So it is just confusing to the eye to see the King slide to the Rook, +and then jump to an entirely different square. In S-Chess castlings can +similarly be encoded as RxK (to indicate gating at the Rook square), and +animation of those moves should be suppressed for the same reason. But it +wasn't, and in Fischer castlings denoted as RxK this even caused the Rook +to disappear when it didn't need to moved. + Perhaps one day a smart method of animating Fischer castlings can be +designed. (E.g. remove Rook, animate King move to true to-square, place Rook? +But what if the King doesn't move at all? Animate Rook then? Normal castlings +now animate the King, and then just displace the Rook.) + +2014-02-02 10:22:25 +0100 H.G. Muller : +Make Fischer castling generally available + +A new volatile option -fischerCastlings allows every variant to be played +with Fischer castling, which so far was only allowed in variants FRC/CRC. +This only makes sense in shuffle variants, where King and Rooks might not +be in their orthodox locations. But even when they are, it has consequences +for the user interface, which will require dragging King on Rook as the only +way to enter castling. Like -shuffleOpenings the setting will be cleared +as soon as you switch variant (unless you switch to FRC/CRC, where they +Fischer castling is on by default). It can be set from the New Shuffle dialog. + +2014-01-19 22:41:52 -0800 Arun Persaud : +updated po/pot files + + +2014-01-19 22:19:10 -0800 Arun Persaud : +new version number for developer release + + +2014-01-19 22:15:33 -0800 Arun Persaud : +updated Dutch translation + + +2014-01-19 20:44:33 +0100 H.G. Muller : +Put ponder checkbox in Common Engine dialog WB + +This is yet another duplicate of the one in General Options and Adjudiactions. + +2014-01-19 20:27:59 +0100 H.G. Muller : +Expand %s in -openCommand to DATADIR and fix OSX settings-file name + +This can be used in OS X to biggy-back a cd to a directory in the App +on the open command. + +2014-01-18 23:42:01 +0100 H.G. Muller : +Add some checkboxes in General Options dialog WB + +Checkboxes are added for -variations, -memoHeaders and -autoExtend. + +2014-01-18 23:26:03 +0100 H.G. Muller : +Fix warning in CheckTest + + +2014-01-18 22:40:27 +0100 H.G. Muller : +Fix printing of engine-output headers + +They were not printed on analyis of the first position after opening +the Engine Output window. + +2014-01-16 23:07:28 +0100 H.G. Muller : +Fix sticky windows on Win8 + + +2014-01-16 22:54:32 +0100 H.G. Muller : +Drag touching edges together (WB) + +When an auxiliary window is dragged by an edge, the snap code now checks +if that edge was touching another window. If so, that other window is sized +to keep touching the dragged edge. Unless it was also touching the main +window. + +2014-01-15 22:35:23 +0100 H.G. Muller : +Implement new mate-score standard + +Matescores are now indicated in the protocol as +/- 100000+DTM, +and in the Engine Output window as #DTM or #-DTM. + +2014-01-15 21:28:51 +0100 H.G. Muller : +Put fail-high/fail-low indicators in protocol specs + + +2014-01-15 20:43:55 +0100 H.G. Muller : +switch to new tbhits protocol + +The extended info is now expected as 3 bare integers, the last one +separated from the PV by at least one tab character. +The protocol extension is described in the CECP specs document. + +2014-01-14 22:37:30 +0100 H.G. Muller : +Fix sorting of Engine Output + +The moveKey of the top line was never stored, so that more recent +lower scores could not pass it even if they had the same move. + +2014-01-14 22:35:22 +0100 H.G. Muller : +Handle fali-low & fail high + +A ? or ! at the end of the PV are now also written behind the score. + +2014-01-14 20:31:46 +0100 H.G. Muller : +Implement extended thinking output + +The PV field can now start with three quantities, selective depth, +engine speed and tablebase hits, disguised as PGN comment. XBoard will +strip that off, and allow them to be displayed in separate columns of +the engine-output window. + +2014-01-14 14:46:47 +0100 H.G. Muller : +Allow hide/show of columns in Engine Output + +A new persistent Boolean option -memoHeaders enables a new feature: +text headers are shown above the depth, score, nodes, time columns in the +engine output. Right-clicking them will subsequently hide the corresponding +data, and move the column header to above the PV in a 'not shown' list, +where it can be clicked again to re-open the column. +Configure maseter settings to switch -memoHeaders on by default. + +2014-01-14 09:55:40 +0100 H.G. Muller : +Fix ManProc for OS X + + +2014-01-14 10:02:22 +0100 H.G. Muller : +Fix access to ~~/themes/conf for OS X + +In OS X DATADIR is a variable. + +2014-01-13 19:23:30 +0100 H.G. Muller : +Add 'Continue later' button to Tournament dialog XB + +To do GenericReadout without triggering a call to the OK function, +we introduced a new value for the option-number parameter, -2. + +2014-01-13 17:32:28 +0100 H.G. Muller : +Fix Tournament Options dialog + +Deleting a Label option had renumbered the remaining Options, breaking +the dialog and causing a crash when an engine was selected. A considyency +check is now added to catch this condition, and throw an error popup +when we mess up again. + +2014-01-13 17:09:01 +0100 H.G. Muller : +Allow popup of TC and Common Engine from Tournament dialog + +A new dialog class MasterDlg was added, similar to TransientDlg, +but to allow two dialogs to be up simultaneously. The Tournament Options +dialog was migrated to this class, so it can now get buttons to pop up +the Time Control and Common Engine dialog, like WinBoard. It even has +a button for the General options dialog. +Special care had to be taken to prevent popdown of the MasterDlg when +a Transient child is still up (similar to browser or error childs). + +2014-01-13 16:21:59 +0100 H.G. Muller : +Add --show-config special option + +This prints a list of configure parameters, and then exits. If a second +argument is given, it only prints the value of that config parameter, +so that tricks like cp *.svg `xboard --show-config Datadir`/themes/chu +can be used in install scripts of packages with piece images. + +2014-01-13 14:25:30 +0100 H.G. Muller : +Overhaul kill code + +Engines were not always forcefully killed in XBoard, which could make +the tournament manager hang when an engine became unresponsive to "quit". +The various levels of killing are now revised, and the -delayAfterQuit +is absorbed in DestroyChildProcess(). There is a hard killing mode 9, +which immediately sends SIGKILL, intended for engines that have already +proven to malfunction or could not start at all. In other cases SIGTERM +is sent according to specs, but a SIGKILL is scheduled -delayAfterQuit + 1 +sec later just in case the SIGTERM would be ignored. + +2014-01-13 13:38:47 +0100 H.G. Muller : +Fix name of master settings file in OS X + +The name needs to be relative to the bundle path, but ~~ expansion +did not work for compiled-in defaults, as the expansion takes place +when parsing an option. The dataDir is now also kept in an array rather +than as a pointer, to allow it to appear in statically initialized tables. + +2014-01-08 16:25:25 +0100 H.G. Muller : +Fix Chu promotion of L, HM and GB + +The promotion popup would not be shown for HM and GB with legality testing +on because the piece types used for them were wild-card pieces. The Lance +was treated as a Pawn in HasPrmotionChoice(). + +2014-01-08 16:09:15 +0100 H.G. Muller : +Remove redefine of DATADIR that leaked in from v4.7.x + +2014-01-05 12:52:46 -0800 Arun Persaud : +updated po/pot files + + +2014-01-05 12:51:50 -0800 Arun Persaud : +new version number for release 4.7.3 + + +2014-01-05 10:58:48 -0800 Arun Persaud : +updated copyright to 2014 in menu.c + + +2014-01-05 10:37:56 -0800 Arun Persaud : +removed .DS_Store file from git + + +2014-01-05 10:34:08 -0800 Arun Persaud : +Updated copyright notice to 2014 + + +2014-01-05 10:27:53 -0800 Arun Persaud : +cleanup some trailing whitespaces + + +2013-12-29 13:46:40 +0100 H.G. Muller : +Fix crash on use of dialog Browse buttons GTK + +The code to set a filter did not expect multiple extensions, and would +cause a buffer overrun when there were. + +2013-12-27 20:12:23 +0100 H.G. Muller : +Make building of Windows .hlp file optional + +By using && and || operators in the build recipe, the building of WinBoard +with Cygwin is now not aborted whe the Help Compiler is not installed. + +2014-01-05 11:47:18 +0100 H.G. Muller : +Use __APPLE__ compile switch for OS X + +It seems that on Apple machines the compiler will always define the +symbol __APPLE__, so this is now used instead of OSX, which had to +be defined with a -DOSX compiler flag. The gtkmacintegration header +is now using <> in stead of "" in its #include. (Strange enough both +were working.) + +2014-01-04 12:18:30 +0100 H.G. Muller : +Expand ~~/ to bundle path (OSX) + +DATADIR is #defined in WinBoard as "~~" to make the expansion a no-op +there. Same for Linux compiles. For OS X it is #defined as a variable, +obtained from GTK-OSX at startup. + +2013-12-29 23:27:12 +0100 H.G. Muller : +Activate ManProc in GTK + + +2013-12-29 22:14:06 +0100 H.G. Muller : +Remove use of strndup + +The use of strndup was actually unsafe, as the length was passed using +an ordinary strlen. strndup was not availableon OS X 10.6, and is now +replaced by an ordinary strdup, which should be save enough. + +2013-12-29 22:09:10 +0100 H.G. Muller : +Put some OSX code into gtk version + +Under control of #ifdef OSX code is added to integrate the GTK front-end +into OS X. This involves moving the menu bar to outside the window, and +catching the signal that OS X sends to running applications when opening +another instance was requested. Som files are renamed to conform to the +file tree of the OS X App package. + +2013-12-27 21:47:55 +0100 H.G. Muller : +Cure weirdness when dragging outside of board + +Dragging outside the board (when people maximized the window) did not +properly restore background, (leaving a trail of dragged piece). Filling +the canvas with white when it is creatd cured this. The problem most likely +was that unitialized cairo surfaces had transparancy, and writing back +transparancy doesn't helpmuch to erase things. + +2013-12-09 14:52:32 +0100 H.G. Muller : +Fix sorting of lines in Engine Output + +Lines tat were fail-lows or fail-ighs should get the scores on the basis +of wich they are sorted corrected to that of te line (for the same move) +superceding them, so that other moves can rise to above them, when they +score higher than the corrected score. + +2013-12-05 20:08:35 +0100 H.G. Muller : +Make filler variant button inactive + + +2013-12-05 17:50:21 +0100 H.G. Muller : +Fix packing of FRC castlings + +The routine for packing moves to the internal database format was not +working for FRC castlings, totally messing up position search for FRC +and CRC. + +2013-12-05 16:23:53 +0100 H.G. Muller : +Fix Xaw file-browser New Directory + +Prevent people from using the error messages that will be printed here +as directory name by pressing New Directory a second time after first +pressing it with an empty or existing name. + +2013-12-05 16:14:02 +0100 H.G. Muller : +Widen Xaw text entries for larger square sizes + +Presumably people will use larger fonts if they use larger board squares. +(And in any case te default fonts would be larger.) This means they need +more space to see what is the current value of text options. + +2013-12-05 15:47:26 +0100 H.G. Muller : +Remove width limiting of shuffle checkbox + + +2013-11-28 13:30:40 +0100 H.G. Muller : +Allow castling and e.p. to be edited in opening book + + +2013-09-16 22:32:32 +0200 H.G. Muller : +Repair FRC A-side castling legality testing + +XBoard allowed A-side castling when a rook started on the a-file, +and the b-file was blocked. + +2013-09-16 22:27:50 +0200 H.G. Muller : +Repair XBoard from node-count patch + +u64 was #defined in backend.h, which unfortunately was almost alwats +(Not sure why WinBoard did not suffer from this!) This, and related +definitions have now been moved to common.h (which is always #included +first). + +2013-09-15 20:13:06 +0200 H.G. Muller : +WinBoard multi-monitor support + +A patch provided by Tim Kosse + +2013-09-15 19:28:54 +0200 H.G. Muller : +Fix node count range + +The node count was still clipped to 32 bit because one of the structs +it passes through (FrontEndProgramStats) had the nodes field declared +as an unsigned long. + +2013-09-15 19:12:42 +0200 H.G. Muller : +Fix adjudication of Giveaway stalemates + +The case where the side-to-move would win by stalemate was not treated +in the Adjudicate switch. + +2013-08-30 17:33:59 +0200 H.G. Muller : +Fix buffer overflow in parser + +When a line ended with a comment, the parser had to read a line ahead +to check if there was a PGNresult following, without being able to +throw away the previous line yet. This could lead to buffer overflow +in a long game where every line ended in a comment. The buffer now is +cleansed of already parsed data when starting on a new syntactical unit. + +2013-08-27 22:55:52 +0200 H.G. Muller : +Fix -zippyVariants option + +Due to the change of cps->variants from (char []) to (char *), copying +zippyVariants to it on behalf of v1 engines would no longer work. This +is fixed by using ASSIGN() in stead of safeStrCpy(). + +2013-08-26 18:25:55 +0200 H.G. Muller : +Fix initial board sizing WB + +The initial board size was based on the assumption the board would be 8x8. +This could push auxiliary windows off screen if the board was smaller, +after which EnsureOnScreen would undock them and park them in the upper- +right corner before the board assumed its true size. InitPos() is now called +before the initial sizing to et the board format correctly, InitDrawingSizes() +had to be made resitant to calling before a board size was picked for this +(because InitPos() might call that too). + ActivateTheme() now uses the new board size, not the previous one (as was +indicated by size -2), so that -boardSize specifications inside a theme +will take effect. + Board size petite should not be forbidden for Shogi; all pieces exist there. + +2013-08-26 14:40:57 +0200 H.G. Muller : +Fix grabbing of selected piece + +A second static click on a selected piece should deselect it, but an attempt +to drag an already selected piece should not 'bounce off'. It was already +possible to move a selected piece to another square, but the dragging was +not animated. This is now fixed, by only skipping the code to start dragging +when the second click is part of the only-move double-click for only capture. +(Before it was skipped on any second click.) + +2013-08-26 13:35:47 +0200 H.G. Muller : +Allow entry of negative numbers in spin control (WB) + +Windows numeric controls do not accept negative numbers, so in case the +range of a spin option can go negative, the style ES_NUMBER should not be +set on the control. + +2013-08-26 11:37:27 +0200 H.G. Muller : +Allow drops / promotions/ deferrals to be edited into book + +For no real reason only NormalMove would be accepted when parsing the list +of book moves. + +2013-08-26 11:28:54 +0200 H.G. Muller : +Fix GUI book after setup position + +The routine to send move to the engine would automatically append a 'go' +is a preious setboard had put the engine in force mode, but this should +not happen on a book hit, where the engine should even be put in force mode +if it was not yet there. + +2013-07-05 18:32:46 +0200 H.G. Muller : +Fix book creation + +Due to duplicate use of the same file pointer variable the game file would be +closed before any games were read from it. + +2013-05-20 11:14:01 +0200 H.G. Muller : +Make PGN parser immune to unprotected time stamps + +The parser choked on time stamps of the form dd:dd or dd:dd:dd if one +of the fields happened to be 00, because it wouldmistake that for a +non-compliant king-side castling. By excluding this interpretation when +the 00 is immediately preceded or followed by ':' this is now prevented. + +2013-05-05 08:03:00 -0700 Arun Persaud : +updated po files for new release (make distcheck) + + +2013-05-05 07:57:22 -0700 Arun Persaud : +new version number for release 4.7.1 + + +2013-05-05 07:53:54 -0700 Arun Persaud : +updated Changelog, NEWS, etc. + + +2013-05-02 22:47:44 +0200 H.G. Muller : +Update zippy.README + +It is explained how to generate multi-line commands for -zipyGameEnd. + +2013-04-01 20:43:36 +0200 H.G. Muller : +Fix Xaw file browser + +The 'next page' entry of the Xaw file browser contained a \177 character +to keep at sorted at the bottom. This caused trouble for gettext. +Now the sorting range is adapted so the 'next page' is never part of it. + More seriously, the listbox fill code had a wrong cast when testing for +an empty listbox on the first element, so that it only tested the low byte +of the pointer, in stead of the entire pointer for NULLness. As a result +the contents of the listboxes could suddenly disappear when even when it +was non-empty, because the first filename was allocated at an unlucky address. + +2013-03-22 19:23:25 +0100 H.G. Muller : +Make Chat Box window obey -topLevel option + +It was always popping up as a dialog of the main board, covering it. +One could argue it should always be to-level. + +2013-03-19 13:20:24 +0100 H.G. Muller : +Fix scrolling of Chat Box + +Seems the problem is that scroll_to_iter does not work until after some time, +needed to calculate line heights. Use scroll_to_mark instead, after clumsily +adding a text_mark. + +2013-03-17 10:33:31 +0100 H.G. Muller : +Fix GTK SetInsertPos + +SetInsertPos() was not yet ported to GTK, with as a result that the cursor +was positioned at the start of a line recalled in the ICS Input Box, +rather than at the end. The code also called SetInsertPos to force scrolling +to that point in the text (which in Xaw is an automatic side effect). So for +multi-line text edits this function calls ScrollToCursor(). For some reason +this does not work when replacing texts in the Chat Box memo, when switching +chat, although it does work in the same memo when a line is added to the +existing text. + +2013-03-07 21:38:43 +0100 H.G. Muller : +Print score of final position in Analyze Game + +The score/depth of the final position of the analyed game is added +(as an explicit comment) behind the PV of the forelast position. +To make this work, a new 'addBraces' mode (3) had to be added to +AppendComment, which suppresses stripping of the score/depth from +the comment. + +2013-03-12 18:50:08 +0100 H.G. Muller : +Fix horrible bug in reading scores from PGN + +Reading scores like -0.94 flipped the sign, because the integer part +-0 would read as 0, and thus was no reason for sign flipping. + +2013-03-10 12:43:59 +0100 H.G. Muller : +Fix disappearence of pieces that were moved illegally + +Dragging damages the from-square, but it is not marked as such, because +selective board redraws to update highlights and such would draw the piece +that is really still there, making it flash on the from-square before +the position after the move is drawn. This, however, backfires when the +move was illegal, as then there is no draw of a new position, and the +from-square stays empty. For now this is solved by making DisplayMoveError() +order a total redraw. (As this is rare, only done in case of an error, +and might even throw up a pop-up, the performance cost of this is acceptable.) + +2013-03-20 17:50:33 +0100 H.G. Muller : +Fix quoting of book name in tourney file + +The argument of -polyglotBook was written to the tourney file unquoted, +which effectively made it disappear if it was an empty or blank string. + +2013-03-07 18:11:31 +0100 H.G. Muller : +Provide compatibility with Alien Edition setup command + +The setup command of the Alien Edition has a board-size specifier +(possibly as prefix on a parent-variant name) between pieceToCharTable +and FEN. The regular version would choke on that, precluding engines +designed for the Alien protocol extension to have their setup processed +when running under regular XBoard. This patch makes it skip the extra info. + +2013-03-07 17:52:02 +0100 H.G. Muller : +Fix saving of analyzed game + +Anotated games after batch-mode Analyze Game were not auto-saved, +because the GameEnds() call supposed to do that was called with a NULL +argument for resultDetails. Now it is called with the resultDetails as +pre-existing in the gameInfo, or an empty string if none exist. This bug +was masked by the fact that in standard game ends (mate, etc.) the +analyzing engine would declare game end and supply a message. + Also makes a distinction between Analyze Game and regular Analyze mode +when resuming analysis after loading a game; only the former now would +trigger a batch analysis. + +2013-03-07 17:48:45 +0100 H.G. Muller : +Fix spurious popup after batch-mode Analyze Game + +A batch analysis of games was not properly terminated, because the game +mode was tested after it had already been changed. No oldGameMode is +tested in stead. + +2013-03-02 22:21:29 +0100 H.G. Muller : +Let XBoard -autoBox option also affect move type-in + + +2013-03-02 22:17:31 +0100 H.G. Muller : +Fix GTK box popup + +Key values > 255 are used for PgUp, PgDown etc., so to pop up only on +printables needs a two-sided test. + +2013-03-01 12:50:06 +0100 H.G. Muller : +Fix fatal error on unsupported board size + +When a board size unsupported by the engine was requested through the +New Variant dialog, this was discovered while the dialog was still up, +causing the error message to pop up as a child of the New Variant dialog, +so that it would immediately be taken down as the latter closed. +As a result it could not be confirmed, so that XBoard would not exit, and +was left in a pathologic state (ignoring window-close). This is fixed +by performing Reset (which detects the error) after PopDown of New Variant. + +2013-03-01 12:39:40 +0100 H.G. Muller : +Accept setup command for non-standard board size + +The code to test if board-size is standard for the current variant +has been moved to a subroutine, to allow its calling when receiving +a "setup" command from the engine. + +2013-03-01 11:57:01 +0100 H.G. Muller : +Fix buffer overflow in feature parsing + +String features (variants, egt, myname and option) relied on a buf[MSG_SIZ] +for processing their value. The Nebiyu engine had combobox options that +required more than that. All string features are now stored in allocated +memory rather than in static arrays, and StringFeature allocates a buffer +of sufficient size for them. Only limitation now is the low-level input +buffer in the InputSource threads, whih is a static buffer of 4096 +(=INPUT_SOURCE_BUF_SIZE) characters. + +2013-02-27 23:44:55 +0100 H.G. Muller : +Fix vertical sizing of GTK board + +The clipping of the boad at the bottom was due to resizing of the clock +height when we first write it with a big font. This patch delays calculation +of the final size until after the clock height changes. + +2013-02-26 21:13:32 -0800 Arun Persaud : +Updated German translation + + +2013-02-26 20:27:24 -0800 Arun Persaud : +Updated Ukrainian translations + + +2013-02-26 17:59:43 +0100 H.G. Muller : +Fix of argument error + +Oops. Pevious patch for skipping unknown multi-line arguments +was still buggy. + +2013-02-26 17:44:10 +0100 H.G. Muller : +Let popping up of WinBoard chatbox for channel open it + +WinBoard now issues a +ch command for a channel when you pop up a chatbox +for that channel. A work-around is added for the fact that the public +FICS seems to ignore the first such command. + +2013-02-26 17:27:59 +0100 H.G. Muller : +Make skipping of unknown option smarter + +To make XBoard better resistant to the presence of disbanded or future +options in its settings file, encountering those is no longer a fatal error. +But the error recovery only consisted of skipping the rest of the line. +This fails badly on string options with a multi-line value, which is +enclosed by {braces}. We now detect that case, to skip to } instead. + +2013-02-26 17:15:39 +0100 H.G. Muller : +Add -backupSettingsFile option + +For better configurability of WinBoard, an option is added to optionally +read a settings file, namely if no other settings file (other than the +master file) was read so far. This can be used to import settings from +a previous version, without destroying its settings file. + +2013-02-26 16:55:20 +0100 H.G. Muller : +Repair WinBoard compile error + +__GITVERSION was not defined in WinBoard, as it was only defined with a +compiler flag by ./configure, which WinBoard does not use. + +2013-02-26 16:47:58 +0100 H.G. Muller : +Work-around for Xt selection bug + +In some Xt implementations calling extend-end with 0 params causes a crash, +although the mmanual specifies this should default to a call with 'PRIMARY'. +The default selection is now explicitly mentioned in all extend-end calls. + +2013-02-24 09:31:57 -0800 Christoph Moench-Tegeder : +fix bug #38401: xboard.texi doesn't build with texinfo-5.0 (tiny change) + +xboard-4.7.0's documentation is not buildable with texinfo-5.0, it fails with a lot of error messages from makeinfo like +./xboard.texi:1026: @itemx must follow @item +makeinfo seems right, @itemx is not used as described in the texinfo manual. +Attached patch puts each item of the "Options" menu in it's own @subsection and formats the description of each item as a @table as neccessary. This way, xboard builds again and the manual doesn't look too bad. + +2013-02-24 09:09:54 -0800 Arun Persaud : +updated po/pot files + + +2013-02-24 09:04:48 -0800 Arun Persaud : +new version number for developer release + + +2013-02-20 21:28:36 +0100 H.G. Muller : +Try to make life more bearable in Xaw menus + +The alignment still sucks, but not as much as before. + +2013-02-20 19:26:17 +0100 H.G. Muller : +Fix -topLevel option + +This option was copletely ignored, after the refactorig. + +2013-02-20 18:16:00 +0100 H.G. Muller : +Fix testing for valid window placement Xaw + + +2013-02-20 12:15:08 +0100 H.G. Muller : +Suppress printing of status line in dual-board mode + + +2013-02-20 11:56:12 +0100 H.G. Muller : +Fix sizing of slave board GTK + +For lack of a known method to specify a default size for Graph widgets, +we have to use the same system as for the main board: create with 0x0 size, +and measure the size of the outer window to determine margins. +After every popup we then resize to the required board size plus these +margins. (Awful...) + +2013-02-20 10:08:09 +0100 H.G. Muller : +Better handling of undefined window parameters + +Repositioning and resizing a newly created dialog was based on the width +parameter of the stored sizing info being valid. Now it is separately +tested if the position is valid, so that sizing and moving can be done +independently. This allows us to store position info, but not size info +for the slave board, so that it automatically will use the size of the +main board when first opened. + +2013-02-19 19:14:49 +0100 H.G. Muller : +Limit debug print to debug mode + + +2013-02-19 19:14:00 +0100 H.G. Muller : +Fix repositioning of GTK windows + +After 'hide' and 'show' GTK would not position the window in the same place, +but center it on the parent. Now we reposition the window after 'show' based +on the WindowPlacement data (if available). + +2013-02-19 18:52:41 +0100 H.G. Muller : +Remember window params of slave board + +The slave board now has been assigned a WindowPlacement, which is also +saved in the settings file, through new options -slaveX/Y/W/H. + +2013-02-19 17:48:39 +0100 H.G. Muller : +Fix repairing of arrow damage + +The '2' bit in damage[][] to indicate the arrow was erroneously cleared, +rather than kept. + +2013-02-18 19:55:20 -0800 Arun Persaud : +fix OK-response in gtk dialogs, see c7f8df124 + +the fix in c7f8df124 needs to be applied to both of those if cases + +2013-02-18 17:11:32 -0800 Arun Persaud : +removed two more translations from debug output + + +2013-02-18 17:09:30 -0800 Arun Persaud : +fixed segfault of g_markup_printf_escaped which needs utf-8 strings + +defined text-domain as utf-8 solved this + +2013-02-18 13:38:51 -0800 Arun Persaud : +fixed gtk-warning + + +2013-02-18 10:06:36 -0800 Arun Persaud : +removed some translation calls for messages in the debug log + + +2013-02-18 09:46:53 -0800 Arun Persaud : +add keyboard shortcuts back into Xaw version + + +2013-02-17 14:13:30 -0800 Arun Persaud : +in debug mode also print the git-version if available during build + + +2013-02-18 21:19:05 +0100 H.G. Muller : +Print game-list timing messages only in debug mode + + +2013-02-18 21:01:35 +0100 H.G. Muller : +Fix title of top-level windows + + +2013-02-18 18:51:44 +0100 H.G. Muller : +Cure GTK warning in top-level windows + +There is no OK button in top-level windows, so the 'response' signal is +not defined, and should not be connected. + +2013-02-18 18:33:34 +0100 H.G. Muller : +Fix graying of Revert menu item + +The new code was checkmarking it in stead of enabling it! + +2013-02-18 11:38:29 +0100 H.G. Muller : +Add -onlyOwnGames option + +This suppresses auto-saving of ICS observed games. + +2013-02-18 11:17:16 +0100 H.G. Muller : +Allow display of 50-move counter in zippy mode + +No chance it could be considered cheating there. + +2013-02-18 10:48:53 +0100 H.G. Muller : +Add new vertical pixel fudge + +With the new GTK window type the board is 13 pixels too small. + +2013-02-18 10:29:17 +0100 H.G. Muller : +Don't add PV moves on board clicking in AnalyzeMode + +Playing PV moves by right-clicking the PV was only intended for clicks +in the engine Output window, selecting from multi-PV analysis output, +where by default it plays only the first move. PV walkig by right-clicking +the board, however, would start the walk at the end even in AnalyzeMode, +and thus add the entire PV. Which is probably not useful. So adding moves +in that case has now completely been suppressed, so it can be used for +harmless viewing of the latest PV. + The behavior has also been made subject to a persistent Boolean option +-appendPV, configured to true, with a checkbox in General Options. + A checkbox has also been added there for controlling the -variations option, +which is now also configured to true. + +2013-02-18 10:25:40 +0100 H.G. Muller : +Remove checkbox for 'Move Sound' + +This function is better controlled from the Sounds dialog. + +2013-02-18 09:59:48 +0100 H.G. Muller : +Make switching between board windows absolute + +Selecting the window in which to draw the board when the slave board for +-dualBoard was up was done by a toggle. For unknown reason this could cause +a situation where the drawing took place in the other window than the +intended one. The code is made more robust by explicitly specifying which +window to draw in, based on the partnerUp flag. + +2013-02-18 09:50:48 +0100 H.G. Muller : +Warn about experimental nature of dual board + +The message field, which for now is unused, now contains a warning message. + +2013-02-17 10:49:21 -0800 Arun Persaud : +add close buttons to gtk windows + +use windows instead of dialogs for toplevel elements + +2013-02-16 19:02:52 -0800 Arun Persaud : +keyboard accelerators for both front ends. + +moved them out of the string definition, so that gtk can add them automatically. +Also wrote a function that loads them for X11. + +TODO: add them again when creating X11 menu names + +2013-02-15 11:03:02 -0800 Arun Persaud : +added rotated shogi pieces for -flipback option and moved them to the themes directory + + +2013-02-14 17:27:27 -0800 Arun Persaud : +add test for pkg-config + +exit configure in case we can't find it. + +2013-02-14 13:02:08 +0100 H.G. Muller : +Only perform e.p. capture if there are rights + +The heuristic for e.p. capture was such that any non-forward move with +a Pawn to an empty square would delete the piece behind its new location +(Xiangqi exempted). This is now limited to cases where EP_STATUS indicates +that the deleted piece was a Pawn that performed a double-push on the +previous move. (Or if there is unknown EP_STATUS.) + This makes XBoard more generally suitable for use with variants that have +non-conventional Pawn moves (with legality testing off). To guarantee this +will not have any unexpected effects in normal Chess, this patch will only +be active if legality testing is off. + +2013-02-11 16:25:09 +0100 H.G. Muller : +Unreserve tourney game on exit during engine load + +While waiting for the feature timeout we are not yet in TwoMachines mode, +so quitting XBoard at that stage would not unreserve the upcoming game. +A global flag 'startingEngine' similar to 'waitingForGame' now signals +this condition. + +2013-02-10 13:40:10 +0100 H.G. Muller : +Better fix of feature timeout + +The previous fix of the 2nd engine's done=1 aborting the 1st engine's +feature timeout by starting the game caused problems with v1 engines, +or other engines that would never send done=1. It is now fixed by +explicitly testing for a pending feature timeout after resurrecting +the 1st engine, rather than having TwoMachinesEventIfReady wait for +initDone to be set by reception of done=1. + Also refrain from freezing the UI between match games, as in TwoMachines +mode the UI is mostly disabled anyway. + +2013-02-08 16:24:23 +0100 H.G. Muller : +Connect Ctrl key in WinBoard + +The Control key is now checked during move entry, for excluding moves +during analysis, or for copying pieces when editing a positions. But the +WB front-end did not read it out yet! + +2013-02-08 16:23:58 +0100 H.G. Muller : +Fix Makefile for install of Xiangqi pieces + + +2013-02-08 15:35:44 +0100 H.G. Muller : +Add Xiangqi piece images to project + +Let the images install in themes/xiangqi. + +2013-02-08 15:14:43 +0100 H.G. Muller : +Revive -flipBlack option + +The -flipBlack option in the cairo version is now implemented the same +way as it was in XBoard, swapping white and black pieces in filpView mode. +This requires a set black piece images that are the upside-down versions +of the white ones. + +2013-02-07 13:55:59 +0100 H.G. Muller : +Remove empty-square SVG images from project + + +2013-02-06 19:00:35 +0100 H.G. Muller : +Add desktop stuff for .xop MIME type. + +Icons and desktop file were missing, as was the automake code to package them. + +2013-02-06 16:48:33 +0100 H.G. Muller : +Update NEWS file + + +2013-02-06 14:48:27 +0100 H.G. Muller : +Add boolean -autoBox option + +This option controls the automatic popup of the ICS Input Box on typing +a printable character, which was annoing to some. The option can be +set from the ICS Options dialog. + +2013-02-06 10:56:20 +0100 H.G. Muller : +Draw both coords in a1 + +The lower-left board square needed two inscriptions, but DrawOneSquare() +only allowed one, so that the file ID would not be written. Now two strings +can be passed, and when align > 1 to indicate the alignment of the top +string, it is still checked if a bottom string is present as well, which +then is drawn with alignment 1 (= bottom right). + The rank coord or piece count can now also be double digit. + +2013-02-05 23:03:42 -0800 Arun Persaud : +updated po files for new release (make distcheck) + +2013-02-05 23:02:07 -0800 Arun Persaud : +updated Changelog, NEWS, etc. + +2013-02-05 22:52:42 -0800 Arun Persaud : +new version number for release of 4.7.0 + +2013-02-05 11:56:10 +0100 H.G. Muller : +Let initial setting of Twice checkbox reflect current state + +The Twice checkbox in the Tournament dialog of WinBoard was by default +starting unticked. It is more convenient to have it preserve the current +state, however, based on the -lpi or -lgi value. Like the auto-incremet +checkbox already did. + +2013-02-04 22:07:05 +0100 H.G. Muller : +Put GTK warning in about-box + + +2013-02-04 21:59:05 +0100 H.G. Muller : +Fix warnings of build server + + +2013-02-02 15:58:04 +0100 H.G. Muller : +Fix GTK error auto-raising board + +The variable mainwindow is not set in the gtk2 version. Unfortunately +it is still used to determine default board size... + +2013-02-01 19:42:12 +0100 H.G. Muller : +Update Dutch WB translation + + +2013-02-01 19:37:06 +0100 H.G. Muller : +Add some new strings to WB translation template + + +2013-02-01 19:34:32 +0100 H.G. Muller : +Assign shortcut char to WB menu item + +The new Save games as Book item did not have a shortcut yet. + +2013-02-01 19:31:18 +0100 H.G. Muller : +Let WinBoard start in its installation folder + +The current directory in WinBoard was not automatically the same as the +installDir returned by SearchPath. Especially not if used without shortcut +by file association. + +2013-02-01 19:29:26 +0100 H.G. Muller : +Fix warning in WinBoard + + +2013-01-30 14:25:57 +0100 H.G. Muller : +Fix expose of to-square with grid off + +The code relied on drawHighlight to request an expose evet for the entire +square, but when lineGap = 0, drawHighlight is a no-op. + +2013-01-29 08:39:30 +0100 H.G. Muller : +Fix library order + +On OS X dialog windows could not get focus if -lXaw appeared after +-lX11 -lXt in the linker command. This was cured by moving +@FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter +of the automake file. + +2013-01-28 17:38:26 +0100 H.G. Muller : +Preserve PGN tags when loading engine + +Switching to EditGame mode would normally erase the tags, but when analyzing +a loaded game this would be undesirable. When the engine is playing, keeping +the tags is dubious, but it is not obvious what to put in a new name tag, +so we leave that for now. + +2013-01-28 17:23:47 +0100 H.G. Muller : +Preserve mode on engine loading (sometimes) + +That the mode always switched to EditGame after engine loading was +particularly annoying at the start of a game (where leaving BeginningOfGame +mode would disablethe Time Control dialog, and the engine would not +automatically reply if you start playing) and AnalyzeMode. These two +modes are now preserved, BeginningOfGame by refraining from calling +EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode +be calling AnalyzeModeEvent() after the engine is loaded and repositioned. + +2013-01-28 14:14:19 +0100 H.G. Muller : +Catch unknown engine in tourney games + +When an XBoard instance is playing on a tourney it can happen that it is +using a settings file with an engine list not yet containing a certain +participant, because that participant was just installed in the instance +that created the tourney file, but it did not save those modifications yet. +This error is now caught, and leads to an error popup and stopping of the +tourney play. This error was made non-fatal to allow the user to decide +if he wants to quit with or without saving the settings (which, after all, +does not seem up-to-date). + +2013-01-26 18:08:37 +0100 H.G. Muller : +Adjudicate pawn-drop mate as loss in Shogi + +Mating with a Pawn drop is illegal in Shogi, but rather than burdoning +the legality-testing by this complex rule, we simply invert the result +for such a mate. After all, Shogi customs are such that everything illegal +leads to an immediate loss. + +2013-01-25 10:05:44 +0100 H.G. Muller : +Adjudicate perpetual checks as loss also in Shogi + +The Xiangqi code for recognizing perpetual checks is now also activated for +Shogi, but in this case we bail out before checking for perpetual chases. +The mini-Shogi case is then recognized as a win for gote. + +2013-01-25 09:55:56 +0100 H.G. Muller : +Stalemate is a win in Shogi + +In regular Shogi this never occurs, but in the mini variants it happens +often enough. + +2013-01-22 20:49:34 +0100 H.G. Muller : +Fix engine timeout problem in match mode + +Reload of a reuse=0 engine would cause a done=1 event which would be +abort the feature timeout of the other engine in the first game. + +2013-01-22 20:32:33 +0100 H.G. Muller : +Enforce -popupMoveErrors + +One move error was using DisplayError(), in stead of DisplayMoveError(), +and thus did not obey the -popupMoveErrors option. + +2013-01-21 15:30:29 +0100 H.G. Muller : +Update texi file + + +2013-01-21 10:26:20 +0100 H.G. Muller : +Fix some warnings + + +2013-01-20 19:09:05 -0800 Arun Persaud : +Updated German translation + + +2013-01-19 17:54:59 +0100 H.G. Muller : +Do delayed board draw also with -stickyWindows false + +Only CoDrag needs to be suppressed on a configure event with +-stickyWindows false, not the board redraw. + +2013-01-18 11:11:48 +0100 H.G. Muller : +Let tellothers command add comment to PGN in local mode + + +2012-12-30 15:19:57 +0100 H.G. Muller : +Allow use of ~ in pieceToChar for shadow pieces in any variant + +The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and +Bughouse. But this is not necessary, and in fact undesirable, as it made +it impossible to implement Crazyhouse960, which combines shadow promotions +with Fischer castling (only available in variant fischerandom)s, and thus +has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable. + +2012-12-30 15:06:33 +0100 H.G. Muller : +Resend engine-defined options after reuse=0 reload + +When the engine process is re-spawned for a new game under -xreuse setting, +any alteration of engine settings brought about through the Engine Settings +dialogs would be lost, and revert to the engine's default. This is now fixed +by re-sending all options (known from the previous load of the same engine) +with the current settings immediately after "protover 2", and ignoring the +engine's option features. Rather than clearing the option list, and +redefining it from the option features. + +2012-12-30 14:58:16 +0100 H.G. Muller : +Implement aborting of games on engine request. + +A new game-end command is added. For bakward compatibility it is disguised +as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails +are recognized as special, and rather than ending the game in a draw (which +GUIs not implementing this), the game will be completely 'expunged' from +the match or tourney it is part of, leaving no trace in the saveGameFile. + +2012-12-30 14:54:43 +0100 H.G. Muller : +Store some more tourney params in tourney file + +The hash and threads settings, as well as ponder and book options are now +also saved in the tourney file, so that tournaments can be played in +parallel where these parameters differ, and no mess up can occur on +restarting a touney after doing something else. + +2012-12-23 11:26:31 +0100 H.G. Muller : +Do not automatically save aborted games in tourney PGN + +When the game result is 'unfinished', we prompt for a filename rather +then using the specified saveGameFile if a tourney is in progress. + +2013-01-19 08:35:52 -0800 Arun Persaud : +fix configure bug that showed up on OS X (couldn't find X11/Dialog.h) + +X_CFLAGS (set by AC_PATH_XTRA) was not used in Makefile.am. It was used in tests for X11/Dialog.h, etc. so configure worked, but make didn't. + +2013-01-18 22:26:13 -0800 Arun Persaud : +Updated Ukrainian translations + + +2013-01-09 07:57:43 -0800 Arun Persaud : +removed trailing whitespace + + +2013-01-09 07:49:20 -0800 Arun Persaud : +Updated copyright notice to 2013 + + +2012-12-22 22:46:21 +0100 H.G. Muller : +Do not move to forwadMostMove when unpausing AnalyzeMode + + +2012-12-22 22:44:50 +0100 H.G. Muller : +Use Ctrl key in AnalyzeMode to exclude entered move + + +2012-12-22 20:40:26 +0100 H.G. Muller : +Implement insufficient mating material for Knightmate + +KBK is draw with Royal Knight. With exo-pieces also KNK and KFK. + +2012-12-22 20:25:51 +0100 H.G. Muller : +Fix rep-draw detection in drop games + +In games like Crazyhouse every move is reversible, as captured pieces +can eventually change sides again, and be dropped back on the board. +So we have to search back a full 100 ply for repetitions, passing captures +and Pawn moves. + +2012-12-11 22:33:07 -0800 Arun Persaud : +updated po/pot files + + +2012-12-11 22:18:05 -0800 Arun Persaud : +new version number for developer release + + +2012-12-10 14:48:05 +0100 H.G. Muller : +Prefer pause mode on pondering engine over 'easy' + +If the thinking engine is stopped after its move because it does not +support pause, is is still better to use pause on the pondering engine +than to switch of its pondering with 'easy', as the latter might not +be instantaneous. Also switch off pondering in the thinking engine before +it gives the move, just in case it does not respond immediately to +easy / hard. + +2012-12-10 13:40:47 +0100 H.G. Muller : +Update WinBoard translation template + + +2012-12-10 13:35:41 +0100 H.G. Muller : +Fix min-Shogi promotion zone + +In integer arithmetic N*2/3 is not the same as N - N/3, with as a result +that the white promotion zone was 2 ranks deep on 5x5 boards. This only +happened in LegalityTest, but because this would classify all moves to +4th rank an non-promotions, they would be printed with a faulty +deferral (=) sign as promochar in SAN. + +2012-12-10 13:32:49 +0100 H.G. Muller : +Do not clear PGN tags on Analyze File + + +2012-12-10 13:28:37 +0100 H.G. Muller : +Fix -fSAN in AnalyzeFile mode + +The exception that a PV relates to currentMove rather than forwardMostMove +applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore, +PvToSan did not properly restore the pushed game tail in this case. + +2012-12-08 16:02:09 +0100 H.G. Muller : +Improve scaling of border bitmap (WB) + +The StretchBlt mode is set from dither to delete. + +2012-12-05 16:34:58 +0100 H.G. Muller : +Implement use of pause / resume protocol commands + +Engines that implement feature pause=1 will be paused during their move +on a pause event; pondering engines will be controlled either through +'pause' or (if they don't support that) 'easy', which both should work +instantaneously. If the thinking engine does not support 'pause', the pausing +will be deferred to when it produces its move, and is implemented by not +relaying the move, and switch off pondering for both. + +2012-12-03 12:58:36 +0100 H.G. Muller : +Fix Loop-Chess promotions + +Loop Chess is not a supported variant, but hould be playable as Crazyhouse +with an altered pieceToCharTable, not defining the shadow promotion pieces. +But with legality testing on promotion to shadow piece would take place +even if the shadow piece was not defined. + +2012-12-02 22:44:55 +0100 H.G. Muller : +Fix move highlighting with animation off + +In WB the moving of SetHighlights to after the animation had broken the +highlighting of engine moves, because it was also moved after DrawPosition. +While it is DrawPosition that actually draws the highlights. Now it has been +moved to just before DrawPosition. + +2012-12-02 11:09:14 +0100 H.G. Muller : +Start browsing in currently-selected folder (WB) + +The folder-browse dialog always started at My Computer, while file browsing +started in the globally last-used folder (which might not be related at all +to the file entry we are now browsing for). + +2012-11-29 23:38:18 +0100 H.G. Muller : +Implement book-creation functions + +A new menu item triggers conversion of the currently loaded PGN file +to a Polyglot book, saved with the GUI-book filename. A (volatile) option +-mcBookMode alters the probing algorithm to build a book from scratch by +playing games (and using a form of learning). + +2012-11-29 22:23:44 +0100 H.G. Muller : +Use colors in Board-Options dialog also for font pieces (WB) + +The piece color settings now control the pieceColor or fontPieceColor +settings, depending on the setting of -usePieceFont. + +2012-11-29 22:14:05 +0100 H.G. Muller : +Implement auto-creation of ICS logon file + +Under control of the new option -autoCreateLogon (which can be set from +the ICS Options dialog) the first two lines in response to the ICS "login:" +pompt will be saved on a newly created logon file (if logon from such +an existing file failed). + +2012-11-29 21:56:02 +0100 H.G. Muller : +Add Themes dialog (WB) + +This dialog, done by the generic popup, contains controls for many settings +that so far could only be controlled by options. It also introduces the +concept of 'themes', sets of options stored in the multi-line option +-themeNames. + Add some dummy routines to suppress compile errors in functions that +cannot be called yet in XBoard. + +2012-11-29 21:32:03 +0100 H.G. Muller : +Allow external piece bitmaps and board border (WB) + +The -pieceImageDirectory is now also used for WinBoard, to indicate +a directory of .bmp files, used to replace the built-ins. The outline +and solid bitmaps can be full-color. This allows winBoard to use the +WinBoard-zeta graphics. A new option -border can indicate a bitmap file +used to draw a half-square-wide border around the board. + A white background has to be drawn underneath the black pieces, to avoid +color-interference with the board, just like happens for the white pieces. +These backgrounds now always use bright white, rather than -withePieceColor. + +We still have to work on the scaling of the zeta (600x600) bitmaps to +the actual board size, as for some bitmaps the stratchblt is ugly. + +2012-11-29 21:05:15 +0100 H.G. Muller : +Add 'Continue Later' button in Tournament dialog (WB) + +This button makes it possible to accept the values specified in the +dialog without immediately starting the tournament (as OK does), +so you can re-open the dialog later, and OK it then. + +2012-11-29 20:25:35 +0100 H.G. Muller : +Load opponent logo based on handle in ICS play (WB) + +The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp, +etc. If no logo for the handle is found there, the logo of the ICS is +displayed as usual. + +2012-11-19 20:35:05 -0800 Daniel Dugovic : +Fix configure script for --enable-zippy (tiny change) + +reported and patch by Daniel. + +edited by Arun Persaud: +- also fixed #ifndef ZIPPY -> #if !ZIPPY +- didn't change #if -> #ifdef + +2012-11-10 00:12:34 -0800 Arun Persaud : +don't define X_LIBS when using gtk-frontend + + +2012-11-07 22:16:09 -0800 Arun Persaud : +updated po/pot files; added new frontend files + + +2012-11-07 22:14:20 -0800 Arun Persaud : +fix configure script for --with-Xaw and --with-gtk + +made Xaw the default and included xaw or gtk sources as extras +in case the other frontend is selected for make distcheck + +2012-11-07 21:13:38 -0800 Arun Persaud : +new version number for developer release + + +2012-10-31 09:55:02 +0100 H.G. Muller : +Draw frames around memos and listboxes + + +2012-10-30 17:39:59 +0100 H.G. Muller : +Adapt lineGap during sizing + + +2012-10-30 15:04:32 +0100 H.G. Muller : +Fix clock highlighting + + +2012-10-30 10:59:45 +0100 H.G. Muller : +Fix Chat Box + +The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary +handler for special keys in one-liner text edits. + +2012-10-29 19:46:27 +0100 H.G. Muller : +Pay attention to NO_CANCEL dialog flag + + +2012-10-29 14:18:33 +0100 H.G. Muller : +Fix clock clicking with GtkEventBox + +Like in WinBoard the button-3 case is now handled in the primary +event handler (and communicated to it in a kludgy way). It would be +better if this was absorbed in ClockClick(). + +2012-10-28 22:25:22 +0100 H.G. Muller : +Fix logo placement + +Graphs were not recognized as possible SAME_ROW elements. A Graph requesting +FIXED_H (which only the logos did) is now packed into a (borderless) aspect +frame. + +2012-10-25 23:04:42 +0200 H.G. Muller : +Add window positioning + +Sticky windows now sort of works, but needs unexplained fudge factors. +Reopening a persistent dialog centers it on the board, and disobeys +the positioning command. The WindowPlacement of the BoardWindow was +again added (it was commented out during development). + +2012-10-22 22:41:14 +0200 H.G. Muller : +Make board sizing work through subtracting fixed height + +There is now no attempt to give a size to the board drawing area, so it +can later be sized as small as we want. The frame width is determined +by subtracting the nominal board size from the actual window size, +(because the clocks will have that width, and the board will startas 1x1), +while the vertical margin is determined as the difference between the +bactual window height, the drawing-area height minus a fudge of 25 pixels +to compesate for the erroneously allocated blank space below the board. + +2012-10-22 21:09:51 +0200 H.G. Muller : +Fix warnings + +The highTextStart/End are now declared in engineoutput.h, shared between +nengineoutput.c and xengineoutput.c. Unused variables were removed. +Also fix warnings in xboard.c and xoptions.c. + +2012-10-22 17:40:08 +0200 H.G. Muller : +Delete emptied front-end files, and move rest to gtk directory + +Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist +and xhistory have been completely cleared off content, and were removed. + +2012-10-27 00:12:42 +0200 H.G. Muller : +Add copy-paste + +The code from gtk-xt could be used with almost no modification. + +2012-10-21 09:09:01 +0200 H.G. Muller : +Some experimenting with sizing + +Does not work as intended yet. + +2012-10-21 23:04:49 +0200 H.G. Muller : +Add task-bar icon + +Funny enough it was necessary to swap the two svg icons to make this work! + +2012-10-20 10:29:37 +0200 H.G. Muller : +Make some tall dialogs multi-column + +A dummy button was added to the last row of New Variant to make the +number even. A legality-test warning as put in the New Variant dialog +Fix width of tourney-file in Match dialog + +2012-10-20 21:14:33 -0700 Arun Persaud : +updated some icons to SVG + + +2012-10-20 19:57:58 +0200 H.G. Muller : +Add displaying of icons + +A new Option type, 'Icon', was added for this as in GTK Icons and Labels +need different types of widget. The icons are now svg, so we could +remove the icon pixmaps. + +2012-10-20 14:25:41 +0200 H.G. Muller : +Fix button bar + + +2012-10-20 14:03:48 +0200 H.G. Muller : +Add BarBegin, BarEnd options + +This makes the button bar display correctly. Also fix v-sizing of menu bar. + +2012-10-20 10:01:35 +0200 H.G. Muller : +Add listbox double-click callback + +This function was formerly performed by WheelProc. + +2012-10-19 17:29:40 +0200 H.G. Muller : +Add hiding / showing second Engine Output pane + +The handle of the GTK table for the second engine is stored in the +EndMark handle by GenericPopUp, so it can be used later to hise/show +that table. + +2012-10-19 17:15:58 +0200 H.G. Muller : +Use different tables for different dialog columns + +Making the same table wider (in steps of 3) to get multiple columns +does not work, because it forces options to align vertically. This +wrecks dialogs like Load Engine, where one column contains a very +high option (listbox). Now differnt tables are created for each column, +packed in a new itermediate hbox. In case of the Engine Output window, +a vbox is used instead to cause vertical stacking. + Only multi-line text-edits and listboxes are now allowed to take up +vertical space changes, while only the middle colum of the table +can take up horizontal size changes. Within packing boxes space is +equally distributed. + The labels above the particiant-selection widgets had not the same width +as the textview / listbox, leading to misplacement of the second label. + For Engine Settings the spontaneous breaking into columns did not +involve a SAME_ROW flag, so the 'columns' were stacked vertically. +In addition the columns were too tall for GTK. They are now 20 options max. + +2012-10-19 13:46:37 +0200 H.G. Muller : +Deselect first char in Move Type-in and ICS Input Box + +After popup the Move Type-In had the typed character in it, but it was +selected, so that typing a second character would erase it again. +Same for the ICS Input Box. A prototype for CursorAtEnd is now also added. + +2012-10-19 13:33:50 +0200 H.G. Muller : +Close Move Type-in on Enter + +The code is squeezed into the ICSKeyEvent callback. + +2012-10-18 21:57:50 +0200 H.G. Muller : +Add access routines to checkboxes and FocusOnWidget + +The handler of the filter field needs it to return focus to +the listbox. + +2012-10-18 21:42:49 +0200 H.G. Muller : +Add game-list callbacks + +The callbacks for listbox and filter text are treated by the same callback, +which does both key presses and button double-clicks. +Giving focus back to the listbox after filtering does not yet work! + +2012-10-18 16:27:57 +0200 H.G. Muller : +Add optional callback to Label Options + +For some reason this does not work. The callback isn't called! + +2012-10-18 13:40:55 +0200 H.G. Muller : +Add type-in event to board for popping up box + + +2012-10-18 13:12:48 +0200 H.G. Muller : +Add Shift detection + +The state of Shift and Ctrl was only probed on button clicks, so it +is now read out of the button-event struct in the relevant button handlers. +For backwad compatibility, they store it in a global, so the routine +ShiftKeys can take them from there. + +2012-10-18 12:35:20 +0200 H.G. Muller : +Remove some unneeded low-level X11 code + +Things like tabbing between controls, mouse-wheel scolling etc. are all +automatic in GTK, and thuse don't need to be ported. + +2012-10-18 10:12:27 +0200 H.G. Muller : +Add file browser + +The gtk-xt code for browsing in response to menu items rather than dialog +browse buttons) was grafted. It seems desirable to merge the two browsing +functions, though. Pass extra params used by Xaw to FileNamePopUpGTK. +The code was altered to use DelayedLoad. + +2012-10-18 09:54:41 +0200 H.G. Muller : +Fix ListBox, and add some support routines + +The srolled-window for the listbox used a uninitialized variable for its +width, causing a crash. Now it pays attention to the Option.max and .value +size hints. The access routines were copied from gtk-xt. HighlightWithScroll +could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls. + +2012-10-17 20:01:37 +0200 H.G. Muller : +Connect CommentClick handler + +This can make use of generic memo callback, so it could be entirely +backend. Therefore it was moved to dialogs.h. As it shared a global with +some other back-end popup routines to remember the current move, these +could now be moved out of xboard.c too. (Well, not so for the X11 front-end, +so it has now been put in a header. :-( ) + +2012-10-17 19:41:11 +0200 H.G. Muller : +Fix animation + +Because FrameDelay does block the event loop, even though it releaes the +CPU, expose events start to lag behind the actual drawing. By combining +expose events for overlapping squares, rather than decompose them into +3 rectangles, this problem seems to go away. But only if there is an +extra exposure on the squares to be drawn also non-overlapping frames +will be properly drawn (?!). + +2012-10-17 14:40:59 +0200 H.G. Muller : +Implement highlighting in engine output by through generic method + +HighlightMove was made generally available for all text. It is now just a +wrapper for the generic HighlightText, and could be moved to the back-end. +(This requires the initialization to be widget specific, and the flag +indicating it has been done is now stored in the Option.min field.) + +2012-10-17 14:33:28 +0200 H.G. Muller : +Let engine-output memos use new generic callback + + +2012-10-17 13:53:03 +0200 H.G. Muller : +Add scrolling of Move History + +To have access to the textview, its handle is now stored in the +Option.textValue field. + +2012-10-17 13:11:23 +0200 H.G. Muller : +Add highlighting in move list + +For now it is assumed the normal background will be white (for clearing +the highlight). + +2012-10-16 19:44:40 +0200 H.G. Muller : +Make generic memo-event handler, and connect history callback + +Large text widgets can now define a user handler in their Option.choice +field. If they do, agneric callback is added tothem, which catches mouse +events. Button release and pointer motion pass their coordinate and type +to the specified user routine. Button presses in addition retrieve +the text from the widget, set the cursor in it to the clicked point, +and convert it to a character position, also passed to the user. + The user is responsible for ignoring events he is not interested in. + +2012-10-16 15:58:58 +0200 H.G. Muller : +Add key-handler for ICS Input Box + +In contrast to the X11 code, all intercepted keys are now treated by +the same callback. The ICS Input Box callback triggers on Up, Down and +Return key, and refers to these symbolically. + +2012-10-16 15:05:45 +0200 H.G. Muller : +Highlight Pause button + + +2012-10-16 13:52:41 +0200 H.G. Muller : +Better cleansing of xboard.c from X11 types + +The #includes for X11 files were still in there. + +2012-10-16 13:28:32 +0200 H.G. Muller : +Add text insertion in engine-output memos + + +2012-10-16 09:34:02 +0200 H.G. Muller : +Append recent engines to engine menu + +This is now entirely moved to the back-end, by doing it in the table +from which the menus are later generated. The special callback for engine +items is abandoned, and the euProc for such items is left NULL to flag +that RecentEngineEvent should be invoked with the applicable engine number. +To calculate the latter a global variable firstEngineItem is dynamically +set to the length of the regular engine menu. + +2012-10-15 22:17:50 +0200 H.G. Muller : +Transfer more gtk-xt code, and add some new + +Add input-source handling +Graft color picker ( callbeack in the text field is still missing!) +Handle contents of label widgets (store handles in Option for access) +Add printing of clocks +Add printing of window title +Pay attention to BORDER attribute of Label Options (pack in frame) +Delete ReadBitmap code (also remove #including of bitmap files for icons) +Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll) +Support vertical stacking in Break Option (no table widening when !SAME_ROW) +Make default horizontal scroll policy automatic (for engine-output window) +Fix disabling of unused spinners in TC dialog + +2012-10-15 20:47:33 +0200 H.G. Muller : +Connect dialog Browse buttons to GTK browser + + +2012-10-15 19:52:17 +0200 H.G. Muller : +Implement menu checkmarking and enabling + +odes in the (later over-written) handle field specify which items +are to be checkmarked, and by what style button. + +2012-10-15 16:18:12 +0200 H.G. Muller : +Attach expose handler and connect to mouse events + +The GraphExposeProc is conected to the Graph widgets. A gdk draw routine +is used to copy the buffer bitmap to the display. It is also connected +to button and motion-notify events. + In this version the board can be fully operated with the mouse. + +2012-10-14 22:00:14 +0200 H.G. Muller : +Transfer most available gtk-xt code to xoptions.c + +GenericPopUp and PopDown are grafted from gtk-xt into gtk2. +The version compiles, but segfaults before doing anything, with error +messages about unexpected cases in GenericPopup for Graph and PopUp Options +of the main board. The spin options need special treatment in GetWidgtText. + +2012-10-15 11:41:33 +0200 H.G. Muller : +Give LoadListBox two extra parameters + +It often occurs that we just want to swap two elements, and reloading +the entire listbox would be a very inefficient way to do this in widget +sets that allow access to a single element. + +2012-10-14 20:36:34 +0200 H.G. Muller : +Remove all X11 code by #ifdeffing it out + +With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling +X11-free version. The disabled sections can then be replaced by code +for another widget set, the X11 version still showing what it was supposed +to do. + +2012-10-14 17:37:18 +0200 H.G. Muller : +Move timer functions to new file xtimer.c + +The timers for the clocks, periodic analysis events and ScheduleDelayedEvent +go into a separate file. + +2012-10-14 15:31:56 +0200 H.G. Muller : +Make xevalgraph.c backend + +The only front-end stuff left in xevalgraph.c was an unnecessary reading +of the window size (which could be obtained from the WindowPlaceent struct), +and drawing (all cairo now). The drawing was moved to draw.c, and the +remaining part renamed nevalgraph.c. + +An attempt to list them in a less chaotic way. + +2012-10-14 14:34:09 +0200 H.G. Muller : +Cleanse back-end code of all references to X11 types + +When compiling for X11, common.h #included X11/Intrinsics.h so that +X11-specific data types could still be used throughout the back-end part +not shared with WinBoard. By temporarily disabling this, error messages +could be generated on all such occurrences, and were then solved. This +included the following: + The InputSource struct is not uses in usystem.c at all, and its definition +could be moved to xboard.c. InputSourceRef, which logically should heve been +defined as (InputSource *), is in reality (void *), so the back-end can +pass it around. + Some non-platform-dependent stuff of general interest had prototypes +(or external vars) in xboard.h. This is now moved to a new header xboard2.h, +to allow it to be shared without bringing in X11 dependence. + The EngineOutputProc was defined inconsistently, but the header was not +sufficiently shared to flag this error. This has been repaired now, by moving +the template to menus.h. + +2012-10-14 13:39:47 +0200 H.G. Muller : +Remove xedittags.c, .h from project + +The tiny bit of code that was left was absorbed in dialogs.c, the one +prototype to menus.h. + +2012-10-14 12:53:20 +0200 H.G. Muller : +Remove inclusion of frontend.h from backendz.h + +This did not seem to serve any purpose at all. + +2012-10-14 12:49:28 +0200 H.G. Muller : +Split xhistory.c in front-end and middle-end part + + +2012-10-14 12:21:09 +0200 H.G. Muller : +Move MarkMenuItem to xoptions.c + +This to make xoptions.c completely independent from the inclusion of +frontend.h. The prototype is moved to menus.h. + Loose end: DrawPosition in board.c does not see the prototype. +Very suspect that it wants to see it. Why would it have to correct the +flipView setting??? Better se to it that it is correct to start with! + +2012-10-14 12:14:07 +0200 H.G. Muller : +move testing for no options to back-end + +The test if an engine has options and display a note instead of +the Engine Settings dialog when this is not the case is moved +to outside of GenericPopUp, to make the later independent of calling +other routines. + +2012-10-14 11:20:16 +0200 H.G. Muller : +Remove some unnecessary header includes + + +2012-10-14 10:47:21 +0200 H.G. Muller : +Move ICS-engine analyze and AnalyzeGame code to shared back-end + +This code was still duplicated between WB and XB in the front-ends. +Because of its incorporation in AnalyzeModeEvent the 'middle-end' +function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made +to return an int to flag its success, and keep the JAWS code based +on it out of XBoard. + The AnalyzeGame code is now incorporated in AnalyzeFileEvent(). + +2012-10-26 10:28:59 +0200 H.G. Muller : +Add configure switches for Xaw vs GTK. + +This patch is an adapted version of the one Arun made at the end of the +gtk2 branch. It uses the exact same version of his configure.ac, but the +Makefile.am is adapted to the situation in master at the beginning of it, +after duplication of the X11 front-end files in the xaw directory for +preserving them, while the versions that will be modified to GTK front-end +are still in the xboard directory. + +2012-10-25 11:12:41 +0200 H.G. Muller : +Prepare xoptions.c for middle-end changes + +Some changes that can be pre-empted, such as the splitting of Label +into Label and Icon Option type, and some dummy wrappers are already +implemented, so they can be used when needed by GTK. + +2012-10-25 09:20:03 +0200 H.G. Muller : +Preserve copies of the X11 front-end in xboard directory + +The X11 front-end has been moved to the xaw directory, but copies +are retained for modifying them to gtk versions. + +2012-10-24 08:55:27 +0200 H.G. Muller : +Move X11 front-end to directory xaw + + +2012-10-31 18:18:02 +0100 H.G. Muller : +Fix initial enables in TC dialog + + +2012-10-30 14:47:24 +0100 H.G. Muller : +Fix image extension used for browsing to .pgn + + +2012-10-28 21:39:19 +0100 H.G. Muller : +Fix WinBoard compile error on enum PEN + + +2012-10-30 11:20:54 +0100 H.G. Muller : +Fix crash in promotion popup + +There were not enough entries for Capablanca Chess with legality-testing off, +where King is also presented as a choice. + +2012-10-28 18:19:23 +0100 H.G. Muller : +Fix message in New Variant dialog + +Even in -ncp mode the message was referring to the 'current engine'. + +2012-10-28 18:16:20 +0100 H.G. Muller : +Fix crash on animation after resizing + +The animate buffers were still holding pointers to a discarded cairo surface. + +2012-10-21 14:49:45 +0200 H.G. Muller : +Fix variant-dependent pieces + +The code to select the actually used piece images from the available ones +(from InitDrawingSizes) is now made into a subroutine, and also called +after resizing the pieces. + +2012-10-26 10:18:48 +0200 H.G. Muller : +Replace marble texture pixmaps by png + + +2012-10-26 10:13:27 +0200 H.G. Muller : +Replace xiangqi board pixmaps by png images + + +2012-10-26 10:08:44 +0200 H.G. Muller : +Remove the texture pixmaps from project + +These were already replaced by png textures. + +2012-10-23 15:02:56 +0200 H.G. Muller : +Fix re-rendering of svg on resize + +The previously prepared bitmaps were retained if we resized, rather then +rendering the svg atthe new size. + +2012-10-21 15:48:30 -0700 Arun Persaud : +update po/pot files + + +2012-10-21 15:47:12 -0700 Arun Persaud : +new version number for developer release + + +2012-10-21 11:10:36 -0700 Arun Persaud : +we still need a few bitmaps, so the directory needs to be included in Makefile.am + +make distcheck complained about this + +2012-10-21 15:56:43 +0200 H.G. Muller : +Rename svg shogi pieces, so they become usable + +Only white pieces are present. For black they would have to be flipped. + +2012-10-21 15:54:25 +0200 H.G. Muller : +Fix bug in resizing on variant switch + +The fix of the garbage pixels had unfortunately broken this. + +2012-10-21 15:15:01 +0200 H.G. Muller : +Fix bug in fallback mechanism + +After failure to load a piece from a specified -pieceImageDirectory +the default theme was not tried, because the cairo function to load +from a pgn file returns a valid handle even if the file does not exist. + +2012-10-21 14:58:42 +0200 H.G. Muller : +Get svg error message + + +2012-10-21 14:49:45 +0200 H.G. Muller : +Fix variant-dependent pieces + +The code to select the actually used piece images from the available ones +(from InitDrawingSizes) is now made into a subroutine, and also called +after resizing the pieces. + +2012-10-16 12:08:25 +0200 H.G. Muller : +Remove caveat on available pieces fromNew Variant dialog + +In the cairo version all pieces are available at all board sizes. + +2012-10-21 11:41:11 +0200 H.G. Muller : +Remove some unused images from png directory + +Currently only the three board texture files are used. But the piece +images are still left, because they might be useful if we ever want +to mae XBoard configurable for not using librsvg. + +2012-10-21 10:40:37 +0200 H.G. Muller : +Fix bug in resizing + +The nominal size of the window was not set in the correct Option struct. + +2012-10-21 09:58:23 +0200 H.G. Muller : +Prevent odd-width line shift in length direction + + +2012-10-21 09:48:29 +0200 H.G. Muller : +Print missing-pieces error message to console + +The GUI might not yet be up at this point.In addition, suppress +the rest of the code, because it could give segfaults. + +2012-10-21 09:30:26 +0200 H.G. Muller : +Fix garbage pixels on the right of the board + +The extra pixel that is requested in sizing the board window back to +an available size because we ofte get one less pixel than we ask for +can lead to a line of garbage pixels next to the board. This is combatted +by limiting expose events to the true board area, remembering that in the +Graph Option rather than the actual window size, and suppressing resizing +when the latter only exceeds the stored width by more than 1 pixel. + +2012-10-15 10:27:14 +0200 H.G. Muller : +Trim board-window size + +The board window will sometimes be a pixel larger than requested. +The ReSize routine will now reset the size values in the Graph Option +to what they were supposed to be, to prevent expose events will +draw nonsense in the extra space. + +2012-10-13 23:26:10 +0200 H.G. Muller : +Adapt docs for svg/png in stead of bitmap/pixmap + + +2012-10-13 09:35:31 +0200 H.G. Muller : +Spontaeous changes in gettext stuff + + +2012-10-13 08:03:48 +0200 H.G. Muller : +Move Shogi svg pieces to own directory + + +2012-10-13 07:57:48 +0200 H.G. Muller : +Remove unnecessary Xt colors and call to MakeColors + + +2012-10-13 07:50:56 +0200 H.G. Muller : +Code cleanup: move expose redraw to draw.c + + +2012-10-13 07:37:45 +0200 H.G. Muller : +Suppress warning for InitDrawingHandle + + +2012-10-13 07:33:15 +0200 H.G. Muller : +Make fallbackPieceImageDirectory hardcoded + + +2012-10-13 07:18:23 +0200 H.G. Muller : +Increase drag delay too 200 msec + +On my slow laptop it can take more than 100 msec to reallocate bitmaps +in the generic expose, with as a consequence that the DelayedDrag event +is not processed before the timeout expires. The timeout event then triggers +a redraw, which again takes so long that the timeout expires before the +event to reset the timer could be processed, and this just perpetuates +itself, leading to a large series of queued redraws, and a long waiting time +for an image to appear after the sizing stops. + +2012-10-13 07:01:05 +0200 H.G. Muller : +Fix segfault on faulty command-line option + + +2012-10-12 14:42:26 +0200 H.G. Muller : +Suppress anti-aliasing in -monoMode + +In the color-substitution code, always use bi-level alpha and color. + +2012-10-12 13:34:04 +0200 H.G. Muller : +Remove piece pixmaps from project + + +2012-10-12 11:47:25 +0200 H.G. Muller : +Implement proper fallback cascade + +Try in order cached svg, cached bitmap, user png, user svg, default svg. + +2012-10-12 11:06:06 +0200 H.G. Muller : +Cache svg handles + + +2012-10-12 10:45:29 +0200 H.G. Muller : +Install svg pieces in themes/default + +The svg pieces are installed with the XBoard data in the directory +.../xboard/themes/default . A new option -fallbackPieceImageDirectory +is added, and is configured in the master settings file to point to +these pieces. This options, which replaces -svgDirectory, is volatile, +and the menu control to set it is removed. The -pngDirectory option +is renamed to -pieceImageDirectory (-pid). + +2012-10-12 10:02:50 +0200 H.G. Muller : +Remove bitmaps from project + + +2012-10-12 09:55:07 +0200 H.G. Muller : +Install the wood textures as png + +The xboard.conf has to be edited to set these as default textures, +in stead of the .xpm files. + +2012-10-12 09:50:31 +0200 H.G. Muller : +Add hatched board texture + +A png file with hatching is added, so it can be used for dark squares +in a monochrome theme. It is installed in a new data directory +.../xboard/themes/textures. + +2012-10-11 22:21:06 -0700 Arun Persaud : +added a black and white theme to replace the mono option + + +2012-10-11 20:56:42 -0700 Arun Persaud : +added SVGs to dist files in automake + + +2012-10-11 19:44:22 +0200 H.G. Muller : +Fix exposure of atomic captures + +The grid lines had to be repaired too, so damage marker 2 had to be used. + +2012-10-11 19:13:24 +0200 H.G. Muller : +Fix animation with textures off + +The blank square was not shifted to (0,0) when drawing the animation buffer. + +2012-10-11 19:08:49 +0200 H.G. Muller : +Fix 1-pixel offset of grid lines on some cairo implementations + + +2012-10-11 09:51:07 +0200 H.G. Muller : +Solve odd lineGap problem + +Not all cairo versions seem to round the same when an odd-width line +is to be drawn at integer coordinates. So now we explicitly ask it +to be drawn centered on half-odd-integer coordinates. + +2012-10-09 18:52:43 +0200 H.G. Muller : +Add -trueColors option + + +2012-10-09 14:56:16 +0200 H.G. Muller : +Always render svg pieces anew on size change + +The svg pieces are now unconditionally rendered to supply the pngPieceImage +master source otherwise read from png file. This is then fed into the +original png code (so that if for some reason it fails, we fall back on png +pieces, and finally on built-in pixmaps). + +2012-10-09 14:06:47 +0200 H.G. Muller : +Fix rsvg version in configure.ac + + +2012-10-08 19:54:19 -0700 Arun Persaud : +initial svg rendering + + +2012-10-08 18:34:05 -0700 Arun Persaud : +added cairo and librsvg to configure process + + +2012-10-08 18:32:55 -0700 Arun Persaud : +added SVGs + +converted from inkscape SVG to plain SVG before adding + +2012-10-10 21:19:25 +0200 H.G. Muller : +Adapt Eval Graph code to new drawing system + +The eval graph now triggers an expose after drawing, and gets its size +from the Option fields. + +2012-10-10 20:37:58 +0200 H.G. Muller : +Fix expose requests seek graph + + +2012-10-10 20:07:53 +0200 H.G. Muller : +Make draw handle for board globally available + + +2012-10-10 19:45:39 +0200 H.G. Muller : +Let expose requests pay proper attenton to widget + +So far, expose requests were always assumed to be for the board widget, +preventing display of the labels. + +2012-10-10 18:45:59 +0200 H.G. Muller : +Fix initial display of logos + +The logos were selected and printed during the initialization, +before the main event loop was started. So the expose events during +widget creation, which created the drawing surfaces, were only processed +after the initial drawing of logos, so that there was nothing to draw on! + +2012-10-10 17:25:25 +0200 H.G. Muller : +Fix alignment of highlight expose + + +2012-10-10 17:19:52 +0200 H.G. Muller : +remove NewSurfaces + + +2012-10-09 13:57:40 +0200 H.G. Muller : +Make expose handler generic + +The Graph Option now returns two handles in hitherto unused fields of its +Option struct: Option.choice is a cairo handle of a memory buffer the user +must draw to, while Option.textValue is the handle to the widget. +Expose events copy the memory buffer to the display for the exposed area. +A routine DrawExpose() is supplied to let the user generate expose events. + +2012-10-06 21:30:59 +0200 H.G. Muller : +Reload piece images when pngDirectory is changed + +The OK function of the board options dialog now tests for a change +in pngDirectory and passes a parameter to InitDrawingParams to tell +it to destroy the old images. This cause a reload on scaling the pieces. + +2012-10-06 20:16:54 +0200 H.G. Muller : +Suppress redraw during sizing + + +2012-10-06 20:10:18 +0200 H.G. Muller : +Fix bug in resize trigger + +Even if the square size does not change, the window has to be shrunk +back to fit the board. + +2012-10-06 19:54:50 +0200 H.G. Muller : +Make Piececolor options work on png pieces + +The scaled, antialiased bitmaps are now colored according to the option +settings. This is done by decomposing every pixel in a white, black and +transparency component, which is possible because the opacity is +directly give in the alpha channel, and black originally was a hard zero. +So what you se in the red channel must be white (as the original white +was #FFFFCC), and the rest of the opacity must be due to black. + The color to be replaced (white for the white pieces, black for the black +pieces) is then replaced by the original weight of this color times the +color from the option. + +2012-10-06 17:53:25 +0200 H.G. Muller : +Plug resource leak on rezising with pixmaps + + +2012-10-06 16:19:41 +0200 H.G. Muller : +Fall back on built-in pixmaps if png pieces unreadable + + +2012-10-06 14:21:11 +0200 H.G. Muller : +Do coordinate text alignment with cairo + + +2012-10-06 13:40:12 +0200 H.G. Muller : +Some cleanup + + +2012-10-06 12:14:16 +0200 H.G. Muller : +Clean up drawing code + +Now all routines only draw through cairo, the destination surface can +be passed to them, making it possible to do the duplicate drawing +to the memory board image in a cleaner way. + +2012-10-06 11:37:20 +0200 H.G. Muller : +Check in draw.c, draw.h + + +2012-10-06 11:26:24 +0200 H.G. Muller : +Remove all bitmap & pixmap drawing + +All Xt code for drawing the board is now removed, as are the +-pixmapDirectory and -bitmapdirectory option. This version is now +completely dependent on cairo for handling of all graphics anywhere. +(The build-in pixmaps are still left, though, for later use as an +alterative cairo source when no png files are found.) + +2012-10-06 10:29:06 +0200 H.G. Muller : +Separate off drawing routines from xboard.c + +A new source file draw.c is created to hold all code associated with +board drawing. The routines for loading bitmaps and creating colors +were left in xboard.c, though, as they are also used for handling +icons and colors of widgets. + +2012-10-05 19:53:04 +0200 H.G. Muller : +Fix erasing dots in seek graph + +The cairo dots were just a little bit bigger than the old ones, so they +were not properly erased, but left a remnant. + +2012-10-05 19:25:58 +0200 H.G. Muller : +Cleanup CairoOverlayPiece + + +2012-10-05 19:22:34 +0200 H.G. Muller : +Draw arrow also on backup image + + +2012-10-05 19:16:30 +0200 H.G. Muller : +Fix highlight clearing + + +2012-10-05 18:59:30 +0200 H.G. Muller : +Remove acceleration trick + + +2012-10-05 18:54:01 +0200 H.G. Muller : +Implement variant-dependent png piece symbols + + +2012-10-05 18:42:51 +0200 H.G. Muller : +Fix clearing of markers dots with promo popup + + +2012-10-05 18:32:24 +0200 H.G. Muller : +Also render coordinates to backup board + + +2012-10-05 18:30:35 +0200 H.G. Muller : +Remove debug print + + +2012-10-05 18:29:13 +0200 H.G. Muller : +Let cairo also do evenly colored squares. + + +2012-10-05 17:56:43 +0200 H.G. Muller : +Make dragged piece for excluding moves transparent + + +2012-10-05 17:42:18 +0200 H.G. Muller : +Fix DrawSeekText + + +2012-10-05 17:40:55 +0200 H.G. Muller : +Redo coordinate / piece-count printing ith cairo + + +2012-10-05 15:40:14 +0200 H.G. Muller : +Also use cairo on slave board + +With dual-board observing the drawing should be redirected to the +slave board, so SwitchWindow should also switch the xlib-surface to +one for the slave window. + +2012-10-05 15:12:41 +0200 H.G. Muller : +Cure flashing of piece on from-square + +In a drag-drop move the piece was flashed on the from square after the +user dropped it on the to-square, because highlights were set before the +move had updated the board. And highlighting with arrow can cause a redraw +of the last board. Same with setting or clearing marker dots. + +2012-10-05 14:20:12 +0200 H.G. Muller : +Specify proper condition for using cairo animation + + +2012-10-05 14:07:53 +0200 H.G. Muller : +Allow resizing of board window + +In full png mode the size of the board window is no longer locked. +After resizing, the square size is calculated as the largest one that +would fit the window, and the window is then shrunk around it. To prevent +excessive redrawing during sizing, the redraw is delayed by putting it +in DragProc. + +2012-10-05 10:41:02 +0200 H.G. Muller : +Switch to using 64x64 png images + +The bitmap scaling works better when the needed factors are not too large, +as the svg rendering's anti-aliasing did not blur more than 1 pixel. +So after shrinking too much the images are not effectively anti-aliased +anymore. + +2012-10-05 10:16:47 +0200 H.G. Muller : +Maintain in-memory copy of the board image + +As reading back from the xlib-surface proves incredibly slow (cairo probably +converts the entire image from Xt format to cairo format when we set it +as a source, even though we only want to read a few dozen pixels), we now +keep an exact copy of the board image as a cairo bitmap in memory. This +restores the speed of the animation, but unfortunately leads to awful code. + +2012-10-04 22:15:05 +0200 H.G. Muller : +Do animation with cairo + +Unfortunately this is incredibly slow. + +2012-10-04 18:36:08 +0200 H.G. Muller : +Allow back-texture files to be PNG, (drawn with cairo) + + +2012-10-04 15:10:37 +0200 H.G. Muller : +Add png pieces + +A new directory with 256x256 png piece images is added to the source tree. + +2012-10-04 15:01:05 +0200 H.G. Muller : +Add mode to draw PNG piece images through cairo + +The PNG images have to be supplied as files in a -pngDirectory (a new +option) with a 256x256 bitmap. They are then scaled by cairo to the +desired square size. This does not work very well for the smaller sizes. + +2012-10-03 14:45:07 +0200 H.G. Muller : +Redo marker dots with cairo + + +2012-10-03 14:27:14 +0200 H.G. Muller : +Redo highlights with cairo + + +2012-10-03 14:07:37 +0200 H.G. Muller : +Make convenience routine SetPen globally available + +The routine to set a pen as specified by a color string that was used +in xevalgraph is moved to xboard.c, where there also is lots of demand +for it. The arrow drawing now uses it for setting the highlightSquareColor. + +2012-10-03 12:28:30 +0200 H.G. Muller : +Redo grid with cairo + + +2012-10-03 12:00:07 +0200 H.G. Muller : +Redo arrow highlighting with cairo + + +2012-10-03 11:20:12 +0200 H.G. Muller : +Redo seek graph with cairo + +New front-end services DrawSeekOpen() and DrawSeekClose() have been +added, and are called from the back-end to enclose any drawing activity. +In WinBoard these had to be defined as dummies. + +2012-10-02 15:31:26 +0200 H.G. Muller : +Redo logos with cairo + +The logos must now be .png files, and are internally handled as their +filenames. (So no preparation of a drawable from it at startup.) +Cairo allows them to be scaled to the requested logoSize. + +2012-10-02 14:02:23 +0200 H.G. Muller : +Fix Eval Graph resolution problems + +Anti-aliasing had to be switched off to get a crisp graph. A second problem +was that the dashed lines were drawn in both directions, with interfering +dashes. + +2012-10-02 10:54:48 +0200 H.G. Muller : +Redo Eval Graph drawing with cairo + + +2012-10-21 10:21:33 +0200 H.G. Muller : +Fix button-border-width bug in monoMode + +The kludge of signalling we are dealing wih a button rather than a label +was wrongly implemented in case of momoMode. + +2012-10-21 10:14:24 +0200 H.G. Muller : +Reserve more space for button bar + +In some board sizes the button bar was wider than the code guessed, +so the window width would be determined by the message + buttons row rather +than the board. + +2012-10-21 11:24:18 +0200 H.G. Muller : +Fix WinBoard compile errors + + +2012-10-13 09:33:39 +0200 H.G. Muller : +Fix non-NLS compile error for XFontStruct + + +2012-10-12 12:04:17 +0200 H.G. Muller : +Fix browsing for path + +A pathname was still prefixed with the cuurent directory. + +2012-10-07 21:00:10 +0200 H.G. Muller : +Use Pause state in AnalyzeMode to imply move exclusion + +The pause state was not used in AnalyzeMode so far. Now it is used to +imply all entered moves are for exclusion/inclusion. + +2012-09-30 18:55:13 -0700 Arun Persaud : +new version number for developer release + + +2012-09-30 22:16:14 +0200 H.G. Muller : +Fix broken -ics and -cp options + +The patch to specify engines and ICS by nickame broke the use of the +regular options to do this, because they could also reset them. Now +this is fixed by only setting them (through |= in stead of =). + +2012-09-30 22:01:52 +0200 H.G. Muller : +Update texi file + +The description of exclude-moves, multi-game ananalysis and duo-analysis +is added. + +2012-09-30 10:07:58 +0200 H.G. Muller : +Resolve conflict between -mps and -inc options + +The age-old problem that a persistent valid -inc value will cause -mps +to be ignored is solved by the kludge of storing these two as a single +option (-mps) in the settings file, and declaring the other (-inc) volatile. +The range of negative numbers (invalid as -mps value) was available for +that, and now is used to store the negated value of -inc in msec. +For backward compatibility, specification of -inc causes interpretation +of -mps in the old way. The forcing of -inc to -1 in the master settings file +could be safely removed because of this change, so that the time increment +now is a persistent option. + +2012-09-29 23:13:04 +0200 H.G. Muller : +Allow entry of fractional increment in WB time-control dialog + +The numeric edit is changed to a general text edit, and code is added +to convert the text it contains to and from float, with proper error check. + +2012-09-29 23:05:33 +0200 H.G. Muller : +Preconfigure -icsNames in xboard.conf + +Although XBoard has no startup dialog with an ICS combobox, the -icsNames +option is now used to select lines from with the -is option, and in +interpretation of positional arguments. The most common ICS are configured +together with a short nickname, so that commands like "xboard fics" will work. + +2012-09-29 22:58:12 +0200 H.G. Muller : +Allow ICS nickname as positional argument + +If an argument is encountered that is not preceded by an option name, +it is now first checked if it corresponds to the nickname of an ICS +in -icsNames. If so, it is assumed to be the value of an -is option, +selecting -ics mode with that ICS and all the options installed with it. + +2012-09-28 20:28:05 +0200 H.G. Muller : +Cure some sick behavior in XBoard Engine Output right-clicks + +When a PV-walk is in progress, the PV is highlighted by selecting it, +and this focuses the attention of the scroll bar on it, so it remains in +view. But after release, that line was kept in view, rather than scrolling +back to the top of the window (where the header line bust be available +for clicking) + +2012-09-28 13:28:17 +0200 H.G. Muller : +Allow Analyze Game to auto-step through entire game file + +If the game index is set to auto-increment (-lgi -1), the Analyze Game +function will automatically load the next game of the current game file +(starting to auto-play/annotate that) when the end of the current game is +reached. This flushes the annotated game if auto-saving was set, +so that eventually all games in the file will be annotatd and saved. + The game index is automatically set to auto-increment when we load +a file while in Analyze Game mode, but switching this mode on while a game +is already loaded will stop at the end of that game, as usual (if -lgi was +not explicitly set). + +2012-09-28 13:24:33 +0200 H.G. Muller : +Let second engine move in lockstep during dual analysis + +When the second engine is also analysing (as indicated by its stat variable +second.analyzing), we send all moves / undos / positions / in&excludes that +go to the first engine also to second. + +2012-09-27 19:07:58 +0200 H.G. Muller : +Allow second engine to analyze too + +Clicking the Analysis menu when analysis is already in progress will +now toggle the secon engine to analyze the same position. For now, +this lasts only until the position changes (or you leave analyze mode), +after which the second engine is always switched off, and the Engine +Output window returns to single pane. Each pane now has its own header +line; the exclude header is suppressed in the second pane. + +2012-09-27 18:11:23 +0200 H.G. Muller : +Add options -fe, -se, -is to load installed engines/ics from list + +The volatile string options -fe, -se ('first/second engine') load the first +and second engine of the given nickname in the -firstChessProgramNames list, +including all options that were installed with it (similar to when in +WinBoard the that engine line had been selected through the Startup Dialog's +combobox). The option -is is similarly used to retrieve the line for an +ICS in the -icsNames list. + +2012-09-27 18:02:24 +0200 H.G. Muller : +Add check on validity of tourney participants + +Before allowing OK of the Tournament Options dialog, it is now checked +whether all participants (which are given as nicknames) can be found +in the list of installed engines, so that no problems will occurr with +non-existing engines during the tourney (if typos crept in after hand- +editing the list). + +2012-09-25 16:21:42 +0200 H.G. Muller : +Implement --help option + +The list of options is printed before exiting. Some attempt is made +to do it in a nice way. + +2012-09-23 20:10:58 +0200 H.G. Muller : +Implement variant seirawan in -serverMoves option + +Write the gating moves such that the ChessLive! viewer will understand them. + +2012-09-23 20:05:07 +0200 H.G. Muller : +Workaround for FICS bug + +FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move. +This broke 'Upload to examine', because that uploaded in SAN. In case the +SAN starts with Bx or bx, it now uses long algebraic (with = before the +promo char). + +2012-09-20 18:17:55 +0200 H.G. Muller : +Define XOP mime type for XBoard + +Supply a white-knight icon for this mime type, called application/x-xboard-opt, +and a sesktop file to associate it with running XBoard with this settings file. + +2012-09-20 17:24:29 +0200 H.G. Muller : +Pay attention to extension of 'positional' arguments + +An argument without preceding option name was assumed to be an -lgf argument. +This patch still does that by default, but if the argument ends in .fen, .epd, +.trn, .ini or .xop it is considered an -lpf, -tf or -opt argument. + In addition, an implied -lpf or -lgf argument also imply the option -viewer, +which inserts the -viewerOptions string into the command line, and proesses it +as options. A new option -tourneyOptions is similarly inserted for an implied +-tf argument. These strings should contain all options needed to start XBoard +fully configured as game viewer or tourney playing agent on the mentioned file. + +2012-09-20 15:29:42 +0200 H.G. Muller : +Let windows stick to right display edge (WB) + +Auxiliary windows docked to the board window from below or to the right, which are +pushed out of view when the board window resizes, will be trimmed to just touch the +diplay edge (if sufficient width or height remains). When the board window shrinks, +auxiliary windows touching the edge will be resized so they remain touching it. + +2012-09-20 15:20:36 +0200 H.G. Muller : +Round board size to one where piece images available (WB) + +When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not +available, the size is temporarily rounded to one of the sizes where they are. + +2012-07-03 17:21:53 +0200 H.G. Muller : +Fix bug in Edit Position + +Due to = in stead of == the variant was always set to S-Chess in +EditPositionDone(). + +2012-08-28 21:24:51 -0700 Daniel Macks : +bug #37210: Mishandling of X11 -I flags (tiny change) + +AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"' + +2012-06-02 14:31:18 -0700 Arun Persaud : +bug #36229: changed ICS_* from define to enum + + +2012-05-28 13:58:00 -0700 Arun Persaud : +bug #36229: changed STATE_* from define to enum + +enabling better compiler checks + +2012-05-28 13:50:50 -0700 Arun Persaud : +bug #36229: changed PEN_* from define to enum + +This should allow better checks by the compiler + +2012-05-28 13:01:15 -0700 Arun Persaud : +fix bug #36228: reserved identifier violation + +variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards. +See link in bug report. + +2012-05-28 12:36:37 -0700 Arun Persaud : +Updated German translation + + +2012-04-30 20:06:00 -0700 Arun Persaud : +new version number for developer release + + +2012-04-24 11:23:04 +0200 H.G. Muller : +Decapitalize promoChar in move parser + + +2012-04-23 14:12:10 +0200 H.G. Muller : +Keep track of virginity of back-rank pieces in variant seirawan + +The forelast rank of the Board array is now used in VariantSChess to +contain flags that indicate virginity of the back-rank pieces, one bit +for white, the other for black. Legality checking of gatings now makes +use of this info. FENs mention all virgin pieces not implied by castling +rights in the castling field, by printing the corresponding file IDs, +as long as holdings are non-empty. The FEN reader now also understands +this format. EditPositionDone fakes virginity for all pieces that are +on their starting square. + +2012-04-17 19:49:24 +0200 H.G. Muller : +Suppress clear-board message after pasting FEN + +The message field is now always cleared when you leave EditPosition mode. + +2012-04-17 19:45:33 +0200 H.G. Muller : +Fix faking of castling rights after editing position with holdings + +The queen-side rook was always imagined at X=0, which is in the holdings +when these exist, so that Q-side castling in such games was never allowed +after EditPosition. + +2012-04-20 10:29:36 +0200 H.G. Muller : +Fix WB Engine Settings window + +The listbox patch has broken this window, by making it only list the +first option of the engine, by switching to the next column based on a >= +test rather than == test. Fixed by using 1000 as invalid value for the +break point, rather than -1. + +2012-04-20 00:01:08 +0200 H.G. Muller : +Fix key binding of DebugProc + +The name used for binding was DebugProc, while the ite was named Debug. + +2012-04-16 20:51:50 +0200 H.G. Muller : +Fix ICS Text Menu popup + +The space for the option names needed to be allocated. + +2012-04-16 20:37:06 +0200 H.G. Muller : +Fix disabling of Load Engine menu + + +2012-04-15 22:53:24 +0200 H.G. Muller : +Port chat boxes to XBoard + +A new menu item Open Chat Window is added to the View menu. It opens a +window that can handle 5 chats. A row of buttons on top selects which is +the foreground chat partner, to which we type, and whose incoming messages +will be displayed in the memo. The leftmost 'button' is not really a button, +but a text edit, and the active partner is displayed there (so it can be +altered). Selecting another chat partner through a button, moves that partner +to the text-edit, and reshuffles the buttons. Incoming messages in a chat +that is not foreground make the corresponding button color orange. + +2012-04-16 20:27:08 +0200 H.G. Muller : +Allow chaining of single-line text-edits to top + +For the benefit of the chat window, a text-edit plus leading description +can now also be chained to the top edge of a dialog. The chaining of the +(degenerate) multi-line ICS Input Box and Move Type-In was entirely to the +bottom, which has now been corrected. + +2012-04-12 09:30:24 +0200 H.G. Muller : +Add logo widgets in main board window + +New options -logoSize and -logoDir are added. The former enables logo display, +when non-zero and not too big. The latter is used by -autoLogo. The options + -firstLogo and -secondLogo also work. Problem is that the clock height +is larger than the logo height, and for now a nasty trick in GenericPopUp +is used to position the next element (message field) w.r.t. the clocks, +rather than the last element of the row above (the logo): in case of a +SAME_ROW Graph element, 'last' is kept at the previous element. + +2012-04-19 10:48:41 +0200 H.G. Muller : +Fix crash on time forfeit with -st option + +When fixed time per move was set from the command line, the time-control +strings were not set. This let to a crash when an engine forfeited. +The GetTimeQuota function is now made resistant to a NULL pointer here. + +2012-04-19 10:39:12 +0200 H.G. Muller : +Solve WinBoard name clashes, fix zippy-analyze menu graying + +Some of the function names used in the refactored X11 front-end collided +with Windows system names from winboard.h, or with names of internal routines +in WinBoard front-end files (so they could not be declared in frontend.h). +These were renamed. Some prototypes in engineoutput.h contained X11 types, +and they were moved to xboard.h. + In addition, two menu-item names were corrected to two-part names. + +2012-04-18 12:00:43 +0200 H.G. Muller : +Offer primitive paging in file browser + +If there are more than 1000 files that would have to be displayed, +the number will be limited to 999, and a 'next page' entry will appear +at the bottom. Clicking that will give you the next group. + This is an emergency measure only, as it interferes with sorting +(grouping is based on order inside the directory, i.e. kind of arbitrary, +and sorting is only done within a group.) There is no such thing for the +folder list yet. There is no way to go back to a previous page, other +than closing and re-opening the browser, or selecting another file type. + +2012-04-18 11:16:58 +0200 H.G. Muller : +Add pixmap as file type known to browser + +Users can browse for a pixmap to set the board texture. + +2012-04-17 15:45:27 +0200 H.G. Muller : +Fix warning about signedness + +Note: the promoChar in ExcludeMoves was explicitly defined to make +sure the kludge promoChar = -1 for indicating best move works. But it +should be equivalent to casting the promoChar to (signed char) just +before the comparison. + +2012-04-17 15:44:15 +0200 H.G. Muller : +Fix warnings about character index + + +2012-04-17 15:37:53 +0200 H.G. Muller : +Move ManProc to xboard.c + +It calls ManInner, which requires X11 data types, even if the values are NULL. + +2012-04-17 15:27:21 +0200 H.G. Muller : +Move FileNamePopUp to dialogs.c + + +2012-04-17 15:15:03 +0200 H.G. Muller : +Fix readout of numeric combobox + +As currently no numeric comboboxes are used, this bug was silent. + +2012-04-17 15:10:54 +0200 H.G. Muller : +Shuffle prototypes to correct header, or add them there + + +2012-04-17 14:15:15 +0200 H.G. Muller : +Fix MenuNameToItem + +This function could crash when called with ann argument that did not +contain a period, while the idea was that it should handle this as if the +item is in noMenu (for user-specified key binding to non-menu funtions). + +2012-04-16 19:43:03 +0200 H.G. Muller : +Fix click-click under-promotion animation save + + +2012-04-17 11:02:39 +0200 H.G. Muller : +Define TOPLEVEL in winboard.c + + +2012-04-17 10:59:33 +0200 H.G. Muller : +Add two new strings to WinBoard language file + + +2012-04-17 10:51:02 +0200 H.G. Muller : +Fix second-engine variant test + +The test whether the second engine supports the selected variant took place +before the second engine was loaded, thus always coming to the conclusion +that the variant was not supported, and aborting the TwoMachines command. +The test is now moved to after second-engine loading (but before its +initialization, where non-supporting would become a fatal error). + +2012-04-16 12:11:09 +0200 H.G. Muller : +Fix clearing of ICS input box after send + + +2012-04-16 19:08:10 -0700 Arun Persaud : +enable -Wall -Wno-parentheses for all compilers that understand them + + +2012-04-16 13:18:37 +0200 Byrial Jensen : +Remove 5 unused variables from zippy code + + +2012-04-16 13:14:06 +0200 Byrial Jensen : +Remove unused static function ShowTC + + +2012-04-16 13:10:58 +0200 Byrial Jensen : +Remove unused static function MenuBarSelect + + +2012-04-16 13:07:01 +0200 Byrial Jensen : +Remove unused variable first_entry from function find_key + + +2012-04-16 13:01:09 +0200 Byrial Jensen : +Remove unused variable tm from function SaveGamePGN + + +2012-04-16 12:56:46 +0200 Byrial Jensen : +Remove unused variable delayedKing from function QuickScan + + +2012-04-16 12:52:57 +0200 Byrial Jensen : +Remove unused variable pdown from function UserMoveEvent + + +2012-04-15 04:25:59 +0200 Byrial Jensen : +Change some double literals to floats. + +To avoid unnecessary implicit promotions of float variables to double. + +2012-04-15 11:12:02 +0200 H.G. Muller : +Remove debug printf + + +2012-04-14 22:43:03 +0200 Byrial Jensen : +Translate "NPS" also in engine output window + + +2012-04-14 16:19:34 -0700 Arun Persaud : +removed unused variables (-Wunused-variable) + + +2012-04-14 15:37:05 -0700 Arun Persaud : +added m4 directory to search path for aclocal. As suggested by Michel Van den Bergh + + +2012-04-14 23:21:56 +0200 H.G. Muller : +Fix Eval Graph scale in drop games + + +2012-04-14 23:16:29 +0200 H.G. Muller : +Fix ArrowDamage out-of-bounds access on drop moves + + +2012-04-14 21:33:49 +0200 H.G. Muller : +Implement automatic partner observe + +Starting a game, or starting to observe one, now automatically issues a +'pobserve' command if dual-board is switched on, so that the partner game +will pop up in the secondary board (assuming it is bughouse). + The secondary board now displays the players in the title. (This (lightly) +breaks WinBoard again.) When the primary game ends, the secondary board +closes automatically. Initial sizing of the board is repaired, and now uses +the actual current board size, rather than the initial size of the main board. + +2012-04-14 15:43:30 +0200 H.G. Muller : +Fix crash due to empty PV + +Reception of a stat01 command before the first PV could cause a crash, +as apparently the parser cannot handle this. + +2012-04-14 13:27:48 +0200 H.G. Muller : +Suppress testing for availability in bughouse drops + +Give up on testing legality of bughouse drop moves; this only causes problems, +because the move list sent by the ICS is not accompanied by holdings updates. +So XBoard parses it thinking the holdings are empty, making every drop move +an ImpossibleMove. Bughouse can only be played on ICS, and we might as well +trust the ICS that it will only pass us legal moves. A user should not be +able to enter illegal drops; unavailable pieces cannot be grabbed from the +holdings, and typing is diverted to the ICS directly (which would reject the +illegal drop without XBoard even knowing about it). + Also improve switching to bh/zh, based on drop move in initial board. + +2012-04-14 09:11:22 +0200 H.G. Muller : +Fix some compile errors / warnings + + +2012-04-13 19:06:17 +0200 H.G. Muller : +Fix promotionPopDown on new move entry + +The promotion popup is non-modal, and old XBoard versions popped it down +as soon as the user clicked the board, so he could just enter a new move +to abort the promotion. This was broken in the new version, because the code +to do the PopDown and abort in HandleUserMove had not been ported. + +2012-04-13 18:38:51 +0200 H.G. Muller : +Use in-place sweep-selection for click-click under-promotion + +With detour under-promotion a piece cycles through all possible choices +during backwards dragging. But in a click-click move there is no dragging. +This used to be solved by letting the second click start a drag event of +the default promotion choice, which you could accept by immediately +releasing the mouse button, or drag around to change it first. + The dragging in this case seemed a little unnatural, because the to-square +was already indicated by the down-click. So it has been changed now to the +promo choice appearing on the down-clicked to-square, followed by +EditPosition-like sweep-selection on that square when one wants to under- +promote. The move is always accepted no matter where the up-click takes +place, except when it takes place on the from-square (which offers a last- +resort abort possibiliy). + Note that click-click promotion is essential in variants where it is not +obvious from the from-square alone that a promotion is imminent, but where +it depends on the to-square. (Such as Shogi.) There drag-drop detour under- +promotion is not possible. + +2012-04-13 16:05:16 +0200 H.G. Muller : +Improve arrow drawing + +The arrow is now erased together with the border highlights, by marking +the damage it did, and then doing a selected redraw of the board to let +the damaged square be re-drawn. Highlights of a previous move are now +cleared on the down-click that selects a new piece, so there never is an +arrow to infavorably interact with animation of dragging. + +2012-04-13 14:57:15 +0200 H.G. Muller : +Also do selective redraw with showTargetSquares on + +The XBoard DrawPosition now also keeps track of the previous marker state, +and redraws squares for which thi shas changed. As a result, the routine +MarkTargetSquares does no longer have to force to complete redraw. +(Breaks WinBoard?) + +2012-04-13 00:33:28 +0200 H.G. Muller : +Fix click-click sweep promotions to empty square + +These did not work, because DragPieceBegin would fail on an EmptySquare. + +2012-04-12 23:58:41 +0200 H.G. Muller : +Move clearing of target squares to after drag end + +A dragged piece that would partly overshoot its destination into a square +with a marker would effectively protect that marker from erasing, when the +erasing was done before the piece was released, because redrawal after the +move only would draw the target square. (Unlike erasing, which forces a full +redraw.) + +2012-04-12 23:49:27 +0200 H.G. Muller : +Fix double promotion popup + +Only the up-click of a click-click move gives a promotion popup now. + +2012-04-12 23:32:28 +0200 H.G. Muller : +Fix promotion popup + +The new GenericPopUp did not like it if the first button had 'SAME_ROW' set. + +2012-04-12 17:28:32 +0200 H.G. Muller : +Allow clearing of marker dots in any mode + +There might already be dots when you change to a mode where there should +be none, and you don't want them to stay on forever in that case... + +2012-04-12 17:00:55 +0200 H.G. Muller : +Fix redraw of secondary board on flipping view + + +2012-04-12 10:30:21 +0200 H.G. Muller : +Let clocks of secondary board count down + +The back-end now remembers what is the active clock, and the time left on it. +This is then decremented and updated together with the clocks of your own +game, using the partnerUp flag to divert the clock display to the secondary. + +2012-04-12 09:47:43 +0200 H.G. Muller : +Fix 3 forgotten symbolic widget references + + +2012-04-11 19:24:36 +0200 H.G. Muller : +Add sound files to browser menu + + +2012-04-11 13:04:24 +0200 H.G. Muller : +Add New Directory button to file browser + + +2012-04-11 09:54:51 +0200 H.G. Muller : +Detect engine exit during startup + +The case where engine startup failure does not result in a fatal protocol +message, like "No such file", but where it simply exits, is now also covered. + +2012-04-10 22:55:07 +0200 H.G. Muller : +Suppress popup for fatal error after tellusererror + +For cooperating better with Polyglot, and allowing more to-the-point +error messaging, the (awful) default message will be suppressed if the +dying engine already provided an explanation for its demise to the user. + +2012-04-10 20:28:45 +0200 H.G. Muller : +Fix Engine Output icon heights in international versions + +The text in a label option could not be an empty string, or it would be +'translated' to something of enormous size. So it is set to a space now. + +2012-04-10 20:21:56 +0200 H.G. Muller : +Fix internationalization + +The internationalization was broken by moving the XtSetLanguageProc +to behind 'bindtextdomain'. + +2012-04-10 20:03:46 +0200 H.G. Muller : +Make reference to board widgets symbolic + + +2012-04-10 18:39:25 +0200 H.G. Muller : +Don't strip path from engine name if directory given + + +2012-04-10 17:54:33 +0200 H.G. Muller : +Fix vertical chaining of Buttons and browser ListBoxes + + +2012-04-10 15:53:47 +0200 H.G. Muller : +Fix auto-play + +The 'narrow search' modification had broken auto-play, because all selected +games were marked as matching position 0, so that they would all start in +thr opening position. + +2012-04-10 13:30:44 +0200 H.G. Muller : +updated po/pot files + + +2012-04-10 11:54:50 +0200 H.G. Muller : +new version number for developer release + + +2012-04-10 13:22:40 +0200 H.G. Muller : +Update POTFILES.in + + +2012-04-10 13:21:33 +0200 H.G. Muller : +Fix Makefile EXTRA_DIST + + +2012-04-02 17:53:40 +0200 H.G. Muller : +Use Ctrl key in EditPosition mode to copy pieces + + +2012-03-28 23:51:28 +0200 H.G. Muller : +Fix bug in FRC castling for position search + +In FRC it is essential that both pieces are taken off the board before +any of them is put back, lest they obliterate each other. + +2012-03-28 12:25:20 +0200 H.G. Muller : +Fix bug on loading engine + +A newly loaded engine was put at the end of the game, rather than at the +current position, (which is required in EditGame mode). + +2012-04-06 17:02:21 +0200 H.G. Muller : +Add 'Narrow' function to position search + + +2012-04-06 10:52:45 +0200 H.G. Muller : +Reorganize main() a bit + +The font stuff goes into a separate routine, and the X11 stuff is +moved backwards as far as possible. + +2012-04-04 21:55:50 +0200 H.G. Muller : +Give the dual-board option a separate board window + +The second board window pops up whenever an alien board is received +during your game. Moves in it are highlighted by an arrow, irrespective +of the 'Highlight with Arrow' setting. The clocks are displayed, but do +not count down. + +2012-04-05 11:23:03 +0200 H.G. Muller : +Port engine grouping to Match Options dialog + + +2012-04-05 15:18:25 +0200 H.G. Muller : +Change default directory in Load Engine to "." + + +2012-04-05 10:49:56 +0200 H.G. Muller : +Port grouping to XBoard Load Engine Add highlight to Load Engine grouping + + +2012-04-06 17:19:33 +0200 H.G. Muller : +Fix default file types for browse buttons + + +2012-04-03 09:14:44 +0200 H.G. Muller : +New browser + +Redo file browser with GenericPopUp + +This had to solve quite some problems, because it wanted to use a ComboBox +option while a transient dialog could be up, was a non-engine dialog +while an engine dialog is up, and XRaiseWindow does not work properly. + Sorting is done alphabetically, or for digit groups by numeric value. + +2012-04-02 14:43:24 +0200 H.G. Muller : +Use ListBox in stead of ComboBox in Match-Options dialog + + +2012-04-02 14:09:15 +0200 H.G. Muller : +Use ListBox in stead of ComboBox in Load Engine dialog + +Make Load Engine listbox sensitive to double-clicking + +2012-03-26 17:06:33 +0200 H.G. Muller : +Add message about enabling in New Variant dialog + + +2012-03-31 20:27:20 +0200 H.G. Muller : +Move LoadGamePopUp to menus.c + + +2012-03-31 20:25:22 +0200 H.G. Muller : +Move DisplayMessage to dialogs.c + +Use the wrapper SetWidgetLabel to make it back-end. + +2012-03-31 15:23:30 +0200 H.G. Muller : +Fix switching debug option during session. + +Switching on debug mode during the session did not create the requested +debug file. + +2012-03-31 15:22:57 +0200 H.G. Muller : +Correct texi file for use of .Xresources + + +2012-04-02 19:19:30 +0200 H.G. Muller : +Fix recent-engines menu + +A new primitive to create an item in a given menu was added to do this. + +2012-03-31 10:54:22 +0200 H.G. Muller : +Switch back two two-part menu names + +The menu code is again completely changed; a handle field is added +to the MenuItem tables to store the widget for the item, and this info +is used to alter sensitivity or marking. MenuToNr is replaced by +MenuNameToItem, which looks up the two-level name directly in the +menu tables. Put all currently unused MenuProcs in noMenu table, +so they are available for key binding through the new method. + +2012-03-24 18:36:44 +0100 H.G. Muller : +Redo main board window with generic popup + +Some of the improvements in GenericPopUp (committed earlier) were added +especiall for this (menu and box Option types), and the commits that used +them to make a fully functional board, listed below, were collapsed into +this one. + +This uses the new box and menu features of the Generic popup. +Make option table shadow board consistent with refactor +Do main menus in shadow board + The board made by GenericPopUp now also has (functional) menus. The Expose + callback now also uses the new format (passing coordinates). +Use BoxEnd callback to decide about smallLayout + The shadow board now dynamically decides whether it should use smallLayout + positioning of the title-in-window widget, using a callback in the BoxEnd + option for the menu bar: If no reasonable amount of space is left behind + the menu bar, the title is forced under the clocks (smallLayout). +Do some mouse handling on shadow board + Only button 1 events for now. We have to keep track if the button is down! +Connect button 3 to shadow board + For now only for piece and PV manipulation: no context menus yet +Symbolic reference in option formatting +choice <-> textValue xboard.c +Improve expose callback shadow board +Implement context menus of shadow board + This uses the new generic PopUp option +TopLevel xboard.c +Make mock-up board available through menu item +Make clocks of shadow board sensitive to clicking +Make button bar of shadow board operational + The back-end Event functions are specified as user callbacks directly; + this is not very clean, as they are parameterless, but called with an int + argument. This should have no bad consequences, though. +Switch to using shadow board as main board + The menu marking and enabling had to b switched off for this, as it + only worked on the old menus. Remove HandleUserMove. +Deleting of unused shell variables, clocks to dialogs.c +Move BoardPopUp to dialogs.c + This required passing on fome front-end vars as parameters, and returning + apointer to the option list, to make the handles available in xboard.c. +Simplify InitDrawingSizes + Now that all widgets of the main window are properly chained, there is + no need to resize them when the board format changes: setting a new width + for the shell suffices. +Cleanup some unused Xt Args + +2012-03-31 10:53:46 +0200 H.G. Muller : +Remove unnecessary menu unmarking for Edit Tags + + +2012-03-29 19:09:34 +0200 H.G. Muller : +Split sync-after options in Match dialog into checkbox + label + +Now the checkbox texts are highlighted on hovering, we don't want the +explanatory text behind it to be highlighted with it. + +2012-03-26 17:12:33 +0200 H.G. Muller : +Make variant-unsupported-by-second error non-fatal + + +2012-03-23 20:06:15 +0100 H.G. Muller : +Redo Eval Graph with generic popup + +The Graph option of the GenericPopUp is used to implement the Eval Graph. +Compared to the previous implementation, which was drawing directly in the +form widget, the new one has one extra widget layer, but that did not +affect the code anywhere. Adapt eval title to width of eval graph. + +2012-03-23 15:17:14 +0100 H.G. Muller : +Redo Engine Output window with generic popup + +A new file nengineoutput.c holds the X-independent code. This makes use +of new capablities of GenerciPopup, for having Label widgets on same row, +stacking panes after a Break, and chaining Label and Text widgets. + +2012-03-21 23:00:05 +0100 H.G. Muller : +Redo Game List with generic popup + +Check in ngamelist.c +Redo Game List with generic popup + The X-independent code (i.e. almost all) is moved to a new file + ngamelist.c. +Make button in Game List to pop up Game List Options +Fix scrolling game list +Fix popup of existing Game List after loading file +Wheel-scroll game list +Symbolic reference game list +TopLevel game list +Put format flags with listbox options + +2012-03-21 17:58:27 +0100 H.G. Muller : +Redo Game List Options with generic popup + + +2012-04-05 21:56:52 +0200 H.G. Muller : +Add -dialogColor and -buttonColor options + +These only override system defaults if they are non-empty strings. + +2012-03-28 15:52:01 +0200 H.G. Muller : +Add -topLevel option + +This persistent Boolean option determines if the auxiliary windows +(Game List, Move List, Engine Output, Eval Graph, Tags and Comment) +use top-level shells (with their own icon on the task bar, and +independently closable). Other dialogs will always use transient shells. +(Also he modal Error and Promotion dialogs, for which the modality +presumably only serves to pop them down without special attention.) +A control for this was added in the General Options dialog. + +2012-03-20 15:30:00 +0100 H.G. Muller : +Redo ErrorPopUp with generic dialog + + keeps popping down error popup.Multiple Error popups remeain tricky; +add comment to describe problem with multiple ErrorPopUps. + +2012-03-20 10:22:46 +0100 H.G. Muller : +Redo PromotionPopUp with generic dialog + +The dialog is no longer modal. + +2012-03-19 21:56:48 +0100 H.G. Muller : +Redo AskQuestion dialog with generic popup + + +2012-03-19 21:55:58 +0100 H.G. Muller : +Major refactoring of GenericPopUp + +Allow more transient dialogs in GenericPopUp +Remove grab from promotion popup +Fix other generic popup over transient popup + To use the generic dialog generator for 'asynchronous' popups (Ask Qustion + or Error popup caused by engine), the currentOptions setting has to be + restored for the combo and checkbox callbacks of the transient to still + work after the asynchronous dialog returns. Note that only transient dialogs + can have check and combo controls. +Make generic calcel button suppressible + Also #define some more symbols for Option.min flags, + and move them to dialogs.h. +Change TypeInProc to general OK handler + The move type-in now has its own option list, to distinguish it from + the ICS input box, and give it its own OK handler. Rather than having + the translation for on the text widget call TypeInEvent directly, + we let it call GenericCallback, which calls GenericReadout, which calls + the OK proc, which does the job. + To be able to call GenericCallback from the TypeInProc, the recognition + of OK and cancel buttons had to be changed. This because it was too difficult + to arrange the calling widget had label OK or cancell. So these buttons are + no longer recognized by name, but by the option number passed as client data. + (This solves the problem that a user could not make buttons named 'cancel' + or 'OK'.) +Make Cancel button optional +Fix closing multiple popups of same kind + The GenericCallback figures out its own shell, so all buttons of + multiple dialogs keep working. External calls to PopDown only work + on the lastcreated instance of that kind, though (including those from + the Delete Window button, which can do 'cross-closing'). shellUp is now + a counter, and PopDowns are only prevented when it reaches 0 or the + current shell does not exist. (To know this, PopDown now resets shells[n] + to NULL when is shell is destroyed. + Beware of double PopDowns (through OK procs); they wreck the system. +Fix Delete Window button of multipe ErrorPopUps + The action routine for handling the Delete Window now pays attention + to the shell widget that the system passes to it, and temporarily + replaces shells[n] by it to let PopDown act on the proper instance. +Add ListBox dialog type to GenericPopUp +Fix vert sizing of ListBox +Put listbox widgets in viewport +Put listbox in viewport +Improved xoptions.c support for focussing and listboxes +Fix OK-row button positioning +Let GenericPopUp take parent and modality as arguments + This makes the code a bit more explicit and less kludgy. It also becomes + possible to call the same dialog (e.g. Load Options) from the main menu + and from another dialog (e.g. the Game List). +Support scroll function for generic popup listboxes +Fix scrolling +Move HighlightWithScroll to xoptions.c +Change scroll algorithm +Add mouse-wheel scroll to generic list boxes +Implement tabbing between text edits +Implement same-row text labels in generic dialog +Allow labels to specify their chaining in generic popup + The opt.min variable is used to specify the chaining: 0xF0 are the bits + for (left, right) chaining of the left side (0xC0) and right side (0x30). + The 0xC bits determine top or bottom chaining of the entire label. + Without anything spcified (0), the chaining is XtRubber. + TextBox options can also specify top-chaining of their top. All this was + needed to allow decent implementation of the Engine Output window with + the generic popup. (Although tags and comment popup ca benefit from the + latter feature.) +Let GenericPopUp support a Graph option + The Graph option results in an area where one can draw something. It is + positioned / chained similar to Label options. A handler for expose events + can be specified in the textValue field of the option. +Implement box widgets and menu buttons in GenericPopup + To enhance the capabilities of GenericPopUp such that it could create the + main window, it needs to be able tha packaging of controls into a box widget + (for mennu and button bar). Menu buttons are also required elements + (although they do look a lot like comboboxes?) Option types BoxBegin and + BoxEnd can now be used to bracket a group of controls that will be put + in a box widget. (Cannot be used recursively!) The positioning of the box + is similar to that of a Label, and is specified in the BogBegin option. + The code to shrink the menu buttons to fit is also incorporated, to act + on any box widget: if the BoxBegin option specifies a width, the elements + in it are shrunk to meet the requirement. Otherwise the box just gets the + size of the sum of its children (plus spacings). + Label options can now specify a font, casted into their textValue field. + (This is needed to get the proper size for the clock widgets.) +Implement callback in BoxEnd options + BoxEnd is a pseudo-option, to trigger packing the preceeding ones in + an earlier-opened box widget. In the process it calculates the size of + the box widget (and trims it if a size was specified for it in the + corresponding BoxBegin). The Option.target field of BoxEnd is now + interpreted as a callback, which can be use to take decisions based + on the determined size for the remaining options in the list, before + these are processed b GenericPopUp. +Refactor xoptions.c + Make a subroutine to set args shared by almost all widgets. Swap meaning + of '1'-bit in option.min flag of Break option, to be consistent with + SAME_ROW interpretation in other option types. +Make option tables consistent with refactored GenericPopUp + The flag for stacking in the Break option needed to be inverted, and + the BoardPopUp needed to pass the font in another field. Better use was + made of the improved chaining options too. +Improve Graph-option event handling + The user-supplied callback now gets 3 arguments passed: the event type + (0 = pointer motion, 1...5 button press, -1...-5 release, 10 = expose), + and two coordinates. For ouse events these are the pointer (x,y), while + for expose events they are the window size (w,h). The callback is now + specified in the option.target field of the Graph option. +Store engine options in malloc'ed memory + The Option.name field has been re-declared as (char*), from (char[MSG_SIZ]). + There are still MSG_SIZ chars allocated irrespective of actual size, because + the field is also supposed to store the textValue, which can be changed by + the user. But at least it means that unused options of the generous list + now don't waste much space. (And the prparated Option tables in dialogs.c + will shrink by a large factor as well.) +Improve GenericPopUp ComboBox handling. + The dialog type is now passed to the combobox callback as well, and this is + used to really figure out what option it is called for. +Allow numeric comboboxes + When no list of strings is given in Option.choice, the target is assumed + to be (int), and the number of the slected entry is stored there. Also + adapts the Label options that act as fillers to the new method for making + dummies (namely NULL in the Option.name field). +Put comboCallback in Option struct + Rather than having a general comboCallback variable for the entire current + dialog, each ComboBox option can now specify its own callback in the + target field of the option: the COMBO_CALLBACK bit of Option.min indicates + whether the target is a variable to be set or a callback. The callback can + still fetch the choice from the values array. +Allow generic CreateComboPopup also to do main menus + An extra parameter to CreateComboPopup determines if the menu texts + should be taken from a list of strings (the old method with engine- + supplied choices), or from a menu table of MenuItems. It can now also + recognize "----" as a menu break, and keeps margins (for the marking). +Make subroutine for determining curren combo selection +Various fixes to GenericPopUp +Delete one border-width setting +Fix max nr of args in GenerocPopUp +Fix button release events of Graph options +Fix generic Graph callback pointer motion coordinates +Make all format referencing in Option tables symbolic +Let Option.choice define menu texts, rather than Option.textValue + This is more logical than ussing textValue for it, because choice already + has the correct (char**) type, while textValue was (char*), and needed + casting everywhere. Note that for engine options, the fields were the + same anyway, so no back-end change was required. The textValue now + contains the (casted) list of actual string values, where these are + needed. (But for numeric and function menus they aren't.) +Add PopUp Option type + An new pseudo-Option is defined, to add a popup menu to a previous Graph + option. The actual popping up is done by the expose handler. + The function XUngrabPointer is the key to success here. A PopUp option + specifies a callback for handling the selection from the menu, which will + be called with the option number, exacty as with ComboBox options. +Update option explanation in dialogs.h +Make Spin and CheckBox callbacks pass dialog number + No longer rely on 'currentOptions' for getting the option belonging to + the callback, but get it out of the dialogOptions array indexed by dialog + type. This way things cannot be messed up by an asynchrounous error popup. + It also means that it is now save for non-modal dialogs to use these options. +Use button widget for text behind checkbox +Let listboxes use general formatting hints +Let GenericPopUp option always finish last pane after Break +Allow LisBox to specify select callback in Option.textValue +Use double-click to trigger ListBox callback +Make ListBox callback re-entrant +Fix multi-line Label options +Separate CreateMenuItem out from CreateComboPopup +Chain checkbox texts entirely left +Allow a user-specified callback to Label options + This is needed to implement the clocks. Let the CheckBox callback handle + it. For now ther is no distinction between different mouse buttons. + +2012-03-21 11:15:01 +0100 H.G. Muller : +Prevent double PopDowns + +Some DialogOK functions ordered an early PopDown themselves. This, +however, resulted in PopDown being called twice when they returned TRUE. +This interfered with the new system for allowing multiple instances of +the same dialog. So these functions are now fixed to suppress the +standard PopDown by always returning FALSE. + +2012-03-20 19:10:50 +0100 H.G. Muller : +Split usounds.c and usystem.c from xboard.c + +X-independent code was moved to separate files. The nef file usound.c +contains the sound handling, which in XBoard is trivial, because it uses +an external player, but could be replaced by a complex one on platforms +that have to handle the sound themselves. + The usystem.c file contains all non-X Unix-like stuff, such as fork, +pipe, system, getenv. I also contains some color parsing for the xterm +colors. This stuff could be useful on platforms that support Unix-like +system calls. + +2012-03-26 19:03:19 +0200 H.G. Muller : +Make routine to probe shift keys + +The code to probe Alt keys was taken out of MoveTypeInProc, and extended +to probing Ctrl and Shift keys too. These are now returned in the 6 LSB +of an int by ShiftKeys(). + +2012-03-19 13:15:11 +0100 H.G. Muller : +Remove one level of indirection on ICSInputBoxPopUp + + +2012-04-10 10:26:24 +0200 H.G. Muller : +Cleanup of xboard.c + +Remove AskQuestionProc +A bit of cleanup on xboard.c prototypes +Remove dead file-browser code +Delete vestigial jail code + All the stuff about jailColor was deleted. Only one fishy thing remains: + xpmJailSquare seems under some conditions used in BlankSquare to draw a + 'neutral' square. it is set to a copy of a light square image. But in the + current design 'neutral' means blacked out between board and holdings, + and even with image use, it should not resemble a light square... +Remove registering of CommentPopDown and TagsPopDown +Merge CopyGameSelection into CopyPositionSelection + +2012-03-19 11:38:17 +0100 H.G. Muller : +Move some back-endish routines from xboard.c to dialogs.c + +Move ICS input-history handling to dialogs.c +Move ICS Input Box text handling to dialogs.c +Move DisplayXxxx routines to dialogs.c +Move DisplayTitle to dialogs.c + A wrapper SetWindowTitle remains in xboard.c. + +2012-03-18 20:10:35 +0100 H.G. Muller : +Split back-endish part off xoptions.c, and move to dialogs.c + +Some MenuProcs for dialogs were also moved to dialogs.c from menus.c. +MoveTypeInProc which is an event handler for the board widget, +was moved to xboard.c, where it can be static. + +Identify dialogs by enum type + A new header dialogs.h is created, which defines an enum type DialogClass + that is now used to identify the various dialogs done by GenericPopUp. + The prototypes for GenericPopUp/PopDown, and other globals shared by the + dialogs code and other modules can go in here as well. +Remove ClearTextWidget + This did the same as SetWidgetText with an empty string. +Split X-code from PutText +Split back-end part from MoveTypeInProc +Take set-title out of comment popup +Sort MenuProcs in dialogs.c with their support functions +Declare globals in dialogs.c with functions where they belong +Add prototypes to dialogs.h +Move prototypes and globals from xoptions.c to dialogs.h +Make accessor DialogExists for dialog shells +Add dialogs.c to makefile: compiles and runs! +Combine 3 calls into front-end to InitDrawingParams +Move EditCommentProc and ICSInputBoxProc to dialogs.c +Pass option list as argument to GenericUpdate and GenericReadOut +Shorten argument name from currentOption to opts + This to prevent confusing it with the global variable of that name. + +2012-03-18 15:33:18 +0100 H.G. Muller : +Declare some shared global variables in backend.h + +The vlobals twoBoards and partnerUp were only shared through an extern +declaration in xboard.c + +2012-03-18 12:34:42 +0100 H.G. Muller : +Split back-endish part off drawing code and move to board.c + +Split DrawSquare in front-end and back-end part +Back-endize DrawHighlights and DrawPosition + The already existing wrapper FlashDelay is used as a kludge to do an XSync. + We now pass a code for the line color GC to the highight routine. New + wrappers are DrawGrid() and DrawBorder(). +Back-endize atomic explosions +Back-endize DrawArrow and DrawDragPiece + DrawDragPiece now calls DrawOneSquare with argument EmptySquare in stead + of the X-type referring BlankSquare. A new wrapper DrawPolygon fixes + DrawArrowBetweenPoints. +Move board-drawing logic to new file board.c + All X-independent drawing logic (board, squares, arrows, highlights, + some animation stuff) has been extracted from xboard.c, and moved to + a new file board.c, which is back-end (but unshared with WinBoard). + A new header board.h defines the cross-references (which of course + required some functions to be no longer declared as static). + A bit of code was moved from DragPieceBegin to BeginAnimation, which + now has an extra argument to indicate which piece should appear from + under a dragged piece. This makes DragPieceBegin free of XCopyArea calls, + so it could be moved too. +Make board.c truly back-end + Get rid of all X data types. For this the AnimState struct had to be + redefined: the GC and Pixmap was taken out and put in front-end arrays + indexed by anim agent (game and player). For this indexing a new enum + was defined. The XPoint type was also replaced by our own type of an + int pair (which is nasty, because the int size could be different). +Move more animation code to board.c + +2012-03-18 10:08:55 +0100 H.G. Muller : +Contract some awful code replication + +The code for making an X-color was replicated 6 times, and is now made +into a subroutine. The code for creating GCs was quite repetitive as well. + +2012-03-18 08:34:54 +0100 H.G. Muller : +Move more back-endish menu-related stuff from xboard.c to menus.c + +Move menu enabling to menus.c + Only the wrapper EnableMenuItem stays in xboard.c. A new wrapper + EnableButtonBar was necessary, because Training mode wants to enable/disable + that too. +Move all back-endish MenuProcs to menus.c + Many if the MenuProcs that could not be eliminated by listing the + corresponding back-end MenuEvent function as handler directly, are + still completely plactform indpendent. (E.g. when the MenuEvent needs + a parameter.) These are all moved to menus.c now. +Convert all dead MenuProcs to using MarkMenuItem + The MenuProcs for the option items that no longer exist were also + converted for check-marking their item in the new way, because we + might revive them for key binding. +Move the dead MenuProcs also to menus.c +Revive dead menu procs +Move GreyRevert to menus.c +Move ModeToWidgetName to menus.c +Move initial menu marking to menus.c + +A new function InitMenuMarkers was split off from main() to do this. + +2012-03-18 08:17:53 +0100 H.G. Muller : +Switch to use of short menu references + +The prefixes menuXxxx. for the item names are abolished. This made it +necessary to also add a MarkMenuItem function that can handle short names +for putting the xMarkPixmap on the items, as the names returned by +ModeToWidgetName are used for both enabling and check-marking. +Let MarkMenu use MarkMenuItem wrapper + +2012-03-17 10:47:04 +0100 H.G. Muller : +Refactor menu code, and move it to menu.c + +Supply new method for key binding + It is annoying that every menu item needs its X-specific handler routine, + because this handler has to be registered to X for becoming eligible as + a key binding. Another disadvantage of this method is that the user wanting + to make the binding has to know the name under which the menu function + is registered (e.g. FlipViewProc). + A new method is now made available, which uses only a single (X-specific) + routine, registered with X as "MenuItem", as generic key-binding handler. + The bindings can then be made by the user specifying "MenuItem(FlipView)". + This requires a new list of potential bindings, which should be filled + by the menu-creation routines. (Currently only contains only a predeficed + example.) +No longer register all MenuProcs with X + The list with available menu procs is moved to the user-maintained + menuItemList. Only QuitProc had to stay registered with X, because it is + used in CatchDeleteWindow. (So it is in both lists now.) In the future, + most of the list can be built automatically from the menu tables. +Alter type of MenuProcs to void(void) + By getting rid of the argument list with X-types, most menu procs can + become back-end. In the cases of ManProc and QuitProc the original + version had to be kept as well, because in ManProc the argument was + actually used (with key binding), while QuitProc is used for delete window. +Remove now unnecessary menu wrappers + Now the MenuProc have an empty argument list, those that also call a + single 'MenuEvent' without arguments have become completely redundant, + and have been taken out of the loop by calling the corresponding MenuEvent + directly. +Build menuItemList from menu tables + Rather than having an initialized table of name-proc associations (which + used to be the X registrations) for the menu items, we now build the list + during menu cration from the menu tables. The menu "ref" is now used as + proc name. This means the old MenuProc names used in the predefined + key bindings had to be changed to conform to this. Note that the bindings + would slice up names containing spaces in several parameters, so in the + translations the spaces were squeezed out of the item names. This requires + a hand-written comparison routine Equal() to identify the binding. +Remove prototypes of deleted MenuProcs +Move prototypes of platform-independent MenuProcs to menus.h + Create a new header file for the menu stuff, so that we can move + the corresponding handler routines out of xboard.c to a back-end file. +Extract back-end code from menu creation + The menu tables and code to interpret them is moved to a new file menu.c. + Only basic fuctions for creating a pop-down list and for adding an item + to it remain in xboard.c. + +2012-04-07 15:59:50 +0200 H.G. Muller : +Remove some unused (exclude-moves) variables + + +2012-04-07 15:57:54 +0200 H.G. Muller : +Install engine within current group + + +2012-04-07 15:53:29 +0200 H.G. Muller : +Switch to using listboxes for engine-selection in WinBoard + + +2012-04-07 15:36:02 +0200 H.G. Muller : +Implement Narrow button in WB Game List + + +2012-04-05 15:15:09 +0200 H.G. Muller : +Silence unjust warning + + +2012-04-04 12:18:43 +0200 H.G. Muller : +Fix memory corruption through InitString and second-engine loading + +The InitString and ComputerString options were not swapped when replacing +the second engine, so that the ChessProgramStates of the first engine +could point to an invalid (already freed) init string. Also make sure +that appData.directory contains its value in allocated memory, even +when hand-loading engines. + Some of the rare options were not swapped either, and would thus +always be loaded for the first engine when -singleEngineList was true. +They are now also all reset to their default, before engine load, +to prevent options of one engine to linger on for a next that does +not specify them. The intentional exception is -firstHost. + +2012-04-01 20:51:53 +0200 H.G. Muller : +Fix PV sorting during fail low + +When an engine reports a fail low as thinking output, and then re-searches +the same move with larger window, it now gets a lower score. This line +would then be sorted below the earlier fail low, because it was mistaken +for a multi-PV line for an inferior move. This patch suppresses PVs +overtaking each other if they start with the same move. + +2012-03-30 20:09:58 +0200 H.G. Muller : +Extend smallLayout regime up to size Medium + +Because of the increase number of menus, there is not enough space for a +title next to the menu bar at smaller sizes. In fact it is questionable if +the title should ever go on the same line as the menu bar. + +2012-03-30 10:38:27 +0200 H.G. Muller : +Fix parsing crazyhouse promotions with legality testing off + +With legality testing off, any promotion suffixes in a move are taken +'on faith'. But in crazyhouse the piece ID for normal pieces is used as +promotion suffix for promoted pieces, so this would Loop Chess rather than +Crazyhouse. Now attention is payed to presence of ID-less promotion pieces +(indicated by ~ in the pieceToCharTable), and if there are, these prevail +ovr the specified type. + +2012-03-30 10:07:04 +0200 H.G. Muller : +Fix browsing for save file in WB + +The generic popup browse buttons used the wrong flavor of browser, +which would only accept existing files. This was inconvenient when browsing +for a save file. The other flavor of browser is now used by default (so that +engine options also use it), and a new flag is added in the option.max field +(which was already indicating file type) to request readonly browsing for a +save file. + +2012-04-02 10:18:37 +0200 H.G. Muller : +Let clicking on header line exclude moves + +The exclude header in the Engine-Output window can now be clicked, to +toggle the exlusion of the listed move. Clicking on 'none' resets all +exclusions, clicking on 'best' excludes the first move of the latest PV. +The pseudo-move 'tail' represents all non-listed moves. + +2012-04-01 22:39:55 +0200 H.G. Muller : +Keep list of excluded moves in Engine Output header + +As long as there is still space, excluded or included moves are added +to a new header line in the Engine Output window (prefixed with + or - +depending on whether they are currently excluded or included). Future +in/exclusions of that same move then alter the prefix. + +2012-03-21 23:12:20 +0100 H.G. Muller : +Fix focus of Game List + +After focus was transferred to the filter text-edit, it was impossible +to get it back on the game list (to make the arrow keys working again). +A translation to left down-click is now used to assign focus, just as +it would for text edits. For unknown reason this only worked if the +translations were instated by Overriding, rather than Augmenting, +which again required the normal translation of downclick, Set(), which +selects the clicked item, to be explicitly mentioned as well. + +2012-03-16 22:41:19 +0100 H.G. Muller : +Fix taking effect of some option changes + +This fixes a bug reported at Ubuntu: when switching off move highlighting +in Two Machines mode, the last move before the switch stayed highlighted. +The GeneralOptionsOK() now clears any remaining highlights when highlighing +is off. Similar problems with blind-fold mode and coordinates, which require +a total board redraw to take effect, are now solved by also forcing such a +redraw in GeneralOptionsOK() when they change. + +2012-03-16 21:58:55 +0100 H.G. Muller : +Add exclude and setscore to protocol specs + + +2012-03-16 14:47:25 +0100 H.G. Muller : +Fix clock stop after dragging + +DelayedDrag always cancelled the previous drag timeout event, even when +this was no longer pending because it had already taken place, and the +event ID was resused by some other timeout (usually a clock tick). + +2012-03-14 21:06:28 +0100 H.G. Muller : +Implement exclude moves + +Dragging a piece by double-clicking it on the from-square in analysis mode +will not perform the entered move, but send an exclude or include command +to the engine for that move (provided the engine enabled this with +feature exclude=1), depending on if the move was already excluded or not. +To this end a map of excluded moves is kept, and cleared when we move to +another position through moving, undo, setboard or new. The user can see +whether he included or excluded the move, as exclude uses premove highlights. + Commands "exclude|include all" are sent when we throw a double-clicked +piece off board (vertically or horizontally, respectively), but after +exclude all the most recent PV move is included again. + Remaining problem is that promotions can only be excluded. + +2012-03-14 15:13:18 +0100 Byrial Jensen : +Mark new text "Click clock to clear board" for translation + + +2012-03-13 21:46:55 +0100 H.G. Muller : +More thorough switch to -ncp on engine failure + +The ProcRef and InputSource are now also cleared, and just to be sure there +are no surviving adapters, the child is killed when engine startup fails. + +2012-03-13 21:25:22 +0100 H.G. Muller : +Install engines as ./exefile in XBoard + +When a path name is split into directory and filename, the latter in Linux +must be preceded by ./ in order to make it executable in the directory +XBoard starts it in. + +2012-03-13 14:11:18 +0100 H.G. Muller : +Inform user in EditPosition mode how to clear board + +With -pieceMenu false the board is cleared by clicking the clock, but +since this is impossible to guess, it is now printed in the message field. + +2012-03-13 14:06:32 +0100 H.G. Muller : +Fix fall-back on -ncp mode + +When the requested engine could not be started, the user still had to +wait for the feature timeout to expire before the UI was re-enabled, +and the now-useless loading action would continue. In stead we now +cancel any scheduled continuation, thaw the UI immediately, and switch +the menus and gameMode to ncp straight away. + +2012-03-10 18:55:24 -0800 Arun Persaud : +updated po/pot files + + +2012-03-10 18:54:32 -0800 Arun Persaud : +new version number for developer release + + +2012-03-06 16:37:02 +0100 Byrial Jensen : +Fix typo (seach) in string. It is already fixed in branch v4.6.x + + +2012-03-04 14:52:34 -0800 Arun Persaud : +added some documentation about what's need to be done for a release and a bash-release script + + +2012-02-28 21:09:18 +0100 H.G. Muller : +Fix suspected bug in Makefile + + + + +2012-02-26 18:55:10 -0800 Arun Persaud : +add information about our webpage and were to report bugs into the help menu + + +2012-02-26 18:40:27 -0800 Arun Persaud : +fixed "make install-pdf": missing target for recursive make in po directory + + +2012-02-26 23:06:33 +0100 H.G. Muller : +Suppress recent-engines menu items in ICS mode + + +2012-02-26 22:45:12 +0100 H.G. Muller : +Fix 50-move counter in ICS mode + +Marking irreversible moves in the EP_STATUS did not work in ICS mode, +as ApplyMove,which did that is never executed there. Only the boards +sent by ICS are displayed,especially in observing mode. Now the status is +derived from the ICS mov strings (x in the SAN move, or P in the long move. + +2012-02-26 17:18:39 +0100 H.G. Muller : +Fix two 64-bit warnings + +Passing the engine number in a pointer variable to the callback needed +a two-step cast. + +2012-02-26 16:53:24 +0100 H.G. Muller : +Fix piece symbols on switch back to variant normal + +Variant switches were not properly detected, meaning the variable pieces +could keep a form belonging to a previous variant. (E.g. Queen remained +a Lance image after switching from shogi to normal.) + +2012-02-26 14:07:50 +0100 H.G. Muller : +Keep XBoard windows attached on resize + +Windows attached to bottom or right are displaced with the size increase. +Their perpendicular dimension is also scaled, to keep their edges at the same +fraction of the main window, unless they stick out. In the latter case the +fraction is clipped to 1, so that edge moves with the full size increase. + +2012-02-25 22:40:56 +0100 H.G. Muller : +Implement -stickyWindows in XBoard + +This makes the auxiliary windows move with the main window when they were +touching, as in WinBoard. A control is added in the General Options dialog. + +2012-02-25 21:14:03 +0100 H.G. Muller : +Use more reliable X-call for getting window position + +XtGetValues on XtNx, XtNy is unreliable. XGetWindowAttributes seems +to give more reliable results, and automatically accounts for the width +of window dressing. The -frameX/Y options are no longer needed bcause +of this, and were removed. + +2012-02-25 11:55:19 +0100 H.G. Muller : +Make frame width configurable in XB + +New persistent options -frameX, -frameY now can be used to specify +the amount by which Xt lies about the window coordinates. + +2012-02-23 20:01:55 +0100 H.G. Muller : +Use combobox line for recent engines when available + +The entry made in the -recentEngineList for the startup engine was +derived from the -fcp value, but this would ignore a possible nickname. +In WinBoard we now use the full combobox line to derive the entry. + +2012-02-23 09:29:17 +0100 H.G. Muller : +Fix translation of EngineOutputTitle WB + + +2012-02-23 01:34:12 +0100 Byrial Jensen : +Updated Danish translation + + +2012-02-23 00:59:36 +0100 Byrial Jensen : +One missed translation of cps->which + + +2012-02-22 19:58:41 +0100 H.G. Muller : +Undo translation of cps->which = first/second + +The string in cps->which should not be translated, because it goes into +the debug file to label engine I/O, and many tools for processing +debug files (broadcasters, PGN extractors) rely on this being "first" or +"second". In all contexts where "first" and "second" need to be translated, +cps->which itself is already enclosed in _(). + +2012-02-22 18:27:40 +0100 H.G. Muller : +Implement -serverFile option + +This writs an extra debug file with only engine communiation on it, +for the benifit of programs like TLCS. + +2012-02-22 17:46:16 +0100 H.G. Muller : +Implement -autoCopyPV + +This option causes automatic copying of the last position of a PV walk +to the clipboard. + +2012-02-16 14:58:45 +0100 H.G. Muller : +Delete some load-game debug printing + +The debug printing in Disambiguate was no longer needed. The printing +of the started process in XBoard that went to stderr is now diverted +to debugFP, so it ends up in the debug file. + +2012-02-16 14:41:43 +0100 H.G. Muller : +Move change of debug file to before game load + +Loading a game from -lgf is done before TwoMachinesEvent is called, +but logically belongs to the game. So the code to switch to the new +debug file for the game is moved to NextMatchGame now. + +2012-02-16 14:09:54 +0100 H.G. Muller : +Fix button grab for sweep selection + +The piece-menu initialization limited the grab of button events to those +occurring inside the board window (presumably intended to limit them to +the piece menu, but that does not pop up in sweep-selection mode). +This is now suppressed when -pieceMenu is off, so that selection continues +outside the the board. (Which is very convenient for pieces pu close to the +edge.) + +2012-02-16 13:16:13 +0100 H.G. Muller : +Don't leave piece selected after piece menu + +PieceMenuEvent left the just introduced piece selected, which is almost +never what one wants, as it makes it jump to the next square when selects. +Which is especially annoying if it captures the piece you wanted to grab... + +2012-02-16 12:57:47 +0100 H.G. Muller : +Fix use of middle button for position setup + +With sweep selection the actual drop is made on releasing the button, +and this event was not caught for button 2. Button-2 motion events were +also not caught by the sweep-selection handler. + +2012-02-16 23:53:08 +0100 Byrial Jensen : +Fix one more typo in the translator comments explaning "first" and "second" + + +2012-02-16 23:39:32 +0100 Byrial Jensen : +Fix typo in translator comments explaning "first" and "second" + + +2012-02-16 23:23:20 +0100 Byrial Jensen : +Add args.h to POTFILES.in and change the interface to ExitArgError() so msg is c format string + +Having msg as a format string will ease translations because then +badArg doesn't have to come last. + +2012-02-16 22:51:44 +0100 Byrial Jensen : +Mark the strings "first" and "sencond" for translation. + +... and assign the translated strings to cps->which in function InitEngine() + +2012-02-16 18:42:10 +0100 Byrial Jensen : +Use ngettext() instead of gettext() for a string to allow better translation. + + +2012-02-16 00:19:59 -0800 Arun Persaud : +translation: updated uk.po + + +2012-02-15 20:59:09 -0800 Arun Persaud : +modified configure and makefile for handling mimedb update + +the default configure will install them using the xdg commands (if they exist on the system) + +2012-02-13 22:29:48 -0800 Arun Persaud : +add configure test for xdg-programs to install mime types; can be disabled for building of e.g. rpms + +in case the target system doesn't have the xdg-programs available, we test for them. +Distributions often have their own macros to install these, so we add an enable option to configure + +2012-02-13 22:05:26 +0100 H.G. Muller : +Remove a debug printf + +The parsePV debug printf becomes extremely verbose with -fSAN, -sSAN, +so it was deleted. + +2012-02-12 22:18:24 -0800 Arun Persaud : +new developer release + + +2012-02-12 22:19:37 -0800 Arun Persaud : +updated po/pot files + + +2012-02-12 22:17:03 -0800 Arun Persaud : +updated Changelog, NEWS, etc. + + +2012-02-12 07:52:54 -0800 Arun Persaud : +translation: updated uk.po + + +2012-02-12 11:38:30 +0100 H.G. Muller : +Leave height of row that only contains buttons free + +All elements of the GenericPopUp are still scaled to the text height, +including buttons appended behind them (browse or color buttons). +But we now make an exception for a row that only contains buttons, +as there is no harm in it being a little higher (and the buttons look +prettier that way). + +2012-02-12 00:01:24 +0100 H.G. Muller : +Fix OK button of error popup + +The error dialog popped up as a child of the board window, even when +DisplayError was called from a dialog. Now it checks if a transient +dialog is up, and if so, it pops up as a child of that, grabs focus, +and suppresses the system popdown of the transient dialog through a flag +dialogError until it is popped down itself. + +2012-02-11 20:07:39 +0100 H.G. Muller : +Update texi file + + +2012-02-11 10:18:02 -0800 Arun Persaud : +added some comments for translators + + +2012-02-11 10:08:46 -0800 Arun Persaud : +fixed comments for translators: comments starting with TRANSLATORS: are now copied to the po file + + +2012-02-11 19:01:49 +0100 H.G. Muller : +Also configure sweep selection + +To make sure this feature is tested, we set -pieceMenu false in the +master settings file. + +2012-02-11 18:26:34 +0100 H.G. Muller : +Fix date in copyright notice about-box + + +2012-02-11 17:15:11 +0100 H.G. Muller : +Fix switching animation masks on variant switch + +The masks for variant-dependent piees (E,H in Seirawan, promoted Golds +in Shogi, the Gothic Chancellor) were no longer updated in InitDrawingSizes +because of the patch to reduce X-server calls. + +2012-02-11 16:46:58 +0100 H.G. Muller : +Configure wider game list + +The game list was by default too small, so that there was no room for the +filter field. Now a width of 500 is specified, whcih works at -size 49 +as well as 72. + +2012-02-11 16:29:06 +0100 H.G. Muller : +Fix button chaining and combo/textbox label height + +Previous patches forgot to specify the height for the text labels on +-combo and -text options, so they were still too high. Buttons that go +on the same line as the previous element should be chained right, not rubber. + +2012-02-11 15:52:52 +0100 H.G. Muller : +Make -pgnNumberTag option setable from menu + +The Save Options dialog now containes a checkbox for this. + +2012-02-11 15:48:52 +0100 H.G. Muller : +Configure some new features switched on + +The master settings file switches -showTargetSquares, -sweepPromotions +and -seekGraph on, so that they will get more testing. + +2012-02-11 14:43:53 +0100 H.G. Muller : +Fix heigth of multi-line labels + +The previous height patch overlooked that some labels are multi-line, +and need more height. + +2012-02-11 14:10:21 +0100 H.G. Muller : +Fix popdown seekgraph on forward-event XB + +Only the grid was drawn when the > or >> button were operated, because +a full redraw was not forced by ForwardInner. The recent patch to take +the seek graph down on such events did not account for that. (BackwardInner +always seems to do full redraw, however?) + +2012-02-11 12:59:04 +0100 H.G. Muller : +Put front-end support for -recentEngines in XBoard + +The engines are added to the menu. Problem is still that in XBoard +startup engines are given by command, rather than selected by combobox, +so the command rather than the nickname ends up in the menu. If this is +then selected, it cannot be found in the list. To limit the damage, +Fairy-Max is now pre-installed without nickname. -recentEngines is now +configured to 4. + +2012-02-11 11:53:39 +0100 H.G. Muller : +Better solution to button-height problem + +In stead of adapting the height of text widgets to that of buttons, +(as represented by the message widget), we now do the opposite, and +adapt the button & label heights. This is made safe by obtaining textHeight +from the fontSet's max_logical_extent, though an XExtendsFontSet() call. +Turns out the default height of text widgets is not exactly that, but +4 pixels larger for borders and margin. + The parameter XtNvertDistance is now used to align the checkboxes with +the following text widget, and their size is derived from textHeight as +well. + The XtNvertDistance is set to -1 for the lower spin button, so that it +its border coincides with that of the upper spin button. Their height is +set to textHeight/2. This makes their combined height just 1 pixel more +than that of the preceeding text widget. (Uh? 2 x tw/2 -1 > tw?), so for +other buttons we use that too (i.e. textHeight = font_extent + 5). + +2012-02-10 22:39:08 +0100 H.G. Muller : +Fix warning + +Deleting debug printing had made a variable unused. + +2012-02-10 22:26:39 +0100 H.G. Muller : +Fix sleeping bug + +The text-edit-height patch introduced a bug that did not have any consquences +(yet), as the extra arg erroneously included leftover from a previous +SetValues call happened to be the same as one of the intended args. + +2012-02-10 20:51:41 +0100 H.G. Muller : +Fix unloading of first engine on tourney start + +Because NextTourneyGame was loading a new engine before ReserveGame was +called to unload it with dummy game nr = -1), the first engine proc kept +hanging. + +2012-02-10 18:39:09 +0100 H.G. Muller : +Remove some of the most verbose debug output + + +2012-02-10 17:46:35 +0100 H.G. Muller : +Delete some unused WinBoard bitmaps + +There waere up-side-down knight icons that apparently hid by mistake +in the bitmaps directory: they were not part of WinBoard + +2012-02-10 17:39:48 +0100 H.G. Muller : +Cosmetic: change 4.5 to 4.6 in xboard.conf comment + + +2012-02-10 17:35:22 +0100 H.G. Muller : +Fix crash on empty combobox menu XB + +XBoard crashed when a combobox without items was opened, as could easily +happen in the Load Engine dialogs when -firstChessProgramNames contained +no items, as it would without configuring. Now the creation of the popup +menu is suppressed in that case. + +2012-02-10 17:13:36 +0100 H.G. Muller : +Fix position of checkbox XB + +With the large height the widget get in internationalization, the +checkboxes are position way too high above the text. To shift them down +a dummy borderless label widget is drawn above them (when needed). + +2012-02-10 15:07:35 +0100 H.G. Muller : +Fix heights in Engine Output window XB + +The icons did not fit in the space above the memos anymore, so the height +of this area is now left free. + +2012-02-10 14:55:48 +0100 H.G. Muller : +Derive height of text-edits in dialogs from message widget + +With internationalization the default height of buttons has inexpliquably +inreased compared to that of text-edits, messing up the layout of the +GenericPopUp. The message widget is now used as a emasure of how high +the widgets should be. + +2012-02-10 14:21:37 +0100 H.G. Muller : +Configure XBoard engines and textures + +The new -useBoardTexture option is needed in xboard.conf, as we want to +distribute with the texture on, while the compiled-in default is off. +A list of 4 engines has been configured (fairymax, fruit, crafty, gnuchess), +as the Load Engine and Match Options checkboxes crash XBoard when the list +is empty. The -recentEngines option is set to 0 to make sure the code +associated with it is never executed: the code is still experimental, +and the required front-end support is only present in WinBoard anyway. + +2012-02-10 13:30:58 +0100 H.G. Muller : +Update Dutch WinBoard translation + + +2012-02-10 13:18:48 +0100 H.G. Muller : +Create room in some WB dialogs for translations + + +2012-02-10 13:17:30 +0100 H.G. Muller : +Add 5 missing strings to WinBoard translation template + + +2012-02-09 23:03:58 -0800 Arun Persaud : +new developer release + + +2012-02-09 23:04:46 -0800 Arun Persaud : +updated po-filies + + +2012-02-09 22:59:05 -0800 Arun Persaud : +updated Changelog, NEWS, etc. + +2012-02-09 22:44:39 +0100 H.G. Muller : +Fix non-bug in WinBoard + +The IDM_RecentEngines was not used in symbolic form everywhere. + +2012-02-09 18:46:08 +0100 H.G. Muller : +Fix MAXENGINES in WinBoard + +The front-end arrays for expanding the engine list measured 1000 entries, +in stead of MAXENGINES, leading them to overflow. + +2012-02-09 13:05:42 +0100 H.G. Muller : +Implement kludge to set options through Move Type-in + +A leading "!!! " will cause the rest of the line to be parsed as +command line. Very dangerous, as an unknown option (e.g. because of a typo) +will cause a fatal error, which makes XBoard exit. + +2012-02-09 13:04:44 +0100 H.G. Muller : +Put move number in Eval Graph title + + +2012-02-09 13:00:09 +0100 H.G. Muller : +Implement -pgnNumberTag option + +A new (persistent) boolean option controls if the sequence number is to +be written in saved tourney games as a Number tag, to make it easier +to correlate games with debug files. + +2012-02-09 12:55:52 +0100 H.G. Muller : +Create separate debug fil for each tourney game + +Users can now apecify a -debugfile with %d in its name, and this will +be replaced by the sequence number of the game. TwoMachinesEvent then +starts by opening a new file when the name has changed, so that each +game will go to a different file, with recognizable name. + +2012-02-09 12:51:25 +0100 H.G. Muller : +Fix bug in WB combobox readout + +The previous patch exposed a latent bug in the readout of the generic popup. + +2012-02-08 23:25:31 +0100 H.G. Muller : +Allow grouping of engines in engine list + +Lines "# GROUPNAME" and "# end" enclose a group in -firstChessProgramNames. + +2012-02-08 17:47:46 +0100 H.G. Muller : +Fix TidyProgramName + +A trailing .exe was not removed if the engine name was quoted. + +2012-02-08 17:45:42 +0100 H.G. Muller : +Put recently used engines in WB menu + +A new option -recentEngines specifies how many engines should be listed. +The list of nicknames is stored in the ettings file as -recentEngineList. +The engines are appended to the Engine menu. + +2012-02-04 19:37:51 +0100 H.G. Muller : +Fix registering of EditTagsProg + +This was registered with X as EditCommentProc! + +2012-02-07 23:04:49 +0100 H.G. Muller : +Increase max nr of engines to 2000 + +Move the #define for MAXENGINES also to common.h, so that both the +Load and Tourney dialog use the same maximum. + +2012-01-19 23:01:20 +0100 H.G. Muller : +Fix fix of switch to mono-mode + +The previous fix had == in stead of != for testing if mono-mode had changed. + +2012-01-19 22:21:38 +0100 H.G. Muller : +Make New Variant dialog visible in mono-mode + +All colored buttons did get a black background, and also black text... +Use timer background color in stead, which is white. + +2012-01-19 20:48:37 +0100 H.G. Muller : +Incease size of WB array of translated items + +For the BoardOptions dialog 42 items are now needed + +2012-01-19 17:18:25 +0100 H.G. Muller : +Implement Clone Tourney button XBoard + +This makes use of the new GenericUpdate(). + +2012-01-19 16:34:13 +0100 H.G. Muller : +Implement GenericUpdate function + +This does the opposite from GenericReadout: it copies the current +parameter values into the dialog. + +2012-01-19 12:19:27 +0100 H.G. Muller : +Fix arrow damage with highlightDragging XB + +With highlight dragging the highlights of the previous moves are cleared +when lifting the piece. Logically, this should also clear the arrow, but +to do that requires a board redraw, which is not done at this stage. (And +even then this would only be effective after marking the arrow damage, +which is not done yet either). As a temporary fix, we repair the arrow +by redrawing it. + This patch has moved marking of the arrow damage from DrawArrowHighlight +to a separate routine, so a future better fix can also call that when the +arrow should be erased. + +2012-01-18 16:01:50 +0100 H.G. Muller : +Prevent unnecessary loading of engines + +For engines that can be reused, the unloading at the end of a pairing +is in some cases wasteful, as the same engine will be used in the next +pairing as well. In simple gauntlets the gauntlet engine will always +stay first engine, while in multi-gauntlets the oppent engine will stay +the same for an entire round. In these cases unloading is now suppressed. + +2012-01-17 22:22:32 +0100 H.G. Muller : +Reset protocol version before loading new engine + +The protocol version was not reset, so if the previous engine was v1, +the newly loaded engine would not be sent a protover command, so +that its features would remain unknown! + +2012-01-17 19:33:32 +0100 H.G. Muller : +Give focus to board window after ICS login + +toprevent that the focus remains on any popped up chat boxes, it is +explicitlly set otherwise. The board window is preferred over the +ICS interaction window, because you can type from there to the ICS anyway, +and it makes all accelerator keys available. + +2012-01-16 14:37:05 +0100 H.G. Muller : +Fix seek-graph popup and popdown + +Clicking outside the board area in WB (e.g.on the clocks) would also +trigger seek-graph 'popup'. This is now suppressed by testing for +y-coord > 0. In addition, the seek graph is automaticaly taken down +when we step to another position in the current game (using buttons, +arrow keys or whatever). + +2012-01-15 21:29:11 +0100 H.G. Muller : +Suppress empty lines when observing on VICS + +Capture of the engine kibitzes when observing an engine game with +-autoKibitz on was still leaking a linefeed on the Variant ICS +(but not FICS or ICC!?). + +2012-01-15 21:24:12 +0100 H.G. Muller : +Fix printing non-numeric kibitz with -autoKibitz + +Messages that were not considered kibitzed engine PV info for lack of +numeric content, were kibitzed as coming from "your opponent", which +is nonsense if you were iobserving, and masked the source. Fortunately +star_match[0] is still holding the original name, at that point. + +2012-01-11 17:33:29 +0100 H.G. Muller : +Fix 4 warnings + + +2012-01-11 17:00:38 +0100 H.G. Muller : +Use same translation of "vs." everywhere + + +2012-01-11 17:08:18 +0100 H.G. Muller : +Add new translations to WB language file + + +2012-01-11 16:20:17 +0100 H.G. Muller : +Fix re-allocation of PGN-cache memory + +It allocated 8 times too much! + +2012-01-11 12:47:38 +0100 H.G. Muller : +Fix height board dialog + + +2012-01-11 12:34:39 +0100 H.G. Muller : +Enable WB time-control dialog even when no clock mode + +The dialog could be called from the tournament dialog to set a TCfor +the tourney even when currently in game-viewer mode, so it'd better work. + +2012-01-11 12:28:43 +0100 H.G. Muller : +Exempt variant seirawan from -disguisePromoted inheritance + +This is not a variant where promoted Pawns have to be distingushed +from primordial pieces, as captured pieces do not go into the holdings. + +2012-01-09 21:23:52 +0100 H.G. Muller : +Add control for overrideLineGap in WB Board dialog + +Make it a checkbox to choose between 0 and -1. + +2012-01-09 20:56:40 +0100 H.G. Muller : +Add Ctrl-D as alternative to Ctrl+Alt+F12 in WinBoard + +The acellerator key Ctrl+Alt+F12 seems reserved on Windows 7. + +2012-01-09 20:52:05 +0100 H.G. Muller : +Fix seek graph for VICS + +The sought command on the open-source ICS code is ICC-like (no terminating +line), although the server is FICS like. So also accept prompt as seek-graph +trigger on FICS. + +2012-01-09 20:27:01 +0100 H.G. Muller : +Open WB startup chat boxes only after logged on + +The init code for opening the chat boxes ismoved to DisplayIcsTitle(). + +2012-01-07 20:31:34 +0100 H.G. Muller : +Install mime types directly + + +2012-01-07 20:29:10 +0100 H.G. Muller : +Install desktop files directly + + +2012-01-07 20:19:09 +0100 H.G. Muller : +Install icons directly + +Rather than letting make-install copy the pixmaps to the XBoard data +directory they are installed directly from the source files. The name +of the TRN icon was also corrected and changed. + +2012-01-05 18:41:13 +0100 H.G. Muller : +Update texi file and remove duplicate control + +Some missing option descriptions were added. The highlight-dragging +control was removed from the General Options dialog, as it did the same +as Show Target Squares. -highlightDragging wa changed to a volatile option +with default value true, making it effectively disappear as an XBoard +option. (In WinBoard it is still persistent.) + +2012-01-05 15:55:54 +0100 H.G. Muller : +Remove the direct commands to the engines + + +2012-01-05 21:15:11 -0800 Arun Persaud : +forgot to list new desktop files in EXTRA_DIST section in Makefile.am + + +2012-01-05 20:08:23 -0800 Arun Persaud : +added some autogenerated po files to .gitignore + + +2012-01-05 20:05:44 -0800 Arun Persaud : +added desktop and mime-type association to autoconf install process + +This should install and uninstall the mime assocciation and also the icons. +Also renamed the desktop files to avoid possible name collisions. + +2012-01-03 21:30:59 -0800 Arun Persaud : +code cleanup: make function definition confirm to GNU coding style + +change everything in the main directory to + +void +funcname (int a, int b) + +format + +2012-01-03 18:43:18 -0800 Arun Persaud : +Updated copyright notice to 2012 + + +2012-01-03 21:32:04 +0100 H.G. Muller : +Implement -viewerOptions + +A mechanism is added to allow the user to configure persistently if the +game viewer that starts on clicking PGN files will use -ncp mode, or +load an egine for analysis (or, in fact, do anything). This by introducing +a persistent string option -viewerOptions, which will be parsed as a +command line after the real command line when the option -viewer was present. + +2012-01-03 11:29:00 +0100 H.G. Muller : +Fix crash in auto-comment + +Trailing linefeeds in AppendComment were not properly stripped off, +leading to a mismatch between the allocted and used memory, and thus +possible buffer overruns. + +2012-01-02 23:46:18 +0100 H.G. Muller : +Fix crash at match end + +The -afterTourney option had broken old-style matches, because the ranking +string that was tested for "busy" is not set there at all, and remains a +NULL pointer, which strcmp doesn't like. + +2012-01-01 19:56:58 +0100 H.G. Muller : +Add desktop files for PGN viewer and tournament player + +The desktop files define startup commands for handling PGN, FEN and +tourney files, calling xboard with the proper command-line options. + +2012-01-01 19:53:02 +0100 H.G. Muller : +Add xml file for defining mime types + +The file xboard.xml defines application/x-chess-pgn, aplication/x-chess-fen +and application/x-xboard-trn as mime types for *.pgn, *.fen and *.trn files, +so these files can be associated with XBoard in various modes. + +2012-01-01 19:41:39 +0100 H.G. Muller : +Add icons for PGN and tourney files + +Icons are provided in two sizes: 32x32 and 48x48. + +2011-12-29 19:55:33 +0100 H.G. Muller : +Clear square markers on new game + +Now that the markers can stay on after a first click, they need to be +explicitly cleared when moving to another board, including a new game. + +2011-12-29 15:51:18 +0100 H.G. Muller : +Abandon single-letter menus in tinyLayout + +Now that the items on the main menu bar are clipped, it iso longer +necessary to abbreviate them. + +2011-12-29 15:38:46 +0100 H.G. Muller : +Implement peeking previous position in WinBoard + +The backspace key is used to temporarily display the previous position. + +2011-12-29 15:32:20 +0100 H.G. Muller : +Fix parsing of faulty PGN tags + +A closing bracket could be missed in a malformed tag + +2011-12-29 15:29:00 +0100 H.G. Muller : +Fix parser for variant seirawan + +The new parser didnot understand gating suffixes with /, and did not +allow any suffix at all on SAN castling moves. + +2011-12-28 22:32:38 +0100 H.G. Muller : +Try to not confuse ICS rating adustments as shouts + +An explicit pattern match for the rating adjustment is added before +matching the shouts. + +2011-12-28 22:21:54 +0100 H.G. Muller : +Describe -overrideLineGap option in texi file + + +2011-12-28 22:03:30 +0100 H.G. Muller : +Use in stead of Ctrl+. for peeking last move + +I commented out the explicit detection of the Ctrl key, as this +is not needed when there are no 'unnatural' Ctrl keystrokes used +for binding. + +2011-12-28 19:37:49 +0100 H.G. Muller : +Next try for menu-bar sizing + +This time request the width needed to just fit everything, and then start +shaving off pixels from the currently largest until the entire thing fits. + +2011-12-28 15:17:49 +0100 H.G. Muller : +Clip texts on menu bar + +The width of the items on the main menu bar is restricted so the bar +will never exceed board width. + +2011-12-28 14:01:53 +0100 H.G. Muller : +Fix format in temporary timing printf + + +2011-12-28 13:38:59 +0100 H.G. Muller : +Don't test drops as mate evasions in variant seirawan + + +2011-12-28 13:36:23 +0100 H.G. Muller : +Fix ICS castling rights + +Copying the castling rights together with CopyBoard seems to have +broken handling of ICS rights, where ParseBoard12 prepares a board +in a local variable, an copies it before parsing the rights. + +2011-12-28 13:35:10 +0100 H.G. Muller : +Fix initial holdings ICS seirawan games + + +2011-12-27 18:31:05 +0100 H.G. Muller : +Fix sending of S-Chess gating moves to ICS + +Normal moves did not get the gating suffix sent. + +2011-12-27 17:56:07 +0100 H.G. Muller : +Fix menu grayout after illegal move + +TheThinkingEnables were not reset to user state after the engine rejected +the entered move as illegal. + +2011-12-27 13:26:36 +0100 H.G. Muller : +Allow setting of holdings with edit command + +For the benefit of Fairy-Max' Seirawan Chess implementation, the edit command +no also sends holdings contents (if the engine sent feature xedit=1), encoded +as pieceType + '@' + holdingsCount (if the count is non-zero). + +2011-12-24 17:54:16 +0100 H.G. Muller : +Fix out-of-bounds access in check test + +Thepath to make the check test work with drops had broken the test +after null move (both have rf<0), which led to corruption of the high +word of the black clock. + +2011-12-24 17:51:22 +0100 H.G. Muller : +Fix legality of Spartan promotion to king + +In the check test promotion to King is only allowed if there are not +yet 2 kings. + +2011-12-21 22:17:01 +0100 H.G. Muller : +Fix switching back from mono-mode XB + +Suppressing unnecesary X-server calls in InitDrawingSizes had broken +switching back from monoMode, because the animVars have to be recreated +for that, and this was only done when the variant changed. + +2011-12-21 22:09:02 +0100 H.G. Muller : +Fix showTargetSquares in mono-mode XB + +Make the marker dots black (captures) and white, and draw a circle +in the opposite color around them in monoMode. + +2011-12-21 22:00:26 +0100 H.G. Muller : +Fix arrow highlighting in mono-mode XB + +Draw a line around it in darkSquare color in monoMode. + +2011-12-21 17:48:33 +0100 H.G. Muller : +Fix alignment of generic browse button XBoard + +The width ofthe browse button is now read back after creating it, +and subtracted from the preceding text edit. + +2011-12-21 14:41:31 +0100 H.G. Muller : +Add -afterTourney option + +Only the instance pinting the tourney result will execute this. + +2011-12-22 21:01:43 +0100 Byrial Jensen : +Fix buffer possible overflow when writings tags + +PGNTagsStatic() could overflow its buffer and is removed. PGNTags() do the work instead of calling it. +It starts by calculation the required buffer size and then allocate the buffer. +PrintPGNTags() now prints directly to the file without having a buffer. + +2011-12-22 15:01:31 +0100 Byrial Jensen : +One more string marked for translation + +And it is moved inside the if statement that uses it. + +2011-12-22 14:30:08 +0100 Byrial Jensen : +Fix checking of return value from snprintf() + +snprintf() returns the needed space excluding the trailing 0 byte, so +it has truncated if the returned valued is greater than or EQUAL TO the buffersize + +2011-12-19 16:49:31 +0100 Byrial Jensen : +Fix unportable memory initialisation + +Memory sat to zero by calloc() cannot safely be assumed to have the pointer value NULL + +2011-12-19 13:16:58 +0100 Byrial Jensen : +Add 2 strings for translation + + +2011-12-19 11:25:11 +0100 Byrial Jensen : +Remove the last 2 compile warnings in gamelist.h + + +2011-12-19 11:17:48 +0100 Byrial Jensen : +Add #include "moves.h" to gamelist.c for def. of CopyBoard() + + +2011-12-19 11:11:34 +0100 Byrial Jensen : +Definition of TimeMark moved from 3 c files to backend.h + + +2011-12-19 01:21:46 +0100 Byrial Jensen : +Transfer a pointer to the promoChar from PromotionPopUp() to PromotionCallback(). Fixes #34980 + + +2011-12-18 17:24:07 +0100 Byrial Jensen : +Duh! Initialise the argument to sscanf() inside the loop, so it always gets a known value when sscanf() fails. + + +2011-12-18 17:18:12 +0100 Byrial Jensen : +Give numeric options the value 0 if a non-numeric text is entered (one more place). Before the value ended up undefined. + + +2011-12-18 17:08:46 +0100 Byrial Jensen : +Give numeric options the value 0 if a non-numeric text is entered. Before the value ended up undefined. + + +2011-12-18 15:41:46 +0100 Byrial Jensen : +Fix possible crash on 64-bit systems when copying game or position + +The two convertproc's for X selections caused reads out of bounds on 64-bit systems. +I hope that this is the right solution. I am not experienced with X stuff, but it +follows that I have seen in other programs, testing shows that copying still works, +and the reading out of bounds have disappearinged with this patch. + +2011-12-18 13:26:20 +0100 Byrial Jensen : +Fix a possible crash in the file browser + +If the OK button was selected in the file browser when no file was selected +there was a read out of bounds which could crash xboard + +2011-12-17 22:54:34 +0100 Byrial Jensen : +Fix a memory leak in Sound Options + + +2011-12-16 02:57:20 +0100 Byrial Jensen : +Fix crash when selecting user soundfile due to free() of not malloc()'ed memory + + +2011-12-16 02:32:37 +0100 Byrial Jensen : +Make GenericPopUp() more readable by using more named flags instead of numerals + +Defines the flags SAME_ROW (value 1) and NO_OK (value 2) for use with buttons and endmarks. +There should no functional change. +Also add a code comment where a condition depends on an uninitialised value. There is no direct harm, as both +branches do the same (that is nothing) when the value is uninitialised. + +2011-12-15 02:51:36 +0100 Byrial Jensen : +Add NO_GETTEXT flag for combobox. Fix bug #34991 + +Define NO_GETTEXT flag to avoid calling gettext() for comboboxes, and define COMBO_CALLBACK +flag to call comboCallback() when an item is selected in a combobox (no new code for this, +just a symbolic value instead of a number). The flags are used for the min field of struct Option. +NO_GETTEXT is used for the Select engine combobixes in the Match Options and Load engine windows. + +2011-12-13 19:48:37 -0800 Arun Persaud : +only translate entries in CreateComboPopup if strlen>0; fixes #34991 + + +2011-12-12 19:06:26 -0800 Byrial Jensen : +fix for repeating key issue, with this allissues this bug should be closed; fixes #35000 + + +2011-12-12 18:45:05 -0800 Arun Persaud : +also don't translate selection in ComboSelect; fixes #34991 + + +2011-12-12 18:40:23 -0800 Arun Persaud : +make entries in CreateComboPopup not translateable; fixes #34991 + + +2011-12-10 16:06:47 -0800 Arun Persaud : +fix translation for engine list; fixes #34991 + +* click on browse button should be recognized in translated versions +* width of button should auto-scale + +2011-12-10 11:04:17 -0800 Arun Persaud : +change keybindings that don't use ctrl, make MoveTypeInProc ctrl aware; fixes #35000 + +two keybindings were using keys without modifiers, adjusted these to use the ctrl key. +Furthermore when typing in moves we need to check if ctrl was pressed and ignore those inputs. + +Also added documentation for these keybindings. + +2011-12-10 10:51:18 -0800 Arun Persaud : +replaced unicode character for "'" in xboard.texi + + +2011-12-10 10:08:48 -0800 Arun Persaud : +removed Iconify function. Should be handled by the window manager. + + +2011-12-08 20:53:13 -0800 Arun Persaud : +marked an error messages for translation + + +2011-12-08 20:33:29 -0800 Arun Persaud : +translation: updated uk.po + + +2011-12-03 17:52:23 -0800 Arun Persaud : +fixed size of XBoard icon to 48x48 + +the icon gets installed in the 48x48 directory, but was >200 pixel wide. This gave a warning during rpm creation. + +2011-12-03 08:07:32 -0800 Arun Persaud : +updated pot file + +marked a lot of new strings for translation + +2011-12-03 08:06:42 -0800 Arun Persaud : +added new files to po/POTFILES.in + + +2011-12-02 22:13:36 -0800 Arun Persaud : +marked more strings for translation + + +2011-12-02 20:08:01 -0800 Arun Persaud : +translation: added danish translation + + +2011-12-01 18:45:55 +0100 H.G. Muller : +Change encoding of seirawan ICS gating-castlings + +In stead of using upper/lower-case promoChar, the ICS now uses +RxK notation, like WinBoard writes in SAN, for better consistency. + +2011-11-30 15:38:21 +0100 H.G. Muller : +Put promo-suffix on ICS move in variant seirawan castlings + +The distinction upper-case / lowercase determines gating at R / K + +2011-11-28 11:56:18 +0100 H.G. Muller : +Refrain from making unnecessary resize X request + +The window resizing code in InitDrawingSizes is suppressed when no +change is needed. Similarly, changing piece bitmaps is suppressed when +we stay in the same variant (and InitDrawingSizes is called e.g. because +of chaging lineGap through the Board dialog). + +2011-11-27 22:27:00 +0100 H.G. Muller : +Fix parsing of O-O castling in variant janus + +The new parser did not realize it meant e1i1 rather than wild e1h1. + +2011-11-26 22:28:23 +0100 H.G. Muller : +Show 50-move counter also when observing ICS games + +To not cheat 50-move display was suppressed in ICS mode, +but for observing a game this made no sense. + +2011-11-26 22:22:07 +0100 H.G. Muller : +Ignore ICS game starts when already in game + +The advance switching of the variant on game-start messages was +disruptive for users with gin=1, which also sends such messages +for other games than your own. For now fixed by only reacting on +them when idle (detected by invalid game number). + +2011-11-11 18:16:19 +0100 H.G. Muller : +Fix WinBoard clock-click bug + +Clicking on the clock in WinBoard also called the LeftClick routine +for handling clicks on the board. This led to the from-square being set +to some inalid value, so that the next genuine board click was interpreted +as a to-click, with undesired effects, especially with legality testing off +or in EditPosition mode, where weird things are accepted. + +2011-11-06 17:20:01 +0100 H.G. Muller : +Add feature-override options + +A few (dangerous) options are added to allow a user to override +engine features, or change their defaults, by supplying a string +with feature commands (e.g. "sigint=0") which tricks XBoard into +thinking the engine sent that. There is a -featureDefaults which is +processed before the engine features, and -first/secondFeatures +which is parsed just before engine initialization. + This goes horribly wrong when the user wouldtry silly things like +including 'option' or 'done' features! + +2011-11-05 12:32:39 -0700 Arun Persaud : +translation: updated uk.po + + +2011-11-04 21:58:39 +0100 H.G. Muller : +Fix handling of -secondOptions option + +The -firstOptions and -secondOptions settigs were not swapped when +-singleEngieList was true, so the second engine's options would never +be set in that case, but used for the first engine. + +2011-11-04 21:55:21 +0100 H.G. Muller : +Accept setup command in variant fairy even with legality testing on + +Variant fairy does not really have a defined opening position, but lots +of pieces defined, so we might want to play with legality checking on, +but still rely on the engine for the opening position + +2011-11-04 21:52:20 +0100 H.G. Muller : +Set pieceToCharTable by setup command even when ignoring FEN + +When the user starts from a set-up position, the egines default +openingposition has to be ignored, but the pieceToCharTable would +still be relevant. + +2011-11-04 21:48:24 +0100 H.G. Muller : +Change default sweep-promotion choicein queenless variants + +The initial scanning of the sweep piece until a defined piece is found +is now in the increasing direction (still starting at Queen), so that +the fairy pieces are suggested before R, B and N. + +2011-11-03 16:38:57 +0100 H.G. Muller : +Clear board markers when moving to other position + +Now the markers from -showTargetSquares would stay on after a first click +for the benefit of a click-click move, they would also stay on when not +finishing the move, but operating the < > buttons in stead to call up +other positions. ForwardInner and BackwardInner now clear the markers, +like they also cleared highlights. + +2011-11-01 18:30:22 -0700 Arun Persaud : +updated Changelog, NEWS, etc. + +2011-10-25 15:32:27 +0200 H.G. Muller : +Fix two warnings + +2011-10-24 20:00:28 +0200 H.G. Muller : +Don't adjust clock on right-click in EditGame mode WB + +This was a change that was already done for the left-clicks, but somehow +never made it togit for the right-clicks + +2011-10-24 19:50:25 +0200 H.G. Muller : +Change chase message in .lng files + +2011-10-24 19:31:08 +0200 H.G. Muller : +Let perpetual-chase message mention square + +In stead of a boolean, PerpetualChase now returns the square the chased +piece ends on (encoded as an int), and on adjudication it will be printed. + +2011-10-24 19:26:02 +0200 H.G. Muller : +Add mechanism to translate variable messages in WinBoard + +A message prefixed with % in the lng file will be considered a match +if it matches the start of the text to be printed, and the remaining +part of the latter will remain untranslated. This was needed to allow +translation of the perpetual change message, now it indicates the square +of the chased piece. + +2011-10-24 19:20:13 +0200 H.G. Muller : +Use other interpretation of Asia rules for chase detection + +The detection of perpetual chases now ignores pre-existing checks. + +2011-10-12 17:28:48 +0200 H.G. Muller : +Fix crash on loading garbage game file + +The code to cache games was not resistant to moves before a valid +game start, or a game filewithout any games at all. + +2011-10-08 20:43:52 +0200 H.G. Muller : +Incorporate variant type in book hash key + +This prevents booksforone variant being used for another, and allows +multi-variant books. + +2011-10-07 15:41:44 +0200 H.G. Muller : +Update language.txt file + + +2011-10-07 15:34:01 +0200 H.G. Muller : +Update Dutch lng file + + +2011-10-07 15:21:53 +0200 H.G. Muller : +Fix Load Options dialog WB + +Defined fastkeys; reordered elements so that fastkeys focus edit they +are intended for. Changed some of the more obscure texts. Corrected +list of transatble dialog items, adding a few missing ones. + +2011-09-13 20:01:42 +0200 H.G. Muller : +Fix some warnings + +Prototypes were added, ormoved from backend.c to backend.h. + +2011-08-26 12:44:08 +0200 H.G. Muller : +Put 'Load Next' button back in WB Game List + +The '>' button for loading the next (filtered) game is re-instated in the +WinBoard GameList. The main window has now accelerator keys Ctrl+Up and +Ctrl+Down for loading the previous and next filtered game. + +2011-08-26 12:31:59 +0200 H.G. Muller : +Speed up position search and consider side to move + +The position search is made to pay attention to the side to move, +which produces a speedup, because we only have to compare half the +game positions when looking for an exact position match. An addition +we now keep track of the total number of pieces, and abandon a game when +it drops below the number of pieces in the position we seek. + +2011-08-21 23:16:15 +0200 H.G. Muller : +Dynamically allocate move cache + +A small statically declared cache good for 250k moves (~3200 games) +will be expanded in steps of a factor 8 when it overflows. + +2011-08-18 18:40:38 +0200 H.G. Muller : +Translate search strings + + +2011-08-17 22:55:21 +0200 H.G. Muller : +Implement flipped search + + +2011-08-16 15:29:03 +0200 H.G. Muller : +Debug position search cache + + +2011-08-15 18:44:37 +0200 H.G. Muller : +profile + + +2011-08-18 18:01:54 +0200 H.G. Muller : +Translate search-mode strings + + +2011-08-15 16:59:39 +0200 H.G. Muller : +Quickscan + + +2011-10-23 16:04:00 +0200 H.G. Muller : +Fix duplicate loading of second engine in tourneys + +To decide if new engines should be loaded, it was tested if first.pr +equalled NoProc, assuming that ReserveGame would have left the engine +loaded if the next game would need the same engines. But a reuse=0 engine +could have caused termination of the first engine process anyway, while +the second would still be alive. So unconditionally starting of the second +engine would cause redundant engine processes to abound. + Now we only start new engine processes if both engine processes are dead. + +2011-10-23 15:53:32 +0200 H.G. Muller : +Fix PV walking with -fSAN + +The SAN options had broken the PV walking, because the shelving of the +walked PV to create space for the conversion to SAN of an incoming PV +would not be properly undone, but would add the walked PV to the game. + +2011-10-20 12:39:10 +0200 H.G. Muller : +Refine clock adjusting + +Adjusting the clocks by shift-clicking them is now only allowed with +autoCallFlag off, and an error-popup results when you do it otherwise. +Also, swtching to Edit Game mode won't reset the clocks to the stored +value anymore when you have just adjusted it. + +2011-10-12 17:43:33 +0200 H.G. Muller : +Fix crash on adding items near book end + +When Edit Book would add so many entries near the end of an opening +book that the end of the added info would surpass the old end of the +file, the copying of the tail got stuck in an infinite loop, extending +the file without limit with repeating info. + +2011-10-12 17:41:18 +0200 H.G. Muller : +Print message on wrong use of Clone Tourney + +The user is urged to first provide the name of an existing tourney file +when he presses the button without one. The button is also renamed. + +2011-10-12 17:38:33 +0200 H.G. Muller : +Fix invalid combobox entry WB + +A combobox label that was not in the list (because the user typed +it, rather than selecting one) would cause a crash. + +2011-10-12 17:23:57 +0200 H.G. Muller : +Fix crash on loading garbage game file + +XBoard crashed when a game file contained a PGN game result before +any valid game start, because data would be written in a game-list +node that did not exist yet. This would occur frequently when garage +was read; basically any asterisk in the data would do it. + +2011-10-11 23:31:01 +0200 H.G. Muller : +Add control to set -discourageOwnBooks WB + + +2011-10-11 20:53:52 -0700 Arun Persaud : +only require 0.17 of gettext + +This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones. + +2011-10-11 23:31:01 +0200 H.G. Muller : +Add option -discourageOwnBooks + +This boolean option determines the default setting of the hasOwnBook +option before a tourney game starts. By setting it, the hasOwnBook +option is cleared, which would enable use of the GUI book, like the +engine was installedwith the /firstXBook option. An explicit option +on the engine install line can still overrule this, though. + A control to set this option has been added in the XBoard Match dialog, +and it is saved in the tourney file to force consistency. + +2011-10-11 22:58:01 +0200 H.G. Muller : +Reset initString and computerString on engine load + +These options are typically engine specific, and must thus be +reset to their default value before loading a new engine. + +2011-10-11 22:43:00 +0200 H.G. Muller : +Add Romanian lng file + + +2011-10-07 16:55:45 +0200 H.G. Muller : +Reactivate Falcon Chess + +Now the patent for this has expired, Fairy-Max plays it again. +So the XBoard support for it is now switched on, and an item for it is +added to the XBoard New Variant menu dialog. (WinBoard still had that.) +In the array the Lance was changed for the Falcon as a wild-card piece. + +2011-10-03 09:59:40 +0200 H.G. Muller : +Update texi file for new features + + +2011-10-03 10:30:30 +0200 H.G. Muller : +Update texi file for position search + +The new items in the Load Game Options dialog are described, as well +as the command-line options used to store them in the settings file. + +2011-10-03 09:28:50 +0200 H.G. Muller : +Remove paragraph about .Xresources from texi file + +Command-line options can no longer be set through .Xresources already +since version 4.5.0. + +2011-10-03 09:13:05 +0200 H.G. Muller : +Add Dutch WinBoard translation + + +2011-09-28 20:46:21 +0200 H.G. Muller : +Prevent Edit Book window from stealing focus (WB) + +In WinBoard updating the book window would give it focus. Now the +focus is given back to the main window, except when the Edit Book +window is first created. + +2011-09-28 20:42:00 +0200 H.G. Muller : +Make book-window update part of HistorySet + + +2011-09-26 16:01:28 +0200 H.G. Muller : +Fix position loading in tourneys + +In a tourney a position must be loaded when the engine is not yet +started, and the old version of LoadPosition could not handle that: +It would start up the engine, and send it commands unconditionally. + +2011-09-26 15:58:07 +0200 H.G. Muller : +Fix resetting -fSAN on engine change + +There were two places for loading another engine, Load (from menu) and +SetPlayer (in tourneys), and the previous patch for this missed the +second one. + +2011-09-26 15:51:49 +0200 H.G. Muller : +Make too-long game non-fatal + +GameEnds is now called when the maximum number of moves is exceeded, +rather than DisplayFatalError. Not sure if this properly terminates the +game in all situations, but DisplayFatalError (after calling GameEnds) +would also wait for the user to confirm the error popup before really +exiting, so that in an unattended automatically running tourney there +was not much fatal, and the entire tourney would in fact be finished. + +2011-09-26 15:46:58 +0200 H.G. Muller : +Keep book file open + +Rather than opening and closing the book file on every probe, it is +now only closed and opened when the name of it changed. + +2011-09-26 15:44:23 +0200 H.G. Muller : +Suppress playing of book moves with weight 0 + +Bookmoves with weight 0 could be played when the sum of the weights +of all moves from the position was 0. So it was not possible to suppress +the only move by giving it weight 0. This is now corrected. + +2011-10-01 15:00:47 -0700 Arun Persaud : +added NEWS for release of 4.5.3 + + +2011-09-29 20:31:23 -0700 Arun Persaud : +better contrast for XBoard icon on a dark background + + +2011-10-01 13:09:59 -0700 Arun Persaud : +translationproject.org: updated Ukrainian translation + + +2011-09-29 20:49:42 -0700 Arun Persaud : +updated pot file and send to translation project + + +2011-09-22 12:09:39 +0100 Thomas Adam : +(tiny change) Clarify "-name" option is Xt-only + +There's a set of standard options with will get used by Xt, before Xboard +itself will use them. "-name" is an Xt-only option which will set the name +and resource of the window to the value requested. It has nothing to do +with setting opponent/player names. + +Signed-off-by: Thomas Adam + +modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL) + +2011-09-22 17:17:16 +0200 H.G. Muller : +Fix LoadGameOrPosition starting up engine + +When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that +is called in LoadPosition() when you are running from a position file +would prematurely start up the engine (without waiting for features). +The kludge to suppress this behavior for the explicit call to Reset() +is now extended to encompass LoadGameOrPosition. + +2011-09-22 17:14:34 +0200 H.G. Muller : +Clear fSAN option before new engine load + +This to prevent the new engine will inherit it from the previous one. +As the command-line options an only set it, this has to be done by +explicit assignment. + +2011-09-13 23:02:35 +0200 H.G. Muller : +Fix some warnings (prototypes) + + +2011-09-13 19:55:44 +0200 H.G. Muller : +Fix write failures in concurrency + +In WinBoard a flood of writes by differentprocesses to the same PGN can +cause a "permission denied" error in fopen. This patch causes retries after +a random (5-15 msec) wait, in such cases. + +2011-09-13 19:52:19 +0200 H.G. Muller : +Move HistorySet to back-end + +This existed in exact duplicates in both front-ends. + +2011-09-13 19:46:36 +0200 H.G. Muller : +Make DoSleep front-end wrapper for msec sleep + +DoSleep was #defined as a macro for Sleep/ sleep, with an argument +indicating msec in WinBoard, but seconds in XBoard. Nuw it universally +uses msec, by defining it as a wrapperin the respective front-ends. +(For XBoard itwraps FrameDelay.) + +2011-09-10 22:35:14 +0200 H.G. Muller : +Fix playing sounds when -soundProgram is empty + +It made no sense to just send the names of the sound files to the shell. +So the soundProgram isnow tested for being an empty string, and if so, +PlaySound() is aborted. + +2011-09-10 14:01:58 +0200 H.G. Muller : +Add -afterGame option + +This option specifies a command line to be executed after each game of +a tournament. To execute the line, the function RunCommand() was added +in the front-end. For XBoard this was a simple call to system(); for +WinBoard part of the StartChildProcess code was cloned (without the pipe +stuff). + +2011-09-10 13:52:12 +0200 H.G. Muller : +Upgrade -serverMoves option + +The (undocumented) -serverMoves option was upgraded to conform to the +ChessLive! protocol extension for sending SAN tags. A bug that allowed +upper-case promoChar to leak through was also fixed, and code was added +to write engine PVs to file. Flushing of the game result to the -serverMoves +file was also fixed. + +2011-09-10 13:50:25 +0200 H.G. Muller : +Fix AppendComment + +The joining of two comments was not performed correctly if the second +one had the braces yet to be added: the closing brace was not added in +that case. + +2011-08-30 19:39:59 +0200 H.G. Muller : +Auto-popup ICS Input Box + +Typing to the board made the move type-in pop up, but in ICS mode +this is of course undesirable. Like in WinBoard, the ICS Input Box +should pop up in stead, and accept the typed character. This is now +realized. If the box already exists and has text in it, the typed +character is appended to that text, and the box is given focus. +Spaces now also are considered as printable. + +2011-08-30 18:27:58 +0200 H.G. Muller : +Slightly decrease sensitivity of sweep actions + +The sweep-selection of promotion and drop pieces, or step through the PV +was so sensitive that it was difficult to reliably make the intended choice. +It has now been reduced by a factor 1.5-2, and the sweep selection and +PV walk now also use a different value. + +2011-08-27 21:16:58 +0200 H.G. Muller : +Extra buttons in WB Tournament dialog + +A button to copy contents of the tournament fileto the dialog is added. +Buttons to invoke the Common Engine and Time Control dialogs are also added. + +2011-08-27 21:15:00 +0200 H.G. Muller : +Fix crash on typing non-existent enginein Load Engine dialog + + +2011-08-24 10:30:46 +0200 H.G. Muller : +Fix display state after failed analysis attempt + +When an engine responded to the "analyze" command with an "unknown command" +message, a Reset was done without altering the display, causing a +discrepancy between display and internal state, which caused confusion +when it finally corrected itself. I replaced the Reset call by an +EditGameEvent call, to preserve the loaded game. The Reset was presumably +used to allow for the case where the engine would be so upset by the +analyze command that it needed to be reset by a "new" command, but this +seems overly paranoic for an engine that just recognized the command +as an unknown one. + +2011-08-24 09:58:35 +0200 H.G. Muller : +Fix treatment of PGN score/depth info with linefeeds in them + +This is needed to make the PGN more Arena-proof. + +2011-08-24 09:51:10 +0200 H.G. Muller : +Fix quoting in Load Engine dialog + +A (space-contaning) engine name only needs quoting when there are parameters, +because the over-all engine command will be quoted anyway. For UCI engines +duplicate quoting is fatal, because when passed as the -ec argument of +Polyglot, it will be quoted yet another time, also with double quotes. + +2011-08-23 21:24:23 +0200 H.G. Muller : +Replace Analyze File by Analyz Game function + + +2011-08-22 22:16:58 -0700 Arun Persaud : +new developer release + + +2011-08-22 22:26:56 -0700 Arun Persaud : +update po files + + +2011-08-22 22:24:23 -0700 Arun Persaud : +updated Changelog, NEWS, etc. + + +2011-08-22 22:09:19 -0700 Arun Persaud : +malloc.h is not needed + + +2011-08-20 22:21:40 +0200 H.G. Muller : +Fix ICS move-list header mistaken for null moves + + +2011-08-18 18:53:09 +0200 H.G. Muller : +Allow two-games-per-opening to work with book + +A new option -seedBase is added, and written to the tourney file. +It allows all XBoard instances working on a tourney to generate the same +'random' openings in a deterministic way, based on this one-time seed +and the game number. When -loadGameIndex equals -2, it uses the same seed +for an odd and the following even game. + +2011-08-18 18:51:56 +0200 H.G. Muller : +Fix use of random + +In some places rand() was called explicitly, rather than through the +(configured) place-holder random(). + +2011-08-18 17:34:33 +0200 H.G. Muller : +Translate search texts + + +2011-08-18 10:29:35 +0200 H.G. Muller : +Add -useBoardTexture and -usePieceFont options + +These options suppress the use of the given texture files or piece fonts +without relying on the kludge to disable them by prefixing an asterisk +to the file or font name. Checkboxes have been added to the Board dialog +to control them. The user can now set piece font in WB font dialog. +The sample text can be used to specify the -fontPieceToCharTable, +the font name itself the -renderPiecesWithFont value. + +2011-08-16 23:10:59 +0200 H.G. Muller : +Fix crash on start without settings file + +A primordial -1 in currCurrent caused a crash when WinBoard was started +without ini filein game-viewer mode. + +2011-08-12 12:08:18 +0200 H.G. Muller : +Fix generic-popup failure after empty engine-settings dialog + +The error exit ofthe Engine #N Settings dialog in case of an engine without +options forgot to clear currentCps, with as a result that the generic popup +thought every subsequent popup was an empty one, and kept repeating the +'engine has no options' error message for every dialog. + +2011-08-10 11:27:22 +0200 H.G. Muller : +Allow substitution of engines during tournament + +Two buttons are added in the tournament options dialog, for upgrading +and for replacing a tourney participant. Lots of tests on the validity +of the request are done, and if all are passed, the tourney file is +written with the new participants (and in case of replace) with the +results of the replaced engines erased from the -results string. + +2011-08-08 11:00:12 +0200 H.G. Muller : +Fix up/down arrows in game list + + +2011-08-08 10:31:24 +0200 H.G. Muller : +Add key bindings for loading next/previous game of list + +These bindings are set both for the game list and the board window. +To make them useful, focus has to be transferred to the board widget +after loading (it tends to transfer to the tags window), which now +seems to work, but not always. From the game list the shellWidget +seems to get focus rather than the board, which is bad as it is not +sensitive to the key bindings. + +2011-08-08 09:58:31 +0200 H.G. Muller : +Allow deletion of last book move + +The book-edit function refused to delete the entiremove list, +for no good reason. This limitation now has been lifted. +Also the error message that the key for the current book entries +is different from that of the currentposition has been suppressed +if there were no entries found for the current position (so that the +book is positioned at the next key), so that it is possible to add +moves from scratch. + +2011-08-08 00:19:53 +0200 H.G. Muller : +Speed up parser + +Line numbers > 1, which are common, can exit already during move parsing, +to save lots of matching on resultsand castlings. + +2011-08-07 15:13:00 +0200 H.G. Muller : +Fix missing files in file browser + +The file browser was throwing away the first two files, assuming +they were "." and "..". Alas, this is no longer true on every Linux. +Now we actuallyc compare for these names, before skipping them. + +2011-08-06 11:57:59 +0200 H.G. Muller : +Delay file loading to allow expose event first + + +2011-08-06 09:29:22 +0200 H.G. Muller : +Fix paging + + +2011-08-05 22:39:41 +0200 H.G. Muller : +Better fix of crash on empty game list + +An empty list is now replaced by a list containig a simple message. + +2011-08-05 20:31:44 +0200 H.G. Muller : +Add plain arrows as key binding for stepping forward/backward + + +2011-08-05 20:30:03 +0200 H.G. Muller : +Debug position selection + + +2011-08-04 13:22:55 +0200 H.G. Muller : +Print progress during load / selection of game + +The title bar of themain window is used to display a running count +of the number of games loaded / searched. + +2011-08-04 12:44:45 +0200 H.G. Muller : +Parse PGN tags without allocating memory + +In WinBoard malloc/free did not seem to work when preparing the game list, +leading to a huge memory list when ParsePGNTag was used. The added code +parses the required tags in an alternative way as a work-around. + +2011-08-02 22:58:34 +0200 H.G. Muller : +Implement searching games in Game List for a position + +For this it was needed to reconstruct all positions of the games +without loading them, so they could be compared to the currently +displayed position. A new routine GameContainsPosition is made for that. + In Disambiguate, when the global quickFlag is set, we now do the +disambiguation ignoring check,and only if this leads to an ambiguous +move, we repeat it taking check into account to see if that resolves +the ambiguity. This causes us to miss if unambiguous moves are illegal +because they put their King in check, but who cares? + We now do not make game-list line when not needed. If we do not filter +by text, but by position, there is no need for preparing the game-list +line for games that are not selected. All for efficiency. + +2011-07-28 20:47:35 +0200 H.G. Muller : +Allow entry of variations in PlayFromGameFile mode + +Adding variations is more like editing a comment,and not really editing +the game. Therefore we allow it on loaded games. As soon as we are in a +variation, we temporarily switch to a (hidden) EditGame mode, restoring +the original mode when we revert to the main line. + We now also stay in PlayFromGameFile mode after loading a game, +And opening variation (fromtheComment window) in PlayFromGameFile mode +is also allowed. + +2011-07-27 18:47:45 +0200 H.G. Muller : +Force Move History refresh after loading/reverting variation + +The Move History window was not refreshed after switching to or from +a variation if that variation happened to have the same length as +the main line. Now a change in storedGames since the previous refresh will +force a full refresh to avoid this. For this to work, storedGames +did have to be decremented after ToNrEvent in PopInner, because ToNrEvent +calls HistorySet before the history is restored, so we don't want +it to snatch away the full refresh. A call to HistorySet had to be +added after PopInner is done restoring the move history. + +2011-07-27 17:45:12 +0200 H.G. Muller : +Popdown Comment window on new game + +What is in this window cannot possibly remain valid, and can even be harmful. + +2011-01-19 11:46:41 +0100 H.G. Muller : +Allow null move in analysis and edit-game mode + +In some games it is allowed to pass your turn. The internal +representation picked for such a null move is the drop of an empty +square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@", +SAN form is "--", (for compatibility with ChessBase / SCID), and the +non-compliant forms "null", "pass"and "Z0" are recognized in +the parser as well. ApplyMove() has to test for this special case +(to not actually clear a1), and a way to enter the pass for the user had +to be found (clicking the opponent clock, like in EditPosition mode). + The null move is made move irreversible to prevent repetition draws +spanning null moves being adjudicated. + Such entry of null move is now allowed in AnalyzeMode and EditGame mode. +Because Chess engines will not accept null moves, SendMoveToProgram had +to be adapted to send not the move, but the position after it in +case of a null move. This erases the move history in the engine, +so it will not react to 'undo' for that null move, so BackwardInner +had to be adapted to test for intervening null moves, and if one is +found, approach the target from the other side after loading the +earliest position before it not crossing another null move, and +then loading the moves upto the target. + XBoard clock clicks had to be fixed, to pay attention to the shift key. + +2011-07-25 21:58:58 +0200 H.G. Muller : +Give WinBoard Game List its own font + +The font fort he Game List used to be shared with the Engine Output and +Move History windows, but this made it impossible to use a figurine font +in the latter two (which displays piece symbols for capitals) without +messing up the Game List. An option -gameListFont has been added to specify +the font for the Game List(and save it in the settings file), while a +control for it is added in the fonts dialog. + +2011-07-21 19:02:01 +0200 H.G. Muller : +Fix crash on OK after Save Changes in Tags and Comment popup. + +The global variables tagsText and commentText were used to pass +a string obtained from a widget (and thus not malloc'ed), which +caused a crash when the GenericReadout tried to use those variables +for the new value. Fixed by using GenericReadout (which does malloc) +to read out the text,in stead of GetWidgetText. + +2011-07-16 09:31:12 -0700 Arun Persaud : +Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM) + +This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295. + +2011-07-16 14:53:14 +0200 H.G. Muller : +Suppress some XBoard warnings + + +2011-07-15 11:21:29 -0700 Arun Persaud : +fixed segfault in xengineoutput + + +2011-07-11 20:04:57 +0200 H.G. Muller : +Disable -showTargetSquares in ICS mode + +Help like this is considered cheating on FICS, so it is disabled for +all 'classical' ICS variants. (For variants eyont Shogi we don't care.) + +2011-07-10 21:20:49 +0200 H.G. Muller : +Put grab on sweep-selecting in Edit Position + +A right down-click starting a sweep-selection event did not grab the +mouse events, so that an up-click outside the window would go +unnoticed, and the pointer motion stayed coupled to selecting the +piece until the next click. By returning 2 from the RightClick back-end +routine we request the grab. + +2011-07-09 13:50:58 +0200 H.G. Muller : +Write more labels on score axis of eval graph + +The labels for +/-1 and +/-3 are now also written, provided there is +enough space. + +2011-07-09 13:28:08 +0200 H.G. Muller : +Improve Eval Graph with -evalZoom and -evalThreshold + +The score range between -1 and +1 can now be blown up by a factor +specified through -evalZoom. The threshold below which histogram bars +are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now +be set through the -evalThreshold option. + +2011-07-09 13:18:07 +0200 H.G. Muller : +Print reversible plies done in stead of plies to go + +Printing the number of plies left to the draw-adjudication point was +confusing when the N-move rule was set to a non-standard value. +In stead we now print the number of plies since the last irreversible +move, so the user can compare it to both the engine claim point (100) +and the adjudication point he set (which might be beyond 100). + +2011-07-09 13:13:49 +0200 H.G. Muller : +Let WB eval graph react ot single left-click + +Unlike in XBoard, the WinBoard eval graph awatys had required double- +clicking to go the the corresponding move, while there really is no +reason for this, as it is no text edit, and single-clicks have no function +(like select). + +2011-07-07 19:37:12 +0200 H.G. Muller : +Add -scoreWhite option + +This is similar to -absoluteAnalysisScores, except that it works in +all modes, and flips the score given by the engines in the engine-output +window when black is to move. + +2011-07-07 19:28:04 +0200 H.G. Muller : +Print 50-move counter in Engine-Output title + + +2011-07-07 18:50:56 +0200 H.G. Muller : +Display score/depth in Eval Graph title + +No longer print it in the comment window. + +2011-07-04 11:06:12 +0200 H.G. Muller : +Let -sweepPromotions also work for click-click moves + +A click-click promotion no longer causes auto-queening, but the down-click +on the to-square causes a Queen to stick to the mouse pointer, and then +allows the user to change it through dragging backwards before releasing it +with an up-click. + In WinBoard this required a slight change in DragPieceBegin, because +the dragged piece there only was made visible when the mouse pointer +actually started moving (and dragInfo.pos was set), presumably under the +assumption that before mouse move the piece was already on the clicked +square. Which in the case of a to-square was of course not true. (Because +a piece jumps to the mouse pointer when the click is not centered on a +square, this gives less jittery static clicks.) So DragPieceBegin has +been given an extra argument now, to indicate whether it should attach +the piece to the mouse pointer immediately. + To make the click-click sweepPromotions work in Shogi (for which the +drag-drop sweepPromotions could never work, because it is not clear the +piece has a posibility to promote when you pick it up), translation of +the sweep-selected piece to a Shogi promoChar had to e added. + +2011-07-04 10:45:04 +0200 H.G. Muller : +Improve -showTargetSquares on click-click moves + +The markers on move targets are now kept when a first click merely +selects a piece, rather than dragging it elsewhere. The second click +(by definition on the to-square) then clears the markers. + +2011-07-04 11:23:05 +0200 H.G. Muller : +Let PGN parser accept lower-case piece in drop moves + +The @ sign prevents amiguity with other notations anyway. + +2011-07-04 12:42:12 +0200 H.G. Muller : +Fix parser.c line endings + + +2011-06-29 20:29:12 +0200 H.G. Muller : +Fix writing searchTime in tourneyFile + +This had to be derived from the variable searchTime, which gives it +in seconds, as appData.searchTime (a string in minutes) is not reliable, +as it contains the command-line value, which might have been altered +through the time-control dialog. + +2011-06-29 20:25:00 +0200 H.G. Muller : +Fix resetting searchTime if other TC mode is chosen (XB) + +This fixes a bug in the new time-control dialog. + +2011-06-29 14:32:43 +0200 H.G. Muller : +Fix coords display on large boards + +The file indicators can now run upto 'w'. Only the lowest digit +of the rank number is printed, from a table that is valid to 22. + +2011-06-29 13:53:00 +0200 H.G. Muller : +Fix crash on making too-long FEN + +The buffer for in PositionToFEN was only 128 bytes, which was not enough +for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now. +There also is some approximate overflow checking added (but it is not +fool proof in case there are holdings...) + +2011-06-29 13:36:26 +0200 H.G. Muller : +Fix drop moves on boards with more than 10 ranks + +The internal encoding for rank 16 is '@', and thus ambiguous with drop +moves. They were always printed as 16, breaking drop games on large +boards. The ambiguity is now solved (for boards with more than 16 ranks) +by checking if the preceeding letter is upper case, in which case it +cannot be a fileindicator, but must be a piece, and thus a drop. + +2011-06-29 13:29:38 +0200 H.G. Muller : +Don't one-click move when legality testing is off + + +2011-06-23 21:18:11 +0200 H.G. Muller : +Reorder controls in Engine Setings dialog WB + +To get tabbing through the controls in left-to-right order, they are +now added to the template structure in that order. Also add a tabstop +to Label options, so that JAWS will read those. + +2011-06-23 14:02:50 +0200 H.G. Muller : +Add tab stops in WB generic popup + +The WinBoard generic popup did not put tab stops on push buttons, +including the OK and cancel button, with as a consequence that these were +skipped when tabbing through the dialog controls. In addition the tabbing +could not begin before the user selected one of the controls with the mouse. + Now all buttons have tab stops, and the cancel button is given focus +when the dialog pops up. + +2011-03-10 20:06:39 +0100 H.G. Muller : +Implement Grand Chess + +Grand Chess requires a lot of exceptional handling similar to Superchess +and Great Shatran, because it also allows only promotion to a captured +piece. In addition it shares the enlarged promotion zone with Makruk and +Shogi, as well as the fact that promotion can be deferred. The 10-rank +board furthermore required a better generalization of double-pushes and +e.p. captures. On such a board double puhes are now allowed from 2nd and +3rd rank, e.p. capture from 5th and 4th. + +2011-01-28 19:20:38 +0100 H.G. Muller : +Allow promotion to Pawn with legality testing off + +In stead of ImpossibleMove promotionto Pawn now merely is an +IllegalMove, so it can be played with legality testing off. + +2011-01-24 15:06:17 +0100 H.G. Muller : +Create some space in WB New Variant dialog + + +2011-06-20 23:53:49 +0200 H.G. Muller : +Allow double-digit rank numbers + +The parser already understood double-digit numbers on input, and +CoordsToAlgebraic produced them on otput. This patch also fixes sending +of the moves to the computer, for which the moveList was used. The latter +stored 10 as ':', etc,to always get a 4-char move, the characters of which +were frequently being converted to fromY or toY by adding/subtracting ONE. +To not break that the one-character encoding of rank number is kept in +moveList, but in SendMoveToProgram, characters > '9' are converted to +double digits. + +2011-06-23 11:26:48 +0200 H.G. Muller : +Add Absolute Analysis Scores in Genral Options dialog XB + + +2011-06-23 11:16:34 +0200 H.G. Muller : +Fix texi file, and update it further + + +2011-06-20 12:15:14 +0200 H.G. Muller : +Modified po + + +2011-06-22 17:51:51 +0200 H.G. Muller : +Update texi file + + +2011-06-22 11:02:45 +0200 H.G. Muller : +Restore echo after ^C in ICS password + + +2011-06-22 10:45:27 +0200 H.G. Muller : +Fix some warnings + + +2011-06-19 20:30:09 +0200 H.G. Muller : +Increase efficiency of SAN generation / disambiguation + +**************** Risky patch! ********************** +The algorithm used for disambiguating and generating SAN was extremely +inefficient, because it generated all pseudo-legal moves from the relevant +position, and then for each of those did a check test (involving generation +of all moves of the opponent), before determining if the move matched the +(proposed or given) SAN move. While it is pointless to generate moves +with a piece that does not match (let alone checking them for legality). +And for a piece that matches, it is pointless to test legality of moves +that do not match the to-square. + To speed up the process GenLegal and GenPseudoLegal have been equiped +with an argument that can indicate the piece type of the required move, +so they can skip generating moves with other pieces. TestLegality, +Disambiguate and CoordsToAlgebraic make use of this facility, and set also +(through global variables rFilter and fFilter) a to-square filter to be +applied in the GenLegalCallback before it tests the move for legality. + This patch is especially tricky for Crazyhouse, where the piece indicated +in the move might not be the piece actually on the board, because the latter +is a promoted Pawn, and has to be demoted toits base type before the +comparison. + +2011-06-19 16:18:15 +0200 H.G. Muller : +Fix compile errors WinBoard + +The patch to make non-existing options non-fatal broke WinBoard. All calls +to ExitArgError from it now supply a third argument TRUE to fix it. + +2011-06-19 14:28:09 +0200 H.G. Muller : +Add -fSAN / -sSAN options + +These options force the PV of the applicable engine to be converted to SAN. +They make use of the existing ParsePV routine, after shelfing a possible +PV (from user PV walking) to free the space after the last move. +Could be costly in terms of CPU usage. + +2011-06-19 10:56:25 +0200 H.G. Muller : +Cure flicker in Move History window, fix highlighting + +The highlighting of the current move in the Move List window by selecting +it did not always work, because some other windows were clearing their text +widgets by selecting the contents and killing it, thus snatching the +selection away. This has been changed to setting XtNstring to an empty +string as a method for clearing without side effects on the selection. +As a bonus the Engine Output window now also no longer has the black flicker +on clearing it. + In addition, triggering a scroll by setting the insertion point to the +end of the text caused excessive flicker in the Move List window, apparently +clearing it and redrawing from scratch, (even if there was no scroll motion), +to the point where on my slow laptop the move history stayed entirely blank +during a rapid succession of moves. This has been combatted by using the +end-of-line action procedure (which does not seem to suffer from this) to put +the insertion point at the end, when we need to scroll to close to the end. + +2011-06-18 23:48:13 +0200 H.G. Muller : +Fix crash on clearing new Move List window + +When a new game started and a previous game had filled the Move List +window, a crash occurred because an attempt was made to undo the +highlighting of a no-longer-existing move, and then scrolling to it. + +2011-06-18 20:46:57 +0200 H.G. Muller : +Use sound for ICS tells also with engine telluser popups + +The telluser and tellusererror commands now can be assigned a sound. + +2011-06-18 20:45:12 +0200 H.G. Muller : +Add Score in Move List option to general options dialog XB + +Now that we have a WinBoard-style Move History window, this option is +no longer a no-op in XBoard. + +2011-06-18 12:42:41 -0700 Arun Persaud : +new developer release + + +2011-06-18 12:38:32 -0700 Arun Persaud : +updated Changelog, NEWS, etc. + + +2011-06-18 12:51:10 +0200 H.G. Muller : +Update window itle after last game of match + +The result printed behind player names during a match would still be the one +without the game, differing from what the popup would show, which looked +sloppy enough for people to complain about it. +. + +2011-06-18 10:26:31 +0200 H.G. Muller : +Make WB generic popup translatable + +When used for internal settings (as in the Load Engine and Tournament +Options dialogs), the option names are now subectto translation. + +2011-06-17 21:05:00 +0200 H.G. Muller : +Redo Move History with generic popup in WinBoard style + +The use of color and boldness to make the move list more readable +unfortunately cannot work in Xaw; reverse video by selection is used as an alternative to highlight the current move. + +2011-06-17 21:19:41 +0200 H.G. Muller : +Remove stray else + +Due to an erroneous else, the window parameters of Move History were +not retreived (and thus incorrectly saved) when the Engine Output was up. + +2011-06-14 18:47:30 +0200 H.G. Muller : +Make non-existing opton in settings file non-fatal + +It is rather difficult to recover from a situaton where the settings +file contains an unknown option (e.g. because you downgraded to a +previous version that had fewer options), especially in WinBoard, where +the user settings file is in a hidden folder, and people might not be +able to find it, let alone edit it. By just skipping the line with the +offending option, rather than generating a fatal error, when reading +from a settings file, such options will be automatically purged from the +file as soon as you save settings. + Small problem is that the user cannot be warned, as the initialization +has not progressed far enough at this point to generate error popups. In +XBoard we can at least print to the console, but in WinBoard there is no +warning at all. But the worst thing that can happen is that new options +in a settings file of a more advanced version will revert to their +defaults. + +2011-06-14 18:20:37 +0200 H.G. Muller : +Change long form of -tf option to -tourneyFile + +This is a more logical name, and in the WinBoard docs it was already +described as such. Also remove the -processes option, which in the +current design of the tourney manager is no longer used. + +2011-06-14 18:17:08 +0200 H.G. Muller : +Fix default of -remoteUser + +This has to be an empty string, rather than NULL, to prevent XBoard from +segfaulting when the -gateway option is used. + +2011-06-14 13:32:38 +0200 H.G. Muller : +Add -at and -opt options as alternative for @ + +Windows XP and Vista shortcuts do not display command lines with @ in +them correctly, and these optionsprovide a work-around for that. + +2011-06-14 12:46:36 +0200 H.G. Muller : +Fix empty-string option values in XBoard + + +2011-06-14 12:40:11 +0200 H.G. Muller : +Fix crash on switching sound in Vista + +When choosing a new sound the wave form of the old one was free'ed, but +because built-in sounds are not really malloc'ed, this led to a crash. + +2011-06-14 12:36:16 +0200 H.G. Muller : +Update WB docs for tourney manager + + +2011-06-14 12:35:01 +0200 H.G. Muller : +Add icon to WB for tournament files + + +2011-06-10 16:52:01 +0200 H.G. Muller : +Redo Time Control dialog with generic popup + +As poor-man's disabling of the unneeded input fields, we print the word +"Unused" in them. + +2011-06-10 14:14:45 +0200 H.G. Muller : +Some refactoring in xoptions.c to separate out front-end + + +2011-06-10 12:38:08 +0200 H.G. Muller : +Redo New Shuffle Game dialog with generic popup + +The buttons are slightly renamed, and in stead of having an 'off' +button to clear it, shuffleOpenings now has its own checkbox, which is +ticked when a fixed or dynamic random is chosen with the buttons. + +2011-06-10 11:58:17 +0200 H.G. Muller : +Fix type of shuffleOpenings + +This was a Boolean option, and thus accessed by the args.h code as such, +while it was declared as an int (and used in backend.c as such). This +could have led to problems with different endianness. + +2011-06-09 23:57:43 -0700 Tim Mann : +Internationalize the file browser. + +The file browser was missed in the previous round of +internationalization and had gotten broken by setting international = +True in its widgets. I got nothing but segfaults trying to set +international to False in the file browser widget subtree when it was +True in the main window, so I gave up and did the +internationalization. It turned out to be pretty easy. + +As a tiny bonus fix, I removed some ../'s from includes, and you can +now configure and build xboard in a subdirectory again. This was +useful for building both --enable-nls and --disable-nls from the same +sources to compare functionality and make sure both still work. + +2011-06-08 20:26:28 +0200 H.G. Muller : +Fix crash at end of Swiss tourney + + +2011-06-08 17:33:34 +0200 H.G. Muller : +Fix display of logos + +The logo files are now sought relative to the WinBoard install +directory. Non-existing logos cause clearing of the logo, rather than +letting the logo of the prevous engine hang. Logo change is requested +explicitly from the back-end (when an engine is initialized for a new +game), rather than using the kludge in StartChileProcess. This required +a dummy UpdateLogos routine in the XBoard front-end. + +2011-06-08 18:02:31 +0200 H.G. Muller : +Fix parameter handling in adapter command + +A backslash was not considered the end of an option name, which was +fatal for UCCI2WB, which needs %fd\\%fcp in its command line. + +2011-06-08 17:16:54 +0200 H.G. Muller : +Clear Engine-Output pane when initializing engine + +This to prevent output from the previous game hanging there during the +next game, when the engine that is really playing is in book and +doesn't produce thinking output there. + +2011-06-08 17:20:01 +0200 H.G. Muller : +Fix display of last move of last match game + +When a game was adjudicated (e.g. because XBoard detected mate) GameEnds +would trigger an exit if it was the last game of the match, and thus +never returned, while the ShowMove was called only after return from +Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to +cause ShowMove to be called before exiting. (Ugly kludge...) + +2011-06-08 17:38:43 +0200 H.G. Muller : +Fix concurrency in Swiss tourneys + +The pairing engine was consulted for the next round before all games of +the previous round were finished, if other XBoard instances were still +playing games. This caused the instances finishing early to stall +indefinitely. This is fixed by moving the Swiss pairing code to after +the syncInterval code. The normal pairing code (the call to Pairing) +must stay before it, because it determines the syncInterval. So ther is +a bit of tourneyType dependence cluttering up the code here. :-( + +2011-06-08 17:27:01 +0200 H.G. Muller : +Give error popup when pairing engine fails + +An invalid pairing now produces an error popup to inform the user, so he +knows why the tourney stagnates. + +2011-06-08 17:24:41 +0200 H.G. Muller : +Fix clock mode in tourney starting from -ncp mode + +When a tourney started from -ncp mode, which was allowed in MatchEvent, +because the tourney loads its own engines anyway, the menu enablings and +clockmode where not restored to their 'GNUMode' state. + +2011-06-08 17:11:31 +0200 H.G. Muller : +Fix round-robin schedule + +The first round was played twice, and the formulas used to derive the +pairing were not even-odd resistant anyway. Both even and odd number of +participants should work now. + +2011-06-08 17:08:55 +0200 H.G. Muller : +Fix interrupting tournament + +Stopping a tourney by using the Machine Match menu item did not wor +properly. + +2011-06-08 16:57:09 +0200 H.G. Muller : +Improve quoting of engine name on install + +Rather than always using double quotes for the engine command, the +engine filename is now double-quoted if it contains spaces (and no +double-quotes), and the comand is single-quoted if it contains +double-quotes (and double-quoted otherwise). + +2011-06-08 16:49:18 +0200 H.G. Muller : +Print sensible window title during tourneys + +Rather than the "(W-L-D)" in the title we now print game number and +total games, plus indication of the tourney type (rr, gt or sw). + +2011-06-08 16:44:16 +0200 H.G. Muller : +Let XBoard propose name of tourney file + +Add an option -defaultTourneyName to configure the name that will be +proposed in the Tournament Options dialog's tournament-file field. The +option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour, +mintes, seconds of the curret time in %02d format, or %Y for the year in +%04d format. Any tournament -file name is ignored when no participants +are given. Participants without a tourney file remains an error. + +2011-06-08 16:30:34 +0200 H.G. Muller : +Improve Tournament dialog layout WB + + +2011-06-08 17:05:02 +0200 H.G. Muller : +Fix -matchGames option + +The new MatchEvent code had broken the -mg option, and used always +-defaultMatchGames in stead. + +2011-05-30 19:55:13 -0700 Tim Mann : +Fixed small bugs in several .po files, enabling these translations to be used. They all probably need more work from the translation team. I don't speak any of these languages, but I did some spot checks either from my own knowledge or using Google Translate, and they generally look sane. + +- Several files were in utf8 but needed to be marked as such (that is, + "CHARSET" changed to "UTF-8"). Affected es.po, it.po, ru.po, vi.po, + zh_CN.po, zh_TW.po. + +- it.po was missing a \n at the end of one translation. + +- ru.po had unescaped double-quote marks in one translation. + +- vi.po needed to be normalized to Unicode normalization form C. With + this fix, more characters display correctly, though at least one is + still missing in the X core fonts that xboard is able to use. + See http://vietunicode.sourceforge.net/ for more about Vietnamese. + +- zh_HK.po was written in big5 and then utf8-encoded on top of that, + making it unusable. I stripped off the spurious utf8 encoding and + then used recode to convert the file to Unicode properly encoded as + utf8. + +Unfortunately, I wasn't able to test any of the Chinese translations, +as I haven't been able to get XCreateFontSet to work in Chinese +locales with any of the fonts I have installed, even after adding the +Ubuntu language support packages for both simplified and traditional +Chinese. I did spot check a bunch of the translations using Google +Translate. + +I've checked in a couple of tiny Perl scripts that I used to do part +of the fixups on vi.po and zh_HK.po in case we need them again. + +2011-05-30 14:12:53 -0700 Tim Mann : +The empty string can't be translated and it causes the gettext utilities to complain, so change _("") to "". + + +2011-05-30 13:21:06 -0700 Tim Mann : +Add a final wildcard default for fonts. This gives XCreateFontSet more freedom and lets it find fonts for some obscure charsets where fixed-bold or fixed-medium etc. may not have one. + + +2011-05-29 20:14:37 -0700 Tim Mann : +Added "misc-fixed" as a fallback font to handle locales where adobe-helvetica does not have all the required characters. The fixed font is ugly but does have a rather complete set of characters, while the helvetica font is missing Cyrillic characters (at least on my distro). I haven't found a way to get a nicer font that includes Cyrillic to work with XCreateFontSet, but I don't fully understand why. I'll try to improve things further in the future if I figure out what's all going wrong. + +In the process I had to rewrite the code to insert the pixel size into +a font name (replacing a "*" in that field). The new code is much +more general. + +2011-05-28 23:55:42 -0700 Arun Persaud : +translation: activated Ukrainian translation + + +2011-05-28 23:41:24 -0700 Arun Persaud : +translation: added new Ukrainian PO file from the TP + + +2011-05-28 21:07:08 -0700 Tim Mann : +Fix display of international characters outside the ASCII range. + +1) Set Xaw resources required for internationalization -- + *international and *fontSet. + +2) Untangle the new XFontSet-aware code from the old FindFont code. + It doesn't make any sense to apply the old (and obsolete) size + searching code from FindFont to a font set, which contains fonts + that are all the requested size. + +3) With these changes, the -font option doesn't work at all when given + on the command line. The -font option actually is parsed by the Xt + library, used to set the *font resource, and removed from argv + before xboard can see it, so the option didn't really work properly + with the new WinBoard-style option framework anyway. Now that + -font is even more broken, I changed the documented name of the + option to -messageFont and changed args.h so the option is saved in + ~/.xboard as -messageFont. + +2011-05-28 21:05:00 -0700 Tim Mann : +Move "hide thinking" option into alphabetical order. + + +2011-05-28 21:01:25 -0700 Tim Mann : +Fix a size mismatch in scanf. Untested, but the code could not have worked properly without this fix -- scanf would have written 32-bit values to 16-bit fields, thus smashing adjacent memory. + + +2011-05-23 19:05:36 +0200 H.G. Muller : +Fix layout tournament Load Engine dialog WB + + +2011-05-23 19:03:56 +0200 H.G. Muller : +Fix ArgTwo warnings + + +2011-05-23 19:00:00 +0200 H.G. Muller : +Add Swiss tourneys through pairing engine + +An external program can be designated pairing engine through the new +persistent option -pairingEngine. Defining the option will allow +tourneytype -1 to be chosen for Swiss. In this case the pairing engine +will be queried for a pairing before every new match game, by sending it +the -results string, plus the command 'pairing' + game number. + +2011-05-23 17:37:43 +0200 H.G. Muller : +Allow generic dialog to ignore OK + +The EndMark callback can now suppress popdown of the dialog on OK, when +it somehow does not like the values entered by the user. In XBoard this +required all the callbacks to return a value. +Caveat: A refused OK would still have set all new values given in the +dialog! + +2011-05-23 17:22:58 +0200 H.G. Muller : +Fix CR in multi-line WinBoard text-edits + +The generic popup did not add CR when strings containing '\n' were +printed in a multi-line text-edit, thus joining the lines. It was also +not possible to type a CR in a multi-line text-edit. + +2011-05-23 14:16:17 +0200 H.G. Muller : +Let mentioning completed tourney file add one cycle + +Secifying a tourney file of a fully completed tourney will now resume +that tourney with another cycle added. When there are still uncomleted +games in the tourney, the usual error message will appear. There are +also error popups added for when the user fails to specify a tourney +file, or gives too few participants. + +2011-05-16 11:02:08 +0200 H.G. Muller : +Make engine startup failure non-fatal in WinBoard + +Unlike XBoard, which forks first, the parent process WinBoard has direct +knowledge of a failure to execute the engine command, and used it to +trigger a fatal error. The code doing this has now been disabled. Only +in case of a first engine we switch back to -ncp mode in stead, but no +action is taken to 'bury' the deceased engine process. Like in XBoard, +errors in writing or reading the pipes will trigger this. + +2011-05-14 17:03:44 +0200 H.G. Muller : +Add secondry adapter command for UCCI or USI + +The option -uxiAdapter can define a second adapterCommand, which will be +invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI. + +2011-05-14 10:05:11 +0200 H.G. Muller : +Obey san feature when sending book moves + +Book moves were always sent in long algebraic, even when the engine had +said it wanted to receive SAN. + +2011-05-14 10:03:20 +0200 H.G. Muller : +Fix initialization of engine state + +Some of the initialization relied on variables being zero at startup, +which meant value from the previouly loaded engine hng on after loading +a new one. + +2011-05-11 23:06:20 +0200 H.G. Muller : +Take account of holdings in book key + +The board is numbered by rank, for comptibility with Polyglot format, +starting at a1. We then continue counting in the holdings 'files', in +up-rank direction, each holding spanning the full board height (even if +it is not fully used). Firstthe left (black) holdings, then the right, +Even in Shogi this limits the square number to < 99, which is below the +absolute limit of 128 (where we would run out of hash keys). + +2011-05-11 22:48:34 +0200 H.G. Muller : +Alow promotions and drops in book-editing + + +2011-05-11 20:15:58 +0200 H.G. Muller : +Include learn info in book edit + + +2011-05-09 21:55:10 +0200 H.G. Muller : +Adapt default directory of lng2po + +The path is prefixed with "../" to make it runable from the po directory. + +2011-05-09 21:20:35 +0200 H.G. Muller : +Recode some po files + +po files were generated with the aid of lng2po for Russian, +Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251, +CP1258, GB2312 and BIG5, respectively. + +2011-05-09 20:11:32 +0200 H.G. Muller : +Implement Edit Book in XBoard + + +2011-05-09 09:52:54 +0200 H.G. Muller : +Improve WB Load Engine dialog texts + + +2011-05-09 09:48:27 +0200 H.G. Muller : +Make 'add to list' default in Load Engine dialog + + +2011-05-09 09:33:39 +0200 H.G. Muller : +Add -userFileDirectory option + +This volatile option is initialized from 'installDir'. It is +primarily intended for configuration of WinBoard through its master +settings file, and specifies an alternative place to create saveGameFile +or look for other user files, in stead of looking in the installDir. + +2011-05-09 09:10:47 +0200 H.G. Muller : +Add option -absoluteAnalysisScores + +This persistent option flips scores in the when black is thinking in +analysis mode, just before they are printed in the engine-output window. + +2011-05-08 17:47:40 +0200 H.G. Muller : +Automatically play moves of clicked PV in analyze mode + +The Shift key now no longer needs to be pressed to play moves from the +PV in analyze mode (so it could be given back its original meaning of +starting a variation with the entered moves). In analyze mode the PV +walk begins after the first move, so a static right-click plays the +first PV move. To just peek the PV you have to walk to the start of it +before releasing the mouse button. In other modes the PV walk +stillstarts at the very end. + +2011-05-08 17:07:18 +0200 H.G. Muller : +Let ParsePV always generate SAN move + + +2011-05-08 13:53:09 +0200 H.G. Muller : +Fix vscrolling in XBoard Engine-Output window + +After clicking the memos they scrolled to the bottom, because SetFocus +put the insertion point at the very end of the text. This behavior is +now reserved for text-edits containing less than 100 characters. + +2011-05-08 13:22:33 +0200 H.G. Muller : +Fix button sizing in generic popup + + +2011-05-08 13:02:52 +0200 H.G. Muller : +Allow changing MultiPV setting from Engine-Output window + +In analyze mode a header line is printed in the first engine-output +pane, which can be right-clicked to increase or decrease the number of +PVs. (Only with engines that support the MultiPV option.) + +2011-05-08 11:28:44 +0200 H.G. Muller : +No clearing of Engine-Output memos on stat01 + + +2011-05-07 23:27:50 -0700 Arun Persaud : +updated xboard.pot with released version + + +2011-05-07 22:56:53 -0700 Arun Persaud : +new developer release + + +2011-05-07 22:54:29 -0700 Arun Persaud : +updated ChangeLog, NEWS, etc. + + +2011-05-07 23:07:46 -0700 Arun Persaud : +deactivated new languages for the moment... + +po files need some cleanup, probably better to wait until the translation-project looked at them + +2011-05-07 18:44:24 -0700 Arun Persaud : +added translations generated via lng2po from all winboard languages + + +2011-05-07 18:40:23 -0700 Arun Persaud : +lng2po.sh: added command line options, GPL header + +also use a temporary file generated with mktemp instead of a hard coded one + +2011-05-07 17:53:10 -0700 Arun Persaud : +fixed access rights to winboard language files (644 instead of 655) + + +2011-05-07 14:55:55 +0200 H.G. Muller : +Import WinBoard language files into git + + +2011-05-06 23:14:02 +0200 H.G. Muller : +Let Shift+RightClick on PV actually play the PV moves + + +2011-05-06 18:06:48 +0200 H.G. Muller : +Make book-edit function WB + +The tags dialog is used to display the GUI book moves from the current +position, and will be updated when you step or move to another one. +The edited move list (with weights) can be written back to the book. + +2011-05-07 16:21:25 +0200 H.G. Muller : +Fix resetting engine options + +Not all options were reset, and -needsNonCompliantFEN was 'reset' +to a completely wrong value, so that bad FENs would be sent. + +2011-05-06 18:51:20 +0200 H.G. Muller : +Add -first/secondPgnName option + +This option replaces the tidy name of the engine in the PGN player tags +of engine-engine games. In WinBoard engines can be installed with this +option through a checkbox in the Load Engine dialog. + +2011-05-06 23:31:36 +0200 H.G. Muller : +Let XB generic popup define default file extensions + + +2011-05-06 18:25:38 +0200 H.G. Muller : +Save time-control settings in tourney file + +Because parsing the options and storing them in appData is not enough, +the time-control code setting the internally used parameters from the +appData info in InitBackend was made into a subroutine, and also caled +after parsing the tourney file. + +2011-05-06 20:40:34 +0200 H.G. Muller : +Put saveGameFile in tournament dialog + + +2011-05-06 19:17:56 +0200 H.G. Muller : +Plug memory leak, filenames relative to installDir + +String options are consistently freed now, before assigning a new value +to them through strdup. The init code now even does use strdup when +setting defaults. This is important for optionslike -lgf, which are not +saved in the settings file, and thus are usually left with their +default. When a dialog to set them then uses free, this causes a crash. +When setting the defaults uses strdup, ParseArgs can already free them. +This plugs an important memory leak, as ParseArgs in now called to parse +the tourney file before every tourney game (twice!), and the lists of +participants and results in it can be quite long. Macros are defined in +common.h to make the code look simpler. + Filenames entered through the generic popup are now interpreted +relative to the WinBoard installation folder, just as the saveGameFile +already was. The code handling the atter was made into a subroutine for +this. + +2011-05-06 22:02:53 +0200 H.G. Muller : +Add WB new popup prototypes + + +2011-05-06 18:58:08 +0200 H.G. Muller : +Add partcipants at bottom in tourney dialog (WB) + + +2011-05-06 18:56:53 +0200 H.G. Muller : +Fix range of tourneyType spin WB + + +2011-05-06 18:15:23 +0200 H.G. Muller : +Fix exit popup in tourney mode + +Only the instance finishing the last tourney game will cause a popup +with final standings. As long as there are still busy games, it exits or +switches back to idle mode silently. + +2011-05-06 18:11:47 +0200 H.G. Muller : +Fix stopping of match in tourney mode + + +2011-05-06 18:59:26 +0200 H.G. Muller : +Add default extension in file browser + + +2011-05-06 22:37:14 +0200 H.G. Muller : +Improve sizing of comment and tags dialogs + +There seems to be a bug in Xaw for the sizing of buttons; they get +unpredicatble and weird sizes when the size is not explicitly set, +possibly stretching the initial width of a dialog to rediculous values. +Sizing back to a remembered value from the settings file then makes +buttons overlapand text edits shrink to almost nothing. To prevent that +we now define exlicit sizes for the buttons in tags and comment popups. + +2011-05-06 21:00:25 +0200 H.G. Muller : +Fix generic combobox bug + +The patch placing gettext markers was done wrong, setting the +translated menu text outside the loop, so all entries became the same. + +2011-05-07 14:23:12 +0200 H.G. Muller : +Fix PV walking in analysis mode + +ParsePV assumed that the PV would always have been produced by an engin +thinking about the final position of the game (or the one before it). In +analysismode, however, the engine can be analysing positions internal to +the game, and the PV would be considered invalid. This is fixed by +cutting of the tail off the game (shelving it in variation fashion) +before starting the PV walk, and reverting afterwards. + For this the PushTail and PopTail routines had to be split into an +'inner' part, doing the pushing and popping, and an outer part, handling +menu graying and popdowns (which is undesirable in in this application). + +2011-05-03 00:24:10 +0200 H.G. Muller : +Lift length-limit on text-edits in WB generic popup + + +2011-05-04 13:53:05 +0200 H.G. Muller : +Lift limitation of text length in generic dialog XB + +All string options should now point to allocated memory, as strdup / +free is consistently used on them. This is OK for values received from +ParseArgs, but for non-arg intermediate variables that must receive strg +values, such as in the comment and tags popups, strdup has to be used to +initialize those. + +2011-05-04 14:53:02 +0200 H.G. Muller : +Implement Tournament Options dialog WinBoard + +The file browser now can select on extension WB generic dialogs, +with a default based on the option.max value of the option for which it +browses. A textBox can be forced to be multiline by putting the number +of extra lines in option.min. + +2011-05-04 15:30:00 +0200 H.G. Muller : +Make option to draw second engine from first list + + +2011-05-03 00:17:47 +0200 H.G. Muller : +Fix error message on engine load + + +2011-05-04 15:09:33 +0200 H.G. Muller : +Implement Load Engine dialog in WinBoard + +The Load Engine dialog is implemented for WinBoard, and is invoked by +the menu item Engine->Load, which formerly was Install 2nd. Install 1st +is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate +fields for the engine executale and its parameters. + The dialog is implemented by converting the Engine Settings popup into +a generic dialog generator. + +2011-05-04 13:43:06 +0200 H.G. Muller : +Load new logo on engine change WinBoard + +Picking the logo for the first engine is made into a subroutine. The +code for picking the logo of the first engine was made into a subrroutne +for this. We use the kludge to recognize the engine by its command line +when starting a new engine process. + +2011-05-04 13:36:27 +0200 H.G. Muller : +Allow switching off match mode through menu + +The Machine Match menu item is now checkmarked, and no longer grayed +during a match, and clicking it while a match is running will terminate +the match after the current game. To not be left with hanging +checkmarks, the checkmark is already removed duringthe last match game +(which is logically equivalent to ordinary Two Machines mode anyway). + +2011-05-03 00:14:22 +0200 H.G. Muller : +Calculate and display tourney result + + +2011-05-04 18:42:13 +0200 H.G. Muller : +Implement Tournament Manager + +New command-line options are added to specify the tourney: -tourneyType +(-tt), -tourneyCycles (-cy), -participants, -syncAfterRound, +-syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but +otherwise volatile. When a tourneyFile is specified during a match, +a new routine NextTourneyGame is called from NextMatchGame before every +game, to decide the pairing, and unload and redefine the engines, when +needed. The XBoard Match Options dialog can be used to set the options +and create the tournament file. + Actual loading of new engines is done by TwoMachinesEvent, which is +now modified to also wait for the feature timeout of the first engine. +Waiting for the matchPause is now also implemented there, after waiting +for the engines (so they can be started during the pause). + Pairings and color assignment is now all done in an absolute +(non-incremental) way, based on a new global game-number variable +nextGame, which takes over the function of matchGame in a tourney. The +latter is now used to count games between the same players, so it can be +still used to derive the load-file indexes (again in absolute fashion). + The next game to play is already picked in GameEnd, so it can be +decided if there is a game to be scheduled, or if we can terminate. + +2011-05-04 15:42:26 +0200 H.G. Muller : +Display note in stead of empty engine-settings dialog XB + + +2011-04-24 18:02:20 +0200 H.G. Muller : +Fix crash on empty Engine Settings dialog + +The generic popup was not foolproof against this. + +2011-04-22 12:47:24 +0200 H.G. Muller : +Refactor code for loading games and positions in match + +The code in NextMatchGame and MatchEvent was nearly the same, +(MatchEvent did a little more error checking, but that is never +harmful), and could be combined. In stead of determining the load index +incrementally, it is now calculated in an absolute way from the game +number, so it can be used more easily in tournament mode. + +2011-04-21 22:37:56 +0200 H.G. Muller : +Add callback possibility to combobox selection + + +2011-04-24 17:15:23 +0200 H.G. Muller : +Lock game an position file during writing + +The use of flock() on the file desctiptor of the opened stream should +guarantee multiple XBoard instances, saving on the same file, will not +interleave their PGN games or FEN positions. + +2011-04-27 17:05:06 +0200 H.G. Muller : +Remove building rule for parser.c from WB makefiles + + +2011-04-29 16:58:49 +0200 H.G. Muller : +Fix Engine Settings buttons in WinBoard + +This was broken by a leftover statement from debugging the -file/-path +patch. + +2011-05-02 13:38:14 +0200 H.G. Muller : +Implement flock in WinBoard + +This system function seems unknown in a MinGW compile, so it is +implemented with the aid of file byte-range locking, using a lock on the +first 1024 bytes of the file as a semaphore. + +2011-04-29 23:06:43 +0200 H.G. Muller : +Fix grayout XB Match Options in ICS mode + + +2011-05-03 00:22:40 +0200 H.G. Muller : +Delay loading of second engine until it is used + + +2011-05-02 15:00:03 +0200 H.G. Muller : +Fix zippy bughouse partner bug + +The patchs to subject Zippy messages to coloriation was faulty, because +there were messages recognized by zippy that were not colorized, and +such messages would then not be 'read away' after zippy recognition +(except for the first character). As a result the messages were +processed over and over again. + +2011-05-04 10:59:43 +0200 H.G. Muller : +Silence more rpm warnings + + +2011-05-01 20:33:50 +0200 H.G. Muller : +Fix warnings XBoard file browser + +All the prototypes have been moved to selfile.h, to force uniformity. +The order of the #include files xstat.h and selfile.h had to be +swapped, to make sure 'struct stat' is a nown type atthe time of +prototype declaration. The event handler SFmotionList is considered +wrong type because of its third argument (XMotionEvent in stead of +XEvent), and had to be casted to (XtEventHandler) when passed to +XtAddEventHandler. + +2011-05-04 10:56:05 +0200 H.G. Muller : +Fix some warnings and header-file improvement + +Ther were lot of 'extern' declarations in the x-files, so called +'imports from xboard.c', (sometimes backend.c) which logically belonged +in xboard.h (backend.h) to ensure their uniform definition. These have +now been moved there. Some prototypes have been added in xboard.h as +well, for functions that needed calling from xoptions.c. + +2011-05-04 10:50:12 +0200 H.G. Muller : +Create conversion tools for language files + +A shell script "lng2po.sh" is provided, to apply the translation given +in a WinBoard .lng file to "xboard.pot", in order to generate a +"language.po" file containing translations for all strings for which +the .lng file had a translation. It makes use of a file "metascript", +which is the ed script used to turn the .lng file in an ed script to +turn the .pot into .po. For example, the command "./lng2po.sh +espa?ol.lng" will create a file "language.po", which can be renamed to +"es.po". +****************************** WARNING ******************************** + Note that the lng2po script does a "recode" that assumes the given +.lng file is encoded in latin-1. This means it canot be used without +modification for the Vietnamese and Chinese translation; you would have +to replace latin-1 by the applicable encoding first (CP1258 / BG2312 / +BIG5). + +2011-04-27 22:04:38 +0200 H.G. Muller : +Put gettext markers in generic dialog creator + +This is done by adding extra XtNstring argumentsto the widget gcreaton, +so the displayed name can be different fromthe widget name. + +2011-05-01 19:56:38 -0700 Tim Mann : +Use getaddrinfo instead of gethostbyname. Hopefully this makes us compatible with IPv6 and with hosts that have more than one IP address. However, I don't know of any chess servers that have either of those properties, so I couldn't test that. I did test that xboard still works with freechess.org and chessclub.com and that it gives an error message for invalid host names. + + +2011-04-24 11:18:28 -0700 Arun Persaud : +updated German translation + + +2011-04-24 11:17:43 -0700 Arun Persaud : +replaced hardcoded email address with generic PACKAGE_BUGREPORT + + +2011-04-23 10:51:57 -0700 Arun Persaud : +updated po-files; updated german translation + + +2011-04-23 10:51:02 -0700 Arun Persaud : +updated list of files that include translation strings; updated pot-file + + +2011-04-22 21:50:58 -0700 Arun Persaud : +marked more strings for gettext that were only marked with N_() + +they need to be marked again with _() when they are used to get the translated string + +2011-04-22 21:39:22 -0700 Arun Persaud : +updated translation files + + +2011-04-22 21:37:22 -0700 Arun Persaud : +added/fixed i18n support via gettext to xboard + +this was already added a long time ago, but now it's added again to +autoconf. Also fixed some compile errors that showed up. + +2011-04-20 10:27:20 +0200 H.G. Muller : +Make engine startup error non-fatal + +When engine startup fails, do not generate a fatal error, but swicth +back to -ncp mode. Write on broken pipe errors had to be suppressed for +this. + +2011-04-20 14:35:50 +0200 H.G. Muller : +Make engine loadable during session + +A "Load Engine ..." menu item is added to the Engine menu, which pops +up a dialog where one can replace the first or second engine by a new +one, without destroying the game state. Switching from -ncp to engine +mode needed activation of some menu items in SetGNUMode, and +re-enabling clockMode. It was also important that noChessProgram is +cleared before re-initializing the ChessProgramState. + The Load-Engine dialog can select from the list of installed +engines, and also add a newly specified engine to this list. In this +case it saves the directory, hasBook, and isUCI info with the engine, +and optionally the current variant. When loading an engine with a +specified variant, it resets the game and switches to the new variant. + +2011-04-18 15:56:47 +0200 H.G. Muller : +Generalize WaitForSecond to WaitForEngine + + +2011-04-18 15:46:12 +0200 H.G. Muller : +Add UnloadEngine routine + + +2011-04-20 13:45:51 +0200 H.G. Muller : +Put engine initialization code in per-engine function + +Initializing of the ChessProgramStates first and second from the +option settings in appData is now done by separate calls to the same +routine. Clearing of options is added to the initialization. This is +needed when reloading an engine. This is done in a separate routine, +which could also be called on -reset options. + +2011-04-18 13:21:44 +0200 H.G. Muller : +Bring structure in appData engine options + +All options in appData that came in pairs for both engines are replaced +by arrays of ENGINES (=2, for now) elements. The use of the named +appData field that are replaced in the source is replaced by use of the +corresponding array element, by #define directives in common.h, awaiting +their replacement. + +2011-04-19 15:15:48 +0200 H.G. Muller : +Fix gettext macros in option dialogs + +The strings in the tables were using _() in stead of N_(). + +2011-04-18 20:58:01 +0200 H.G. Muller : +Fix crash on using Engine #1 Settings in ICS non-zippy mode + +If XBoard is compiled with zippy the Engine #1 Settings menu was not +grayed out even when you don't run in zippy mode, and using it would +then crash XBoard. + +2011-04-19 15:07:31 +0200 H.G. Muller : +Fix shogipixmaps + +Some pixmaps forptomoted pieces had wrong background color, others had a +wrong name (so the one with the correct name was missing). + +2011-04-17 19:12:00 +0200 H.G. Muller : +Change texture-install directory to pixmaps/textures + + +2011-04-17 17:36:32 +0200 H.G. Muller : +Limit install of sound files to those in menu + +The sounds directory is set to .../xboard/sounds, and only ten +sounds are kept (all non-spoken). + +2011-04-17 17:27:57 +0200 H.G. Muller : +Remove some bitmaps from install + +Some files in the bitmaps source directory need not be installed, +because they are there only to be linked to the binary in a build +without LIBXPM, are README files or conversion programs. I left only the +stuff that is in a Debian binary package in .../xboard/bitmaps.xchess. + +2011-04-17 16:34:03 +0200 H.G. Muller : +Configure some default sounds + +The move sound is set to Wood Thunk; the sounds for tell and challenge +events to Phone and Gong, respectively. + +2011-04-17 16:17:30 +0200 H.G. Muller : +Change default sounds in Xboard menu + +All spoken sounds are removed now. Thud, Click and Ching are replaced by +Wood Thunk, Slap and Cymbal; Car Horn and Pop are added. + +2011-04-17 12:46:47 +0200 H.G. Muller : +Make user wav file available for try-out in sound dialog + +The GenericReadout was adapted to be able to read a single selected +value, so that the callback to the 'play' button in the sounds dialog +could get the name of the 'user WAV file' without accepting all settings +for the other sounds (which should only happen on 'OK', and might still +be cancelled in stead). + +2011-04-16 10:36:31 -0700 Arun Persaud : +configure: enable silent rules by default + + +2011-04-16 10:28:16 -0700 Arun Persaud : +configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/ + + +2011-04-16 10:25:33 -0700 Arun Persaud : +configure: added install of sounds in .../games/xboard/sounds/default + + +2011-04-16 09:54:26 -0700 Arun Persaud : +configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir + +pixmaps will now be installed under .../games/xboard/pixmaps/default/ + +2011-04-16 13:40:16 +0200 H.G. Muller : +Fix gamelist highlight + +Reopening the gamelist should highlight the current game. + +2011-04-16 10:25:53 +0200 H.G. Muller : +Fix size limit on 'save as diagram' + +In stead of a fixed-size buffer the diagram-save code now uses an +allocated buffer with size calculated from the bitmap parameters to +retreive the bitmap data, so it should work for all sizes. + +2011-04-15 22:04:03 +0200 H.G. Muller : +Fix chaining of bottom-row dialog buttons + +The OK & cancel buttons are chained to the bottom. This patch makes sure +that other buttons appearing in the same row (as in the tags and +comment dialogs) will be chained that way too, so that they will behave +the same on vertical sizing. The bottom of a full-width text-edit above +it will be chained to bottom too. To make this work in the tags dialog, +the (optional) cmail-message field had to be put above the tags memo. + +2011-04-15 19:18:46 +0200 H.G. Muller : +Fix switching between pixmap and bitmap pieces + +There were still several flags that had to be reset when redoing the +graphics initialization. The Debian patch to use a default bitmap +directory when none is given but monoMode is selected or forced, is +moved to a more sensible place, so that it does not disturb matters when +compiled without LIBXPM (when we do have built-in bitmaps). + +2011-04-15 15:47:09 +0200 H.G. Muller : +Remove outline-pieces option from board-options dialog + +This option does not exist in XBoard (yet). + +2011-04-15 15:41:38 +0200 H.G. Muller : +Fix running of clock during hash allocation engine + +In TwoMachinesEvent we now wait for the second engine to acknowledge the +'ping' after 'new', to make sure it is done allocating hash in reaction +to the preceding 'memory' command, before the clock for the game is +started. + +2011-04-14 21:42:50 +0200 H.G. Muller : +Describe move type-in in texi file + + +2011-04-14 20:34:42 +0200 H.G. Muller : +Describe Copy Game List menu item in texi file + + +2011-04-14 20:30:16 +0200 H.G. Muller : +Describe -sweepPromotions in texi file + +The new method for selection promotion piece, and the -sweepPromotions +option are described in the texi file. + +2011-04-14 20:14:44 +0200 H.G. Muller : +Describe -pieceMenu option in texi file + +The sweep method for selecting a piece in Edit-Position mode is +explained, as well as the -pieceMenu option. + +2011-04-14 15:59:57 +0200 H.G. Muller : +Update texi file + +Descriptions of the new XBoard menu dialogs are included in the docs. + +2011-04-14 21:06:49 +0200 H.G. Muller : +Reorganize texi description + + +2011-04-14 12:31:15 +0200 H.G. Muller : +Fix sweep-promotions patch + +Setting of the from square was moved to before OKtoStartUserMove in the +LeftClick handler, to make sure we could test the promotion possiblity +when OnlyMove() would have altered (x,y) to be no longer the from +square. But this setting of fromX, fromY hung on also if the move was +not OK, so you could effectively select opponent pieces and empty +squares. The from-square is now set back to undefined when it is not OK +to move the piece you clicked. + +2011-04-14 11:56:59 +0200 H.G. Muller : +Alter treatment of moves with empty squares + +In Edit Position mode one can move empty squares, and use them to +'capture' pieces as a means to clear their square. But this often leads +to unintended disappearence of pieces one wants to grab for dragging, if +a previous click had inadvertantly left an empty square selected: the +click on the piece is then seen as the to-click of a click-click move. + This patch treats to-clicks of moves with an empty-square differently +from other to-clicks: Rather than performing the move (in this case +clearing of the to-square) on the down-click, it defers that to the +up-click, and only does it if that up-click is in the same square. This +allows the user to grab the piece on the down-click, and drag it to +another square, if that is what he wanted to do, without being disturbed +by sudden implosion of the piece he tried to grab. + If the to-square is in the holdings, grabbing the piece is the only +action, as moves of empty squares into the holdings are forbidden anyway. + +2011-04-13 13:14:00 +0200 H.G. Muller : +Block selection of a directory when file is needed + +When we are not browsing merely to obtain a name to put in a text edit, +but really must return an open file pointer, selection of a directory +(ending in '/') can no longer be OK'ed in the file browser. (XBoard +tends to segfault when offered garbage for game or position file...) + +2011-04-13 12:23:00 +0200 H.G. Muller : +Let double-click select file in file browser + +A second click on the already selected entry now has the same effect as +pressing the OK button. + +2011-04-12 17:06:28 +0200 H.G. Muller : +Couple mouse wheel to v-scrolls in file browser + +A newly added mouse-wheel event handler was made to call the v-scroll +callback routines with parameters to step one entry. The button-press +handler for the lists themselves was also made to intercept the wheel +events (buttons 4 and 5), to prevent they would select an entry, and +make them scroll in stead as well. + +2011-04-13 11:41:54 +0200 H.G. Muller : +Fix crash copying game list when there is none + + +2011-04-13 11:15:14 +0200 H.G. Muller : +Fix changing of float setting by generic popup + +Changing a float setting (so far the only one is in the Load Options +dalog) did not always work, because the old value was clipped to (int), +so that changing it back to an integer value might erroneously conclude +there was no change. + +2011-04-13 16:15:22 +0200 H.G. Muller : +Fix crash on closing dialogs in wrong order + +When a menu dialog was closed when it still had an open file-browse +daughter, which could be done through the system menu X on the title +bar, later closing of the file browser caused a crash. This is solved by +keeping track of the fact that there is such a daughter through a global +flag, and ignoring the pop-down command if there is one. + +2011-04-13 16:33:16 +0200 H.G. Muller : +Fix startup focus of board window + +When there were open auxiliary windows, these would have focus on +starting up XBoard. The XtSetKeyboardFocus call added in XBoard main() +was ineffective in curing that. It has now been replaced by a call to +XSetInputFocus, which does do the job. By giving input focus to the form +widget, rather than the board widget, XBoard will be immediately +sensitive to all key bindings. + +2011-04-13 15:48:35 +0200 H.G. Muller : +Fix game-list highight error when filtered (WB) + +When the gamelist was filtered, the game that was highlingted was the +n-th game in the list rather than the n-th game in the file, when the +latter was loaded (and n did not exceed the number of filtered games). +This is fixed now by searching for the line in the listbox that starts +with the game number n, rather than taking the n-th line. + +2011-04-12 19:20:46 +0200 H.G. Muller : +Refactor move type-in code + +Common code between XBoard and WinBoard was moved to the back-end +creating TypeInEvent() and TypeInDoneEvent() routines. + +2011-04-12 10:13:40 +0200 H.G. Muller : +Fix saving of XBoard fonts with spaces in name + +SaveFontArg now prints quotes around the saved font string, so that the +general option-argument parser doesnot stop at the first space it sees. + +2011-04-11 20:48:24 +0200 H.G. Muller : +Implement move type-in for XBoard + +By adding an event handler to the main window for key presses, users can +now type moves when the board has focus, like in WinBoard. The typed +character appears as first character in the type-in box that willpop up. +Enter and Escape close the box; finishing the typing of the move enters +it. Like in WinBoard it is also possible to type a move number (to go +there) or (in Edit Position mode) a FEN. + +2011-04-11 20:59:44 -0700 Arun Persaud : +new developer release + +tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG. +The Changelog is just the one from master. + +2011-04-10 22:47:59 -0700 Arun Persaud : +updated Changelog, NEWS, etc. + + +2011-04-10 20:32:57 +0200 H.G. Muller : +Fix use of game/position file in first match game + +When a match was started from the menu, it was not paying attention to +game and position files. (Later games were.) The code that handled this +in the initialization when a match is started through the command line +was made into a routine MatchEvent, which can be called from the menu +proc too. + +2011-04-09 20:55:47 +0200 H.G. Muller : +Fix crash on opening ICS Text Menu + +The patch for the color defaults had broken the ICS Text Menu. + +2011-04-09 19:22:00 +0200 H.G. Muller : +Implement Copy Game List menu item for XBoard + +Some WinBoard code was cloned for this. + +2011-04-09 11:42:21 +0200 H.G. Muller : +Third method of sweep selection + +This method sweeps through the possible promotion choices for the piece +that is being dragged, as long as you drag a 7th-rank Pawn backwards. On +draggin such a Pawn forwards, it immediately shows it as the piece you +are going to promote to. + +2011-04-08 23:39:10 +0200 H.G. Muller : +Alternative sweep promotions + +The sweep takes place on the from-square here. + +2011-04-07 23:21:02 +0200 H.G. Muller : +Make sweep-select promotions work in WinBoard + +The mouse-move handler had to be connected to the PromoScroll back-end +routine. + +2011-04-07 23:19:10 +0200 H.G. Muller : +Fix path browsing in WinBoard + +The routine BrowseForFolder was still declared as static in woptions.c, +while it was used from wsettings.c. + +2011-04-07 11:14:45 +0200 H.G. Muller : +Fixes to sweep selection + + +2011-04-06 23:47:58 +0200 H.G. Muller : +Implement sweep selection of promotion piece + +When the option -sweepPromotions is true, a click-click promotion move +will first display the default choice (usually Queen) on the promotion +square. While you have the mouse button still down, you can change the +piece by moving the mouse vertically. + +2011-04-06 21:20:30 +0200 H.G. Muller : +Implement sweep selection as alternative for the piece menu + +When the option -pieceMenu is off, the piece menu will no longer appear +on right-clicks in Edit Position mode. In stead a Pawn of the chosen +color will appear immediately in the clicked square, and vertical +movement of the mouse with the right button down will cycle through +all other pieces defined in the pieceToCharTable of the current variant. + Setting the side to move is acheived by clicking the correspondig +clock. Clear board can be effected by clicking the clock of the side +that already has the move. + +2011-03-30 18:17:58 +0200 H.G. Muller : +Remember Tags and Comment dialog coordinates + +The save-settings code now uses the shell and shellUp arrays from the +GenericPopUp to read out the window coordinates for Tags and Comment +window. Pointers used by GenericPopUp are set topoint to the +corresponding WindowPlacement structs. + +2011-03-10 19:21:59 +0100 H.G. Muller : +Redo Tags dialog + +The generic popup is used for generating the Tags / EditTags popups. +The tags popup use a 'label' field to display the cmail message + +2011-04-01 13:43:52 +0200 H.G. Muller : +Implement Edit-Comment window through generic popup + +The Edit Comment and Comment popups are combined into one, that can +always be edited (similar to WinBoard). It uses shell number 1. +(Number 0 is for all transient dialogs.) A save-changes button is added. +The positioning is not implemented yet. + +2011-04-06 10:56:57 +0200 H.G. Muller : +Refinements to generic popup and color picker + +*) The text part of a checkbox can now be clicked to toggle the option. +*) Typing in single-line text edits is ignored +*) Using a spin button now sets focus to the affected text edit, with +the insert position at the end. +*) Using the sample field or an RGB button sets focus to the +corresponding text edit, with the insert position at the end. +*) The adjust buttons now work in reverse, with a D button for "darker". +*) Editing a color field causes the sample field to update to the new +color when you type . +*) The color pickers now define a default color, which can be instated +by clicking on the sample field. +*) Fix some 64-bit pointer warnings + +2011-04-05 17:05:39 +0200 H.G. Muller : +Let file browser filter on extension + +A new text field is added in the file-browse dialog, to hold (space- +separated) extensions, on which the filenames are then filtered. This +field is initialized by the caller, depending on what we need the file +for, but can be changed by the user. (Directories are always displayed!) + Changes in the extension field become effective after typing a return +in it. Escape typed in the extension field gives focus to the filename +field, and restores the contents. Escape in the filename field cancels +the dialog, return ther OKs it. The extension filter of the browser is +initialized to the extension (if any) of the file currently in the text +edit you are browsing for. + When re-opening the file browser from the XBoard File menu, and there +is no suggested filename, it will now start with the last succesfully +opened name as suggestion. Calling the browser with a NULL argument +for the suggested filename requests that (unlike calling with an empty +string, which will start it in the current directory). To make this +work smoothly, the filebrowser saves the last used name on entry, so it +can be restored on cancel, so that a cancelled browse session really +erases all memory of it. + +2011-04-04 19:26:53 +0200 H.G. Muller : +Fix animation masks on changing piece pixmaps + +The animation masks were not remade when new pieces were loaded +interactively through the board-options dialog. + +2011-04-04 19:09:21 +0200 H.G. Muller : +Fix linegap option in board dialog + +The lineGC was not recalculated, so the grid lines stayed the same +thickness. In addition, setting the line-gap override to -1 now +retrieves the original line gap that belongs to the current board size. + +2011-03-05 23:27:48 +0100 H.G. Muller : +Make a kind of ICS text menu in XBoard as a dialog + +The dialog with buttons can be opened from the View menu. It is +configured by the option -icsMenu; a default setting for this is +included in the master settings file. + The commands specified by the -icsMenu can now contain $name and $input +keywords, which will be replaced by the current primary selection, or +text the user types, respectively. Commands that contain $name will not +be sent when the current selection is empty. Commands that do not +contain $input will be sent to the ICS immediately; otherwise they will +be placed in the ICS Input Box, with the cursor at the point of the +$input, and input focus given to the Input Box, so the user can start +typing. When a command is prefixed by "$add " it will be appended to the +existing ICS Input Box contents, rather than replace it. + The items now have to be separated by ";\n", and button text from +command by ';' (with optional linefeed). This allows configuring of +multi-line commands, as a single linefeed no longer has special +sigificance. + +2011-03-31 13:36:05 +0200 H.G. Muller : +Redo ICS input box with generic popup + +This box is just a single text edit, but the complexity is in the added +callbacks. These callbacks remain in xboard.c, and were altered to +access the edit through the option.handle field. + +2011-04-03 12:54:51 +0200 H.G. Muller : +Activate -path and -file options + +In XBoard the generic popup was prepared for this. In WinBoard, for +-path options the BrowseFolder routine is used, and had to be made +global (prototype in winboard.h). + +2011-04-02 18:40:33 +0200 H.G. Muller : +Let generic popup generate Engine Settings dialog + + +2011-04-02 18:36:09 +0200 H.G. Muller : +Merge SettingsPopUp into GenericPopUp + +Based on currentCps the values read from the dialog are sent to the +engine, or stored into the option.target in the callback, and fetched +from the option.target in the PopUp. The currentCps is cleared in the +generic popdown of a transient dialog. + +2011-03-06 10:11:06 +0100 H.G. Muller : +Make generic dialog popup reentrant + +To allow persistent dialogs to be implemented through the generic popup, +it must be possible to have several dialogs open at the same time, and +thus make sure the popdowns under the cacel or close-window button know +which one to pop down. To this end an array shells[] is created that +takes over the function of settingsShell, and GenericPopUp gets an extra +parameter telling it which element to use for storing the dialog shell. +This number is then also passed to the callbacks that trigger popdown. +This was a bit nasty for the CatchDeleteWindow stuff, which passes user +data to the callback as text strings. +Keep a separate up/down indicator, so that shell widgets can be kept +for persistent dialogs. Also keep a currentOption per dialog type. + The coordinates and size of the window is read out and stored in a +WindowPlacement structure, (if one is specified for that dialog), when +the dialog is popped down. When initialized the structure is also used +to set the window parameters when the dialog is created. (The idea being +that the structure was saved in the settings file.) + The routine MarkMenu checkmarks a given menu item, and logs it for the +given dialog type, so that a later popdown automatically unchecks is. + +2011-02-25 12:14:25 +0100 H.G. Muller : +Implement Machine Match menu item and options dialog + +An item to start a match from the menu is added, similar to what +WinBoard has. (The code is duplicated, so I guess it should be moved to +the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in +the Options menu was added with the aid of the generic popup, and allows +the user to set the load Game / Position File and Index. + +2011-04-01 14:54:26 +0200 H.G. Muller : +Create General-Options dialog + +The generic popup is used to implement a General-Options dialog, which +contains all Boolaen options that used to be set directly from the main +Options menu, plus a spin option for the flash count and flash rate. +The corresponing options are removed from the main Options menu, but the +whole thing is made conditional on a compiler switch OPTIONSDIALOG. +The dialog needs an OK callback for sending an altered ponder-state to +the engine. (Why isn't this option disabled in -ncp mode, btw?) +A spin control is added to adjust -animateSpeed between 5 and 100. +Add dropMenu and showTargetSquares item as well. + +2011-04-01 18:16:47 +0200 H.G. Muller : +Redo new-variant dialog with generic popup + +Some special code was added in GenericPopUp() to force buttons of the +type needed in the New Variant dialog (wide, colored, greyed-out on +variant type). The dialog was implemented with these, and callbacks for +the buttons directly exit the dialog, without the need for OK. New spin +controls are added to the dialog for adjusting the board format. + +2011-04-01 14:48:48 +0200 H.G. Muller : +Redo common-engine dialog with generic popup + +The ponder option was removed, as it is already in the main Options +menu, and would require nastiness in the OK callback. Added book options +in common-engine dialog. + +2011-02-24 13:32:01 +0100 H.G. Muller : +Redo adjudications dialog through generic popup + +We dropped the periodic-updates option, as it is already in the main +Option menu. + +2011-04-01 21:56:07 +0200 H.G. Muller : +Make sounds dialog for XBoard + +This uses the combo boxes. A 'play' button isimplemented for a test +sound. A sound directory is introduced, and can be set through the +dialog. A default setting for -soundDirectory is added to xboard.conf. + +2011-04-01 23:11:29 +0200 H.G. Muller : +Add ICS options dialog + + +2011-04-01 21:52:48 +0200 H.G. Muller : +Add board dialog XBoard + +The GenericPopUp() is used to implement a dialog for board options. The +board dialog needs to trigger redraw and redefinition of the +colors, through an OK callback. Color-pickers are used for the 6 basic +color settings. + To allow changing board settings during the session (i.e. from a menu +dialog), the routines to allocate resources have to free the resources +for the previous settings first. This patch take care of XtCreateGCs(), +preventing re-creation of resources that are unchangeable (such as the +grid color), and calling XtReleastGC() on GCs that can be changed. +To prevent resource leaks the old pixmaps are deleted before making new +ones on second or later calls of CreateXPMPieces(). + +2011-04-03 11:39:26 +0200 H.G. Muller : +Add browse button to generic popup + +Options of type FileName and PathName cause a browse button to be added +behind the text field. The SpinCallback is used to handle the +button presses, and invokes the file browser dialog to obtain a +filename, which is then copied to the text field. + +2011-04-01 21:49:26 +0200 H.G. Muller : +Make generic XBoard popup, and implement 2 dialogs + +The Engine-Settings dialog of XBoard was cloned to work on predefined +lists of (XBoard) options, rather than engine options. An extra field +was added to the Option struct, to hold a pointer to the XBoard variable +that should hold the option setting, so on OK'ing the dialog the altered +values can be copied there. Not usable for options which should trigger +an action (like redraw, or sending something to the engine). +A Load Game, Save Game and ICS Options dialog were then defined by +tables fed to GenericPopUp(). Options set from these dialogs were removed +from the main Option menu, which removes a lot of code from xboard.c +(for checkmarking, disabling the menu items). + A button defined in the GenericPopUp can attain the color indicated +by a previous text field, and add a callback to change the color in a +spin-like manner (but using R G B W in stead of + - butons). +The EndMark option can specify a callback, to be used on OK. +A non-zero max field in the Option descriptor will be used to set the +width of ComboBox, TextBox and Button optons. +The elements are chained such that extra space goes fully into the input +fields. A label type is added for clarifying texts that would not fit in +the option names. A break-type (pseudo-)option is added. Make OK and +cancel button suppressable in generic popup (by 2 bit of the option.min +field). + +2011-04-03 11:34:21 +0200 H.G. Muller : +Add file-browser option to just return name + +By passing mode "f" the file browser dialog will not open the selected +file at all, so it can be used to retreive the name for the benefit of a +file-browser button to a -file option. A mode "p" will limit the +selection to directories only, to browse for a path. + +2011-04-03 13:15:17 +0200 H.G. Muller : +Put insertion point at end of text on SetFocus + + +2011-04-05 23:47:34 -0700 Arun Persaud : +fixed 64 bit warnings by casting integers to intptr_t before casting to int + + +2011-04-05 23:24:24 -0700 Arun Persaud : +removed check and #includes for malloc.h, since it's not needed + +hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;) + +2011-04-03 20:23:49 -0700 Arun Persaud : +check if malloc.h is present before including it + +OS X 10.6 doesn't have malloc.h, so it complained. + +2011-04-03 20:01:36 -0700 Arun Persaud : +Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file + +removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file + +2011-03-12 14:08:50 +0100 H.G. Muller : +Fix display of promotion piece in ICS superchess + +In Great Shatranj and Superchess promoted Pawns were displayed as shadow +piece because these variants had holdings, while captured pieces should +go back into the holdings unchanged, rather than reverted to Pawns. + +2011-03-13 14:09:14 +0100 H.G. Muller : +Fix o-o castling in new parser + +The non-compliant notation of castling with lower-case 'o' should be +preferred over the non-compliant interpretation of moving a Pawn along +the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for +castling! So an exception is now made for the o-file in the 'fxg' +case. + +2011-03-10 19:27:41 +0100 H.G. Muller : +Implement yynewstr entry point in new parser + +This entry point, used for parsing an ICS move list, was forgotten, and +was still an empty routine. This made XBoard crash when observing an ICS +game. + +2011-03-07 23:11:00 -0800 Arun Persaud : +fixed wrong default for polyglotDir mentioned in docs. + +Thanks to Hans Aberg for reporting it. + +2011-03-05 12:39:01 -0800 Arun Persaud : +Fix "make install" on Os X10.6.6 (removed a "/") + +seems like an extra "/" made "make install" unhappy + +2011-03-03 21:19:05 -0800 Arun Persaud : +removed parser.l from build process, also removed flex dependency from configure + + +2011-03-02 22:14:57 +0100 H.G. Muller : +New parser, written in C + +A new parser was written to replace the flex-generated one. Immediate +improvements are that it understand double-digit rank numbers, and Shogi +coordinates. No changes were made in the Makefile yet to reflect the +new, flexless building procedure. + +2011-03-02 22:23:21 +0100 H.G. Muller : +Fix bugs in FRC castling rights + +When parsing a castling move in FRC when no rights existed, the parser +returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of +the absence of rights was not adapted to the new encoding NoRights in +stead of -1. + +2011-03-01 23:42:34 +0100 H.G. Muller : +Fix parsing bug of FRC castling + +The code that was supposed to intercept castling when no rights existed +in FRC was not adapted to the new encoding for this by NoRights, rather +than -1, and furthermore returned 0 (= EndOfFile) rather than +ImpossibleMove. Not sure if the former would manifest itself in any +way, but the latter seems bad. + +2011-03-01 23:32:25 +0100 H.G. Muller : +Fix two bugs in reading position diagram + +When reading a game without FEN tag, a position diagram is used to set +the initial position. This calls CharToPiece() with a '.' as argument, +because that is the position-diagram way to indicate empty squares. +altered CharToPiece() over time this would be recognized as the first +undefined piece or, more recently, the first piece without nickName, +which is a white Pawn. Now it returns EmptySquare again in that case. +A second problem was that for position diagrams in braces the brace was +not in the list of ignored characters, and would cause the reading to +get out of phase, so that the side to move was not recognized. + +2011-02-26 21:12:08 +0100 H.G. Muller : +Fix flipBlack option XBoard with board texture + +In XBoard -flipBlack is implemented by swapping white and black pieces, +because the Shogi bitmaps from XShogi are made that way. But the mask +used to cut out the whole in the board texture to fit the piece was not +swapped, both when drawing static pieces, as well as during animation. + +2011-02-25 14:38:21 +0100 H.G. Muller : +Improve repairing damage of arrow highlight XBoard + +With line gap the highlight arrow necessitated redrawing of the entire +board, to repair damage on the grid. This interfered with flashing of +pieces, which was only done on selective redraws. In stead of forcing a +total repaint we now just redraw the grid lines. + +2011-02-23 16:41:36 +0100 H.G. Muller : +Fix unintended translation in debug file + +The words "first" and "second" (cps->which) were sometimes used in +context that should definitely not be translated. (e.g. the indicator +for which engine printed/got the line in the debug file.) So translation +is now deferred to all uses in popups. + +2011-02-23 16:29:12 +0100 H.G. Muller : +Fix nps bug + +The nps settingwas tested for being > 0 in stead of >=0, so that the +case of CPU time was not properly handled. + +2011-02-24 19:06:27 +0100 Kamil Blank : +Added missing fclose() + +(tiny change) +Signed-off-by: Arun Persaud + +2011-02-20 16:12:19 -0800 Arun Persaud : +release of version 4.5.1 + +2011-02-20 16:10:16 -0800 Arun Persaud : +updated Changelog, NEWS, etc. + 2011-02-20 20:36:28 +0100 H.G. Muller : Fix two typos in option names in texi file