X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=ChangeLog;h=7e401480294fce392afa504106e9224f9c501a00;hb=v4.9.x;hp=b5b32f33a8248a1c4fe963a1209126f9ad2b58ea;hpb=d0d7caa02cdf810e913822aa822381b24afe7d6b;p=xboard.git diff --git a/ChangeLog b/ChangeLog index b5b32f3..7e40148 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,5482 @@ ChangeLog for XBoard/WinBoard (latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. ) +2016-07-31 20:46:54 -0700 Arun Persaud : +updated po/pot files + +2016-07-31 20:45:22 -0700 Arun Persaud : +new version number for release 4.9.1 + +2016-07-28 19:49:02 +0200 H.G.Muller : +Fix crash when logging out from ICS + +The patch that sent "logout" to the ICS on a fatal error backfired when +the 'fatal error' was a disconnect, and caused a crash on Mac. We now +suppress sending of this "logout" command in the disconnect case, +communicated in a kludgy way (by requesting exit status 6666). + +2016-07-28 14:24:27 +0200 H.G.Muller : +Defer book faking input move until ping balance + +The use of ping after editing a position had broken the book handling: +'go' would be sent in the same batch of commands as this 'ping', so that +in case of a book hit the book move selected on behalf of the engine +would be fed back to XBoard before the engine had the opportunity to +restore the ping balanceby sending 'pong'. Now the book move is fed +through ScheduleDelayedEvent(DeferredBookMove) rather than instantly, +when a MachineWhite/BlackEvent sets the engine playing. + +2016-07-26 22:04:14 +0200 H.G.Muller : +Fix setting up btm positions with 'edit' + +The kludge to put black on move through a2a3 only works when there is +a (normally moving) Pawn on a2. Otherwise the 'black' command has to be +used. But this did take the engine out of force mode. So now we send +another 'force' command after this 'black'. + +2016-07-22 09:12:36 +0200 H.G.Muller : +Fix bare King adjudication + +The increase of the number of piece types to 66 gave the BlackKing code +131, wich is > 127, so that using a signed char for it makes it < 0. +This cause the black King in the adjudication code to be seen as a white +piece. When black then checkmates with 2 pieces, only 1 piece is seen +(Q), and then assumed to be a bare King! Now the piece value is passed +through an (int) to prevent this. + +2016-07-17 23:53:17 +0200 H.G.Muller : +Fix check testing in games without King + +A position without King was always considered as in check (because of +Atomic), which is rather illogical and undesirable in games where no +King participates (as it makes every move illegal). + +2016-07-17 23:14:10 +0200 H.G.Muller : +Fix disambiguating Pawn moves in Xiangqi + +When multiple Pawns can go to the same square a move written as to-square +only is interpreted as the forward push, rather than a sideway move. + +2016-07-17 23:06:19 +0200 H.G.Muller : +Fix King leaving Palace in Xiangqi + +The rewrite of the move generator had overlooked this. + +2016-05-16 22:21:36 +0200 H.G.Muller : +Fix compile error Xaw build + +The variable initialSquareSize was not defined in the Xaw build, +and now has been moved to dialogs.h (which is part of both builds). + +2016-05-15 10:05:40 -0700 Arun Persaud : +updated po/pot files + +2016-05-15 10:03:04 -0700 Arun Persaud : +new version number for release 4.9.0 + +2016-05-12 15:49:26 +0200 H.G.Muller : +Forgotten header for previous patch + +2016-05-10 21:52:56 +0200 H.G.Muller : +Abbreviate DATADIR to ~~ while saving XB themes + +The path name of theme files is typically quite long in XBoard, where +installed data is very deep in the file-system tree. This path is now +recognized, and replacend by its abbreviation ~~ when storing a theme +in the -themeNames option. + +2016-05-10 20:46:49 +0200 H.G.Muller : +Fix crash on too-long theme definitions + +Long file names for texture and pieces could make theme definitions +so long as to overflow the buffers used to hold them. The buffer +size is now doubled. + +2016-05-10 20:29:37 +0200 H.G.Muller : +Fix debris after click-click explosion near board edge + +The redrawn grid was not exposed for board edges a knight's jump +away from an explosion square after a click-click capture in variant +atomic. This was due to the smartness in preventing overlapping +exposures of neighboring square, deferring the task to expose the grid +to squares that were beyond the edge. Now all squares in the explosion +range are exposed including grid. + +2016-05-10 20:26:56 +0200 H.G.Muller : +Fix highlights clearing when highlight last move off + +When moves are not highlighted, the selected piece still is. But +this highlight should be erased after the move. + +2016-05-10 19:42:09 +0200 H.G.Muller : +Fix redrawing of pieces dragged off board (bug #47888) + +The board was not redrawn after a piece was dragged off board, +leaving the piece 'invisibly' in its original position, and also +leaving the target squares marked. + +2016-05-09 07:36:39 +0200 H.G.Muller : +Describe new Edit menu items in texi file + + +2016-05-09 07:08:18 +0200 H.G.Muller : +Add Mute all Sounds menu XB + +XBoard now also has a menu item to mute all sounds (except the Play +button in the Sounds dialog) at the topof the Options menu, like WinBoard. + +2016-05-08 20:04:36 +0200 H.G.Muller : +Describe use of blue highlights in protocol specs + +The function of 'blue' markers, and the role of the 'choice' command +in this is explained in the CECP specs. + +2016-05-08 19:35:10 +0200 H.G.Muller : +Fix forgetting 'choice' command after promotion + +The promotion restriction specified by a 'choice' command is now reset +at the start of every new move, so that future promotion moves won't +use it too. In addition,the 'choice' command is ignored when legality +testing is on. + +2016-05-08 14:39:18 +0200 H.G.Muller : +Fix description of Tournament Options in texi file + +Some headers were not exactly equal to the dialog texts because of typos, +frustrating the help clicks. And matchPause was not described at all. + +2016-05-07 23:33:35 +0200 H.G.Muller : +Fix multi-leg promotions + +Two-leg promotions were sent as gibberish to the engine (and thus +rejected). It was also pretty annoying that XBoard's own idea of +what should be promotions was still applied even when highlighting +denied promotions (because the zone was different than assumed, or +a promotion-on-entry rule applies). Now the legality markers from +the GUI move generator are different from the red and yellow markers +from an engine highlight command, and the latter are taken as a denial +of promotion, and will suppress it. + +2016-05-07 22:10:34 +0200 H.G.Muller : +Erase markers before processing highlight FEN + +Markers from the Betza generator were only half-heartedly erased when +a color-FEN camein through a highlight command, because FENs tend to +skip empty squares in stretches. This was already fixed for the legal[][] +array, but now it is fixed for the markers itself as well. + +2016-05-07 12:13:09 +0200 H.G.Muller : +Fix saving of piece colors as part of theme + +The wrong condition was used for deciding of whether the piece-color +settings were relevant for a theme definition. + +2016-05-07 12:06:51 +0200 H.G.Muller : +Allow engine to force user to make non-standard promotion + +The engine can now force an unexpected promotion on moves entered +by the user, by marking the to-square of such a move in blue. +Releasing a piece on such a blue square will then defer further +processing of the move (after having send the 'put' command to the +engine) until reception of a 'choice' command to specify what the +piece should promote to. This solves problems in Maka Dai Dai Shogi, +where a piece capturing a contageous piece would only be allowed to +promote to its normal promoted form if the to-square was marked in +purple (offering a P / +P toggle). + +2016-05-06 07:42:55 +0200 H.G.Muller : +Fix saving theme + +The option -trueColors is now saved with the theme settings when a +pieceImageDirectory was given in XBoard, and the piece colors are +saved when this option is off even with a piece directory. The square +colors are now also saved when useBooardTextures is on, but the textures +are transparent. For this the transparency also had to be made visible in +the WinBoard front end, (by moving the flags for it to backend.c), but +always stay at the default 0 there. + +2016-05-04 15:18:34 +0200 H.G.Muller : +Fix deferral on sweep promotions + +When a sweep in the to-square due to a highlight-induced promotion +had left the original piece as choice, the piece would be considered +to promote to itself (i.e. the move would get the promoChar for its +piece type), rather than to not promote at all. Some engines choked +on this (HaChu). Now such a move is not considered a promotion. + +2016-05-01 21:41:40 +0200 H.G.Muller : +Implement -showMoveTime option + +A persistent option -showMoveTime can cause the time thought so far +on the current move to be displayed in the clock field, behind the +time left on the clock, in parentheses. + +2016-04-29 16:16:52 +0200 H.G.Muller : +Prevent crash on help-click for engine without manual + +The error message of "man w xxx" when no man entry for xxx exists +appears on stderr, which is not caught by popen(). As a result the +path to the man file gets set to an empty string, and saveStrCpy +is not so save that it can copy an empty string, but quits XBoard +through an ASSERT in that case. + +2016-04-28 14:36:54 +0200 H.G.Muller : +Allow engine to specify holdings larger than board height + +On reception of a 'setup' command we now automatically increase the +number of board ranks to the holdings size if the latter is larger, +but remember the number of added 'dead ranks'. When parsing a FEN these +ranks are blacked out, and on generating a FEN they are ignored. This +makes FENs behave like the board was not enlarged. + +2016-04-28 13:24:19 +0200 H.G.Muller : +Implement two-kanji -inscriptions + +When the -inscriptions option specifies a UTF8 string that starts with +the character '2', it will assume the symbols that follow have to be +drawn on the pieces in (vertically stacked) pairs of somewhat smaller +size than it would use for single-character inscriptions. An optional +'1' at the start of the string could be used as an escape to be used +when the first character we want to inscribe would be a '2'. + +2016-04-27 22:22:35 +0200 H.G.Muller : +Prevent sending empty line to engine after multi-leg move + +As the pmoves are stored internally with a linefeed suffixed to them, +this linefeed was mistaken for a promotion character in the multi-leg +printing formats, and led to an extra empty line being sent to the +engine on non-promotion multi-leg moves. Now a linefeed is replaced +by a null character before sending the move. + +2016-04-27 20:34:45 +0200 H.G.Muller : +Fix piece commands for promoted pieces + +The flexible partner assignment had broken the code for 'piece' +commands defining the moves for these pieces, as the promotion +partner was still calculated the old way. + +2016-04-25 18:31:22 +0200 H.G.Muller : +Fix dragged piece during promotion popup + +When dragging to a promotion square, the piece would keep 'hanging' +in the release position while the promotion popup was shown. +(This usually covered it, but not always.) As after a choice is made +the move will be animated, it was more logical to put it back on the +from-square. + +2016-04-24 22:34:06 +0200 H.G.Muller : +Add option -pgnTimeLeft to print clocks in extended PGN info + +When set a persistent option -pgnTimeLeft makes XBoard save the time +left after the move in the score/depth comments, rather than the time +thought about the move. A leading sign will allow the reader to +distinguish the two. The time is always printed in integer seconds. + +2016-04-24 21:10:06 +0200 H.G.Muller : +Fix EOF detection in PGN parser + +The result of fgetc was stored in a (char) before comparing it with EOF, +which fails badly if the char is not signed. + +2016-04-24 20:53:47 +0200 H.G.Muller : +Alter piece images in Spartan Chess + +The Captain of Spartain Chess is now represented by the new Tower piece, +so that the Crowned Rook pictogram can be (and is) used for the General, +for better uniformity with other variants. + +2016-04-24 20:30:38 +0200 H.G.Muller : +Regularize Chu-Shogi piece assignment + +The pieces in Chu Shogi have been reassigned to other internal codes, +so that juggling of images in variant cu is no longer needed. This +became possible by the flexible assignment of promotion partners. +It makes it easier to use Chu Shogi as parent variant without having +to worry about a non-stadard meaning of the -pieceToCharTable. +The built-in move generator had to be changed to work for the new +assignment. + +2016-04-24 14:00:50 +0200 H.G.Muller : +Allow group specification in ArgInstall options + +The option that add a line to the existing multi-line options +(e.g. -installTheme which adds to -themeNames) now can specify the +line should be added within a group, by prefixing the line with +"# GROUPNAME\n" (where \ and n separate characters). If a group of +that name already exists, the line to add is insert immediately after +the group header line. If not, the group is created, by adding both the +group header line and the line to add, as well as an "# end" line to +terminate the group. + +2016-04-24 12:30:14 +0200 H.G.Muller : +Save programStartTime in settings file rather than save time + +The -saveDate time stamp is used to decide whether XBoard has seen +options added to the master settings file before. But it looks only +to the master settings file at stratup. So when we save settings we +now put XBoards startup time as -saveDte in it, so that installs +when XBoard was already running would still find their way into the +user settings file. + +2016-04-22 11:37:58 +0200 H.G.Muller : +Also supply shortcut for start directory in GTK file chooser + +The first shortcut entry in the Places list is now created for the +directory in which XBoard started (which is $CHESSDIR if that was set). +This is suppressed if it would be a user home directory, as this would +already be in the list by default. + +2016-04-22 09:33:23 +0200 H.G.Muller : +Fix rounding when sizing 1x1 textures + +When 1x1 textures were sized to the actual square size, this could lead +to bitmaps that were 1 pixel too small, presumably because of rounding. +We now add 0.99 pixel to the desired size of the texture image before +calculating the scaling factor (in floating arithmetic) that has to be +passed to the cairo scaling routine, and this seems to solve the problem. + +2016-04-21 23:11:25 +0200 H.G.Muller : +Limit prefilling with color to textures with alpha channel + +When loading and preparing a texture we now test the format, and if +the image has an alpha channel we stay on the save side, and always +color the squares before drawing the texture. Only when the format +is not ARGB32 we skip the color fill. (And the default textures +do not have an alpha channel, so at least there no time will be +wasted on pointless color fills.) + +2016-04-21 22:47:18 +0200 H.G.Muller : +Fix confinement of Advisor in Xiangqi + +Ever since the move-generator rewrite the Advisor could leave the Palace! +Now it can only move in XQ as a normal Ferz when on the board axis, and +everywhere els it can only move to the axis one square from the edge. +This does not generalize in a natural way to larger boards or larger +Palaces. + +2016-04-21 22:14:00 +0200 H.G.Muller : +Allow transparency in board textures + +Rather than coloring the square evenly OR rendering a board texture +cutout we now always do both. Drawing the color will then erase anything +that was on the square before, which is expected behavior, and will then +remain visible where the texture is transparent. Before any transparency +in the texture would leave the old square content (pieces, arrows, +markers) visible. + +2016-04-21 19:09:00 +0200 H.G.Muller : +Make EditTags dialog non-wrapping + +As the data edited with this dialog (PGN tags, engine list, theme list, +book moves, ICS menu definition) is always tabular, wrapping the lines +is just confusing, and it is better to have an automatic hscroll in case +the lines are too long to fit. + +2016-04-21 19:02:05 +0200 H.G.Muller : +Make preview message in file-chooser title bar a bit clearer + + +2016-04-21 13:51:08 +0200 H.G.Muller : +Allow skipping to secondary series in -inscriptions string + +A slash in the UTF8 string of the -inscriptions option now will start +the inscriptions of the pieces from the secondary series. This allows +writing -incription values that will remain valid wehen new pieces would +be added to the end of the primary series. + +2016-04-21 11:44:32 +0200 H.G.Muller : +Commit forgotten prototype + + +2016-04-21 10:03:12 +0200 H.G.Muller : +Add menu item for editing ICS text menu + +An item Edit ICS Menu was added in the View menu, and will pop up +the Edit Tags dialog for editing the -icsMenu option that determines +how the ICS Text Menu will look. + +2016-04-21 09:26:39 +0200 H.G.Muller : +Add Edit Themes List menu item XB + +The Edit Tags dialog is now also used for editing the -themeName list, +with a menu item in the View menu to pop it up. + +2016-04-20 23:56:31 +0200 H.G.Muller : +Make preview resistent to nothing being selected + +The name of the selected file could be a null pointer, and ScaleOnePiece +does not like that for a pieceImageDirectory. + +2016-04-20 14:44:13 +0200 H.G.Muller : +Add option -jewelled to decide which King is a Zebra XB + +A new volatile option -jewelled is added, with default value -1. +When it is set to 0 the King image will be replaced by the Zebra image, +when it is 1 the same thing will happen to the black King. This color +testing will be done before the swapping of colors ordered by -flipBlack, +so that the color rather than the side of the (possibly flipped) board +decides which King is displayed as Zebra. (While the board side determines +whether a white or black Zebra will then be used in -flibBlack mode). +Shogi themes can use this by providing a Jewelled General as Zebra (a piece +that was not used in any Shogi variant). + +2016-04-20 11:51:56 +0200 H.G.Muller : +Point out preview in title of file chooser GTK + + +2016-04-20 11:31:35 +0200 H.G.Muller : +Fix sizing problem in i3wm tiling window manager GTK + +Apparently i3wm creates a window of different size than the requested one +without sending a configure-event that would allow XBoard to adapt its +board size. This is now fixed by triggering a first configure-event by +hand. The first resize had to no longer be suppressed to make this work. +(This was not needed anymore anyway, as the board size is now protected +during clock resize.) The -fixedSize option had also to be fixed. + +2016-04-19 20:49:03 +0200 H.G.Muller : +Let file chooser show preview of textures on board + +When browsing for a board texture or piece theme, selecting a file in +the browser will now cause immediate display of the board with that +texture or theme, which will revert if you cancel the choice. Or when +you accept the choice, but cancel the Board dialog. + +2016-04-20 23:49:26 -0400 Joshua Pettus : +Renamed shogi jewled pieces to zebra + + +2016-04-20 16:51:49 -0400 Joshua Pettus : +Update ru.po translation + + +2016-04-17 10:16:26 +0200 H.G.Muller : +Provide item-by-item description of ICS Chat in texi file + + +2016-04-17 10:13:38 +0200 H.G.Muller : +Provide help clicks on recently-used-engines menu items + +The items for recently used engines in the Engine menu are now recognized +as such, and will look for help on "Recently Used Engines" rather than +on the item text (which is the engine name). + +2016-04-17 10:05:39 +0200 H.G.Muller : +Use missing SVG from parent if -pid name starts with sub_ + +If the current piece-image directory's name starts with "sub_", any +pieces not found in it will be searched in the parent directory. +This allows variants that need just a few pieces of a theme changed +to get their own sub_xxx sub-directory within the directory with SVG +images, containing the deviating SVGs. This will work recursively. + +2016-04-17 09:32:40 +0200 H.G.Muller : +Fix one-click moving with engine-define and wild-card pieces + +In the disambiguation routine wild-card pieces were still treated as +special even when explicit moves were defined for them. In addition, +Disambiguate would try native XBoard piece motion for resolving ambiguous +moves, which is sensible for parsing SAN (which might be saved by an old +version of XBoard), but wrecks one-click moving. + +2016-04-11 20:44:27 +0200 H.G.Muller : +Improve resize/co-dragging GTK + +The reconfigure event of the main board is not processed directly, +but sets a timeout to call the actual handler, which will be restarted +when new reconfigure events occur during the timeout period. This makes +that the (very timeconsuming) redrawing and moving of all windows +will only be done if the stream of events dries up. + Unfortunately the ReSize routine called as part of the handling needs +to be interruptable, which can cause recursive calling of the reconfigure +handler. A variable 'busy' would ignore such recursion, but at the price +of missing the interrupting event completely. The attempted fix to set +a new timeout was flawed, as delayedDragTag would not have been cleared +at that point. So we threw it out. Now 'busy' is a counter, which will +remember if there were ignored recursion attempts, and then makes these +into a harmless tail recursion, to do the resize/drag once more, based +on the latest window parameters. + +2016-04-10 19:42:47 +0200 H.G.Muller : +Fix size collapse to 0 after too-small sizing + +The test for the end of the sizeDefaults list was one off, so that +a too-small size request would be rounded to a size just behind +the table, where there is an all-zero sentinel element. + +2016-04-09 23:40:54 +0200 H.G.Muller : +Also put themes and textures in file chooser GTK + +The themes and textures folders are now also directly listed amongst +the 'Places' shortcuts in the GTK file chooser. + +2016-04-09 22:47:18 +0200 H.G.Muller : +Add DATADIR as shortcut folder to file chooser + +The file chooser invoked by a dialog Browse button now puts XBoard's +DATADIR amongst the shortcuts in the 'Places' list, so you can navigate +there with a single mouse click. + +2016-04-09 20:12:26 +0200 H.G.Muller : +Fix browsing for folders, and allow starting in DATADIR + +The previous path seemed to cause a segfault when browsing for a folder +with an empty text-edit. In addition there existed a bug for browsing +from the Engine Settings dialog, where the value of the option was taken +as a filter. Both are fixed now. + The Option.textValue field, which for FileName Options holds the filter, +for PatName Options could be NULL or "". The latter is now taken to +mean that browsing should start in DATADIR, and is only used when +browsing for sound files or pieceImageDir with empty pathname field. + +2016-04-09 17:29:12 +0200 H.G.Muller : +Start button-activated browse near old field contents GTK + +The file chooser activated by Browse buttons for filling a File or Path +text edit started in the last directory it visited for that file type. +But for the initial browse after startup it started in the current +directory. Now it starts in the directory derived from the filaname +currently in the text edit, if there is one, and only in the last- +visited directory for the file type if the text-edit was empty. + +2016-04-09 16:30:20 +0200 H.G.Muller : +Extend full-board textures by periodic tiling (XB) + +Texture images with an -NxM suffix to their name are scaled to match +that number of squares before cutting squares out of them. But if the +actual board was larger than NxM the remaining squares fell outside the +image and remained white. Now the cutting area is mapped back into +the image, effectively behaving as if it is periodically tiling the +entire plane. + +2016-04-07 22:14:54 +0200 H.G.Muller : +Mention support for Arena960 protocol with USI/UCCI checkbox WB + +Normally the -uxiAdapter option would be configured to use UCI2WB, +and in the binary distribution of WinBoard it certainly will be. +As UCI2WB now supports the UCI dialect Arena uses to play Chess960, +people can use the USI/UCCI checkbox also for Chess960 engines that +use that protocol, and the checkbox label now points that out. + +2016-04-07 19:34:20 +0200 H.G.Muller : +Finish castling and e.p. rights for Edit Position + +In stead of faking rights based on corner positioning of Rooks and +e-file King, EditPositionDone now interprets the rightsBoard that +recorded 'promotion clicks' on King, Rooks or Pawns to toggle their +rights. This rightsBoard is initialized from the castling rights in +the position that is being edited, and the clear and piece-pallette +boards now also set these castling rights correctly. + +2016-04-06 18:22:46 +0200 H.G.Muller : +Describe Common Engine dialog item-by-item in texi file + +This had not been done yet, so that help clicks in the dialog did +not retrieve any help. + +2016-04-06 16:44:13 +0200 H.G.Muller : +Fix history/eng.out font setting on sizing and other bug + +The coord font was set with the historyFont value, and when a valid +font was taken from the fontTable, fontIsSet was not set. + +2016-04-06 16:08:24 +0200 H.G.Muller : +Apply fonts in 'other windows' after sizing + + +2016-04-06 15:45:11 +0200 H.G.Muller : +Store fonts changed by font dialog in fonts table + +The fonts table holds fonts per type and size that should be saved +in the settings file because they were either read from it, or explicitly +specified by the user on the command line. This now also holds for +fonts altered through the Fonts dialog, without waiting for the saving +of settings, because by that time the boardSize might already be different. + +2016-04-06 14:38:43 +0200 H.G.Muller : +Only save fonts that are not defaults + +When the font in use is a (size-adapted) default, we don't save +it in the settings file. + +2016-04-06 14:25:19 +0200 H.G.Muller : +Conditionally replace 'other-window' fonts on sizing + +Fonts not used in the main window (i.e. other than clock, coord and +message) are now also adjusted on sizing, but not when this would +mean replacing an explicitly specified font by a default one. +If we size to a boardSize for which a font was specified earlier, +we always switch to the latter, and if we were merely using the +default font for the old size we switch to the default font for +the new size rather than keeping it. + +2016-04-06 14:08:49 +0200 H.G.Muller : +Reset fontIsSet when sizing causes change to default font + +The array fontIsSet now tracks whether the fonts in actual use are +from a (possibly size-adapted) default, or were specified by an option +(also through a fontIsValid entry in the fontsTable) or the Fonts dialog. +For changing a font on sizing a subroutine is now used. + +2016-04-06 14:08:23 +0200 H.G.Muller : +Fix bold button fix + + +2016-04-06 13:03:38 +0200 H.G.Muller : +Lock board size when clock changes to two lines + +First writing in the clock widget will usually increase its height +because the clock font is bigger than default. And for two-line +clocks as used with logos this will even be more pronounced. This +did cause the extra size to be taken from the board, ending up with +a smaller square size than originally requested. Which again would +cause any font changes to be saved as belonging to that smaller board +size. So starting next time with the originally requested size (as +opposed to the saved board size) would then not use those fonts! +The board size is now locked during the first write to the clocks, +or writes that change the number of lines. + +2016-04-06 12:13:52 +0200 H.G.Muller : +Fix Bold button and application of commentFont + +Oops! The B button in the Fonts dialog had disappeared with the +suppression of the B(lue) button in the Board dialog! The comment +font was applied to the wrong widget in the Edit Comment dialog. + +2016-04-06 11:56:36 +0200 H.G.Muller : +Only adjust fonts that are actually changed + +OK-ing the Fonts dialog now checks which fonts have been changed, +and only applies those to the widgets that use them. In addition it +sets a flag to indicate that the changed font no longer is a default. + A bug that did not apply the gameListFont for preview is now also +fixed. + +2016-04-06 10:49:53 +0200 H.G.Muller : +Put fonts in font table in allocated memory after sizing + +To make it possible to change the font later it should always be +put in allocated memory. + +2016-04-06 09:38:56 +0200 H.G.Muller : +Fix explosion of clocks for large board size GTK + +When packing things in a hbox for getting them on the same row, +the hbox was made vertically expandable when the height of the first +element was requested > 80 (assuming it would be a text memo). At +square sizes > 81 the logos would require a height > 80, though, +and would be the first element on the logo + clocks row. This would +make them expandable, so that the window height would be equally divided +between board and logos (which again would leave preciously little for +the board). Now the expandability is reserved for TextBox Options only. + +2016-04-05 23:40:32 +0200 H.G.Muller : +Suppress menubar text clipping on resize in OSX App + +The menu bar is not in the window in OSX, so the menu texts should +always remain full length. + +2016-04-05 22:07:27 +0200 H.G.Muller : +Fix clipping of menu texts after sizing + +When tinyLayout = 0 the texts should not be clipped at all, rather +than to a single letter. + +2016-04-05 21:05:11 +0200 H.G.Muller : +Enlarge background of startup message + +Because of rounding of the character size the message width exceeded +the background for some square sizes. + +2016-04-05 20:23:12 +0200 H.G.Muller : +Adapt clock and message font after board-window sizing + +The clock and message font are now adapted to the new -boardSize value +determined after sizing of the board window. When a valid font for the +new size was already available (e.g. read from the settings file), it +uses that. If not it uses the hard-coded default font name. In both +cases a %d in the name is expanded based on the size-table indication +for that font. This makes the clock font adpat even without prior history. + +2016-04-05 20:19:21 +0200 H.G.Muller : +Prevent message text widening window GTK + +Removing the size request from the label widget of the message field +made the width of this field grow with the text displayed in it, and +with it the entire board window. This could be prevented by setting +an ellipsize mode for it. + +2016-04-05 18:52:32 +0200 H.G.Muller : +Pick -boardSize on window width rather than square size + +For boards with other than 8 files the squares will be scaled different +from what the sizeDefaults say, so that the font and menu clipping +determined by the latter will match the total board width. We now pick +the boardSize after sizing such that popup with an 8-wide board next time +would reproduce the board width. + +2016-04-05 18:40:05 +0200 H.G.Muller : +Adjust menu-text clipping to square size + +After window sizing has adjusted the square size the text on the menu +bar are now clipped to a length that would make the menu bar not exceed +the width of the board, similar to what is done at startup. + +2016-04-05 16:49:12 +0200 H.G.Muller : +Make user-adjusted board size quasi-persistent (GTK) + +After adjusting the board-window size the newly calculated square size +will be used to derive a new -boardSize for saving in the settings file, +by rounding it down to the nearest standard size. (But the size actually +used for display will not be rounded!) This will cause the board to pop +up with approximately the same size next time. The remembered initial +square size will also be adapted to the rounded value, so that the fonts +will start to apply to the new -boardSize as well on saving settings. +This will only be done if the old -boardSize value did not contain +commas (meaning it specified more than just square size). + +2016-04-05 16:36:15 +0200 H.G.Muller : +Unlock width requests in board window GTK + +The message field and clocks had a specified width to force them as +wide as the board irrespective of their text content. This prevented +the user to size the board window below the initial width. The size +requests are now removes after initial pop up, as they already were +for Graph widgets. This means the width of the window can now be +decreased, although we quickly run into the point where the texts +on clock or menu bar prevent further shrinking. (Which could only +be prevented by clipping the menu texts more, or decreasing the clock +font.) + +2016-04-05 14:32:54 +0200 H.G.Muller : +Adjust window height after clock-font change + +A routine LockBoardSize are added, and called to protect the board's +Graph widget from absorbing the height change pf clock and message field. +Enlarging these now forces the top-level window to expand, and after the +change we try to reduce this window size to tightly fit the board to +squeeze out empty area after shrinking. + +2016-04-04 12:04:36 +0200 H.G.Muller : +Fix help clicks in Engine Settings dialogs + +A previous patch had broken recognition of the .IX Item "..." lines. + +2016-04-04 12:00:57 +0200 H.G.Muller : +Ignore stderr when reading from man command + +BufferCommandOutput was using StartChildProcess also used for engines, +which combines the output from stdout and stderr on the pipe. On FreeBSD +"man -w" produces spurious error messages, however, which would append +to the path of the man file. To work around this we now use popen() +to collect the output of the man command during help clicks. + +2016-04-04 10:53:26 +0200 H.G.Muller : +Silence Clang warnings + +The assignment of the variant number to appData.variant was a real bug. +The signedness of EP_STATUS looked like one, but seemed to work in practice. + +2016-04-13 14:22:35 -0400 Joshua Pettus : +Update nl.po Translation + + +2016-04-10 08:32:47 -0400 Joshua Pettus : +Update es.po translation + + +2016-04-06 17:29:37 -0400 Joshua Pettus : +Update de.po translation + + +2016-04-05 23:59:50 -0400 Joshua Pettus : +Update fr.po translation + + +2016-04-05 15:11:25 -0400 Joshua Pettus : +Update zh_CN.po translation + + +2016-04-04 13:41:23 -0400 Joshua Pettus : +Update uk.po translation + + +2016-04-03 13:55:34 -0700 Arun Persaud : +new developer release; updated po/pot + + +2016-04-03 21:25:31 +0200 H.G.Muller : +Start implementing rights control in Edit Position mode + +Clicking on an already selected Rook or King will toggle its virginity, +displaying the new state in the message field. + +2016-04-03 16:28:42 +0200 H.G.Muller : +Fix erroneous use of @itemx + +The offending @itemx directives were changed to @item. This does mean +an unwanted empty line will appear above the corresponding headers. + +2016-04-03 10:23:49 +0200 H.G.Muller : +Save font settings based on initial square size + +Font settings were saved by the square size as it was at the time of +saving, which could have been altered compared to the reading of the +fonts from the settings file by interactive sizing of the window, or +by switching to a variant with other board dimensions. Now the initial +square size is remembered and used for this. +BEWARE: we might want to undo this when window sizing would affect font +selection, rather than just sizing the board. + +2016-04-02 19:12:22 +0200 H.G.Muller : +Let color-pickers start at current color + + +2016-04-01 22:01:40 +0200 H.G.Muller : +Use GTK color picker instead of R, G, B and D buttons + +By an awful hack in the generic dialog constructor ever Button Option +with the name R, G or B is now completely ignored, while Buttons with +name D will be replaced by GtkColorButtons. Instead of catching the +"clicked" signal these will respond to the "color-set" signal, invoking +a handler private to the GTK front end, which will set the color text +and colorof the reset button as the platform-independent handler of the +RGBD buttons would normally have done. +Unfortunately this had to use deprecated GTK2 stuff, as the recommended +GTK3 equivalents are not understood on Ubuntu 10.04. + +2016-04-01 16:34:15 +0200 H.G.Muller : +Use the official GTK font selector + +A gtk_font_button is now put in the Fonts dialog to allow selection +of a general font. The individual window fonts got a button marked * +to assign this font to them. To implement the selector button some +kludgy code had to be added in the generic dialog constructor, to +recognize these Button Options by name, and use the special GTK +widget to implement them, or assign an unusual callback. + +2016-04-01 11:13:27 +0200 H.G.Muller : +Describe Fonts dialog in texi file + + +2016-04-01 10:30:51 +0200 H.G.Muller : +Silence warning due to missing prototype + + +2016-04-01 10:28:22 +0200 H.G.Muller : +Fix translation of dialog texts GTK + +When using the Option names during the creation of GTK widgets, +the gettext macro _() was not applied to them, so they remained +untranslated even though they were marked with N_() in the Option +tables. + +2016-04-01 10:19:29 +0200 H.G.Muller : +Fix Xaw for font damage + +A dummy for ApplyFont is added in the Xaw front end to allow compiling it, +and the Fonts dialog refuses to pop up when it recognizes an X-font setting +for the message font, with an apology. + +2016-04-01 10:08:15 +0200 H.G.Muller : +Silence warnings + + +2016-04-01 09:50:46 +0200 H.G.Muller : +Replace coord font control for ICS font control + +In the Fonts the control to set the coord font is removed, as the Cairo +version currently ignores the -coordFont setting. Instead a control to +set the font in the ICS Console is added. As the fonts there are controlled +by tags, and would ignoe the global font setting of the widget, the font +tag is redefined through a kludgy call of AppendColorized with a NULL +string as text. This is now interpreted as a signalfor recreating the font +tag based on the current icsFont, which will then only be applied to +future messages. + +2016-04-01 09:13:51 +0200 H.G.Muller : +Let font entries show preview of their own setting + +The font settings are now applied to the text entries in the Fonts dialog +that control them, at popup of the dialog as well as when changing them +through the buttons. + +2016-04-01 00:46:37 +0200 H.G.Muller : +Add Fonts dialog + +A dialog is added to set the various window fonts, either by typing or by +operating buttons for Bold, Italic, or adjusting the point size. + +2016-03-29 21:23:41 +0200 H.G.Muller : +Add headers for <<, <, > and >> buttons in texi file + + +2016-03-29 21:20:51 +0200 H.G.Muller : +Fix help search + +The help search was ignoring the last character of the searched string. +Which almost neven mattered, except when the searched string was only +1 or 2 characters, like for the buttons in the button bar. + +2016-03-29 20:20:54 +0200 H.G.Muller : +Fix disambiguation for one-click moving + +The test in the DisambiguateCallback to ignore duplicate moves (as +sometimes generated by Betza descriptions) was only testing for the +same from square. This is good enugh if the to-square is always given +(as in SAN), so that moves with different to-square would always be +rejected anyway. But to determine if a piece has only a single move +we disambiguate with unknown to-square. So all moves but the first +of a piece would be ignored, making it always pass the only-move test. +We now test both from- and to-square, and only ignore moves that +have both of these equal to that of an already matching move. + +2016-03-29 16:33:30 +0200 H.G.Muller : +Fix exposing of premove highlight and move exclusion XB + +Now that drawHighlights does not trigger an expose event itself, it is +essiential that DrawPosition is called after every SetPremoveHighlight() +call. But it wasn't after entering a premove, and after a drag-drop move +exclusion the old position was not redrawn at all, leaving the dragged +piece 'floating'. + +2016-03-29 16:30:50 +0200 H.G.Muller : +Fix erasing of premove highlights XB + +The to-square premove highlight was not marked for erasure (but +the from-square was marked twice if the to-square higlight changed), +leading to accumulation of highlighted squares during PV walking. + +2016-03-28 22:31:13 +0200 H.G.Muller : +Describe New Shuffle dialog item by item in texi file + + +2016-03-28 22:24:20 +0200 H.G.Muller : +Fix New Shuffle Game dialog + +The insertion of the Fischer-castling option had broken the operation +of the 'randomize' and 'pick fixed' buttons. + +2016-03-28 21:56:32 +0200 H.G.Muller : +Describe -epd option in texi file + + +2016-03-28 21:44:13 +0200 H.G.Muller : +Describe divide-by-60 option of TC dialog in texi file + + +2016-03-28 21:37:52 +0200 H.G.Muller : +Suppress participation of second engine in EPD mode + +Starting the second engine, and initializng it for the next game in +TwoMachineEvent() is now suppressed in EPD mode, so that the latter +even works with a non-existent second engine. + +2016-03-28 09:56:38 +0200 H.G.Muller : +Also copy -sd from -fd when no second engine defined + +If the second engine defaults to the first, and the first needs to +be run in a specific directory, the second engine would not start +if we do not copy its directory too. + +2016-03-27 18:17:52 +0200 H.G.Muller : +Only let second engine default to first when of same type + +When the first engine is UCI, making the second engine equal to the +first without setting the corresponding protocol flag, is a certain +recipe for causing trouble. So copy the flag too. + +2016-03-27 17:27:30 +0200 H.G.Muller : +Change EPD reporting + +The individual positions now get "time: move" printed when solved, +and "move?" or "move???" when not solved (the latter when it was an +avoid move). The total time is now reported also, at the end. + +2016-03-27 13:21:52 +0200 H.G.Muller : +Clear total solving time at start of match + +When multiple EPD suites are launched interactively, the time should be +calculated separately for each of them. + +2016-03-27 12:59:36 +0200 H.G.Muller : +Allow a list of best moves in EPD + +All characters upto a semicolon (rather than space) are now read as bestMove +string. For checking the correctness of a solution all moves in this string +are parsed and compared. + +2016-03-27 12:02:01 +0200 H.G.Muller : +Internationalize EPD messages + + +2016-03-27 11:58:10 +0200 H.G.Muller : +Print average solving time of EPD suite + +The number of good solutions and average thinking time on them are +now printed in the 2nd engine-output pane. + +2016-03-27 11:22:41 +0200 H.G.Muller : +Fix determination of EPD solving time + +Repeating an already found solution would increase the solving time +like the repetition was the first good solution. + +2016-03-26 23:35:51 +0100 H.G.Muller : +Add more EPD code + +The -epd option now causes color assignment such that the first engine +plays all moves. Extraction of the bm field from the EPD is fixed, +and clearing of the second engine-output pane is suppressed. + +2016-03-24 23:46:01 +0100 H.G.Muller : +Add -analysisBell option to use move sound in analysis mode + +The persistent integer option -analysisBell can be used to let the +move sound play in analysis mode for every PV that arrives after the +dely (in seconds) it specifies has elapsed since the current analysis +search started. + +2016-03-24 17:25:44 +0100 H.G.Muller : +Fix crash on loading variant engine after changing variant + +The New Variant dialog did not store the variant name (and in fact +several other option values, such as nick names) in allocated memory, +but just by pointing to it, which made XBoard crash when the options +were parsed again (as part of an engine load), and it tried to free() +the old value. + +2016-03-24 16:15:47 +0100 H.G.Muller : +Fix variant switch on engine load + +When an engine was installed with an engine-defined variant, selecting +that engine through the Load Engine dialog did not properly switch to +the intended variant. Now doing this at the start of a game forces an +extra New Game event. This event now also remembers the name of any +unknown variant, in the hope the engine will define it. + +2016-03-24 14:40:06 +0100 H.G.Muller : +Describe Board Options dialog in texi file + +The Board Options dialog is described item by item, so that the help +clicks on it will work. + +2016-03-23 22:54:27 +0100 H.G.Muller : +Reorganize texi file + +For the help clicks to work universaly, it is necessary that all dialog +items are described separately, with headers exactly equal to the label +they have in the dialog. This is a first step in that direction. + +2016-03-23 20:25:40 +0100 H.G.Muller : +Allow help-clicks on Label Options with linefeeds + +Some of the LabelOptions in dialogs do have linefeeds. (In particular, +those in the Load Options dialog.) So we allow help clicks on them, +but add linefeed with the termination characters. Except that a leading +linefeed will be clipped off. + +2016-03-23 20:16:24 +0100 H.G.Muller : +Make sizing more robust (GTK) + +On sizing we now do not immediately replace the buffer canvas, but set +a flag in the Graph Option to indicate the canvas is invalid. Instead +of taking the canvas handle from a global variable (csBoardWindow) we +now obtain it in every drawing call from a function, which first tests +if the canvas is still valid. If it is not, we replace it by one of +the size specified in the Option (which was obtained from the window +size the moment the flag was set). + The GraphExpose requests now bypass the general GraphEventProc, by +calling the drawing of the exposed area (which was relocated to a +separate function) directly. This avoids the overhead of checking for +resizing through requesting the window geometry. + +2016-03-23 11:07:43 +0100 H.G.Muller : +Improve behavior of secondary board on sizing main window + +Resizing the main window now immediately orders corresponding resizing +of the secondary board window, plus an immediate redraw, rather than +waiting for a move to occur on that board. + +2016-03-22 22:37:24 +0100 H.G.Muller : +Prevent FICS bell character fro printing in ICS Console XB + +FICS sends bell characters (ascii 7) at the start of many messages. +We now strip a leading bell off the message before appending it to +the text memo of the ICS Console, and ignore the message altogether +if it was just bell + linefeed (to prevent each move of an observed +game adding an empty line). + +2016-03-22 20:59:51 +0100 H.G.Muller : +Fix erasing and exposing of arrow on secondary board + +For the second board the damage flags set for exposing a freshly drawn +arrow are left for the next draw to erase that arrow again. + +2016-03-22 15:40:28 +0100 H.G.Muller : +Remove debug printf + + +2016-03-22 15:38:00 +0100 H.G.Muller : +Pop up warning when engine manual is not available + +Help clicks on the engine dialog pop up a warning when the manual is +not found. It seems useful to alert the user that this info has to +come from the manual of the engine' rather than XBoard's. + +2016-03-22 15:10:43 +0100 H.G.Muller : +Add -men option for changing piece moves + +A volatile string option -men allows the user to change the moves of +the pieces from the command line similar to what the VariantMen tag +does from a PGN file. Using the New Variant dialog resets the option. + +2016-03-22 14:56:10 +0100 H.G.Muller : +Add -fen option + +A volatile string option -fen can now be used to set the initial position +of the initial variant through the command line, removing the need to +prepare a position file for this. Otherwise the effect should be the same +as when using -lpf: New games will be started from the specifoed positon +until the New Variant dialog is used. The position is 'auto-sizing', i.e. +the FEN is used to set the board geometry as well. + +2016-03-22 12:04:12 +0100 H.G.Muller : +Make startup announcement self-disappearing + +The startup message is now configurable through an option -startupMessage, +and the master config file sets this to announce the help clicks. +The message can contain multiple lines. The display of lines that are a +sub-string of the option -messageSuppress is suppressed, however. +Using a help-click sets this latter option to the help-click announcement, +so that people who have used help clicks won't see this message anymoe. +Displaying the startup message is now only considered on board draws +that ordered a full repaint. + +2016-03-22 10:36:09 +0100 H.G.Muller : +Forget piece redefinitions before loading game + +The effect of a VariantMen tag in a previous game of the same file +was also applied to later games that did not have such a tag. + +2016-03-22 09:41:44 +0100 H.G.Muller : +Prevent crash on loading empty game file + +The parser code is made resistant to loading a file with 0 characters in it. + +2016-03-21 23:50:46 +0100 H.G.Muller : +Silence warning WB + +No prototype for SendToICS was in a sufficiently shared header. + +2016-03-21 23:44:29 +0100 H.G.Muller : +Fix replay of multi-leg move + +Replaying multi-leg moves made the moving piece reappear on the +from-square during continuation legs in WinBoard. + +2016-03-21 23:39:40 +0100 H.G.Muller : +fix2 + + +2016-03-21 23:37:24 +0100 H.G.Muller : +fix + + +2016-03-21 22:30:00 +0100 H.G.Muller : +Implement 3-leg animation in WinBoard + +Move animation in WinBoard now also pays attention to the kill2 square. +Besides a bug was fixed that made the animated piece re-appear on the +from-square during the second leg, and the victimes are made to disappear +when the animated piece passes over them. + +2016-03-21 21:51:50 +0100 H.G.Muller : +Move dataDir definition to args.h so WB can also use it + + +2016-03-21 20:24:06 +0100 H.G.Muller : +Fix exposure of square highlights + +The exposure of highlighted squares assumed the line gap was 1 pixel, +and thus failed for wider grid lines. + +2016-03-21 13:16:46 +0100 H.G.Muller : +Fix built-in Lion move + +The 3-leg patch had uncovered a latent bug in the built-in move generation +for Lions/Falcons/Eagles, which would qualify moves as FirstLeg even when +the kill-square was already set. + +2016-03-21 12:25:02 +0100 H.G.Muller : +Repair flashing of moved piece (XB) + +The flashing was not working (at least in GTK), because the redraw of +the square needed even processing to show something. So the draw/erase +loop that does the flashing needs to call DoEvents() to make things +visible. This however could lead to recursive processing of LeftClick, +as the press of a click-click move already enters the move and starts +the flashing, so that the release usually comes before the press +processing has finished. Which would cause it to be interpreted as +a second move identical to the first. A static flag inside LeftClick +now makes it ignore clicks during flashing, which is just what we had +to do with the release anyway. Flashing should be suppressed during +sweep-selection under-promotion. + +2016-03-21 11:33:55 +0100 H.G.Muller : +Streamline XBoard board drawing + +XBoard was drawing in a very inefficient way. To improve efficiency +alteration of highlights will not immediately be exposed, but be +marked as damage so that a subsequent DrawPosition call will show them. +Squares touched by a to-be-erased arrow will be treated likewise. +The drawing now has three passes: repairing damage (which erases +highlights and arrow), emptying the from-square, and drawing new +pieces and highlights. + +2016-03-21 11:14:54 +0100 H.G.Muller : +Improve board drawing + +The erasing of target-square markers could lead to flashing of the +moved piece. It was also ugly when the piece was slipped under a marker. +The actual display of the marker change on erasing can now be deferred +to a later position draw, and this is used when erasing after a drag-drop +move to do it after the move was accepted (so the piece would not be +flashed on the from-square, but still displayed without marker on it +after the drop). For click-click the erasure is shown before animation +starts. A problem with showing deselection when target-square marking +was off is now also fixed. + +2016-03-17 22:13:28 +0100 H.G.Muller : +Cleanse help texts of some common TeX escape codes + +The TeX escapes \s-1, \s0 around all-capital words, \*(L, \*(R for +distinguishing left/right quoting, a mysterious \& and a \ in general +(e.g. for \- as forced hyphen) occur quite often in the man-page text. +They now no longer clutter the help popups. + +2016-03-17 12:04:27 +0100 H.G.Muller : +Also provide help on adapter options + +Adapters often add their own options to thoso of the engine in the +Engine Settings dialog. Polyglot, for instance, has many options, +their names all starting with "Polyglot ...". We adopt this as a +convention, so that XBoard can compare the adapter name (the name +of the program actually run, if that is different from the name +of the engine binary) with the start of the option name for which +help is requested. If there is a match it will conclude we are dealing +with an adapter option, and will consult the adapter manual (for an +option without the adapter-name prefix) instead of the engine manual. + +2016-03-17 11:32:02 +0100 H.G.Muller : +Also buffer engine man page + +The path to the engine man file, and possibly its unzipped text, are now +also buffered, together with the name of the engine they are for, so that +they can be re-used when the engine has not changed. + +2016-03-17 00:01:25 +0100 H.G.Muller : +Also recognize .IX lines in man file for help clicks + +Beside .B and .SS directives, which tend to mark item headers in the +XBoard manual page, ".IX item" lines are now also recognized. +Such lines are produced by pod2man for =item directives in the .pod file. + +2016-03-16 14:40:33 +0100 H.G.Muller : +Implement XBetza iso modifier + +An 'i' modifier on a continuation leg will force it to be of equal length +(measured in steps) as the latest sliding leg (i.e. of maximum length != 1) +before it. This is useful for defining rifle captures of sliding pieces. +On initial legs it still means the move is for virgin pieces only. + +2016-03-15 15:15:29 +0100 H.G.Muller : +Allow access to gzipped man files + +For *.gz man files we run gunzip to buffer the unzipped version in +memory. For engines this buffer is not saved, because the engine might +change. (A bit course...) + +2016-03-15 12:36:49 +0100 H.G.Muller : +Fix reading of long man files + +The low-level read call to read from the spawned process did not +always return as many characters as we asked for, so we now use fread. + +2016-03-15 11:29:35 +0100 H.G.Muller : +Obtain name of XBoard's man file from external command + +Rather than hard-coding the path to the man file, it is now obtained +by running "man -w xboard". + +2016-03-15 11:08:04 +0100 H.G.Muller : +Add routine to run daughter process and collect its output + +The routine BufferOutputCommand can run an arbitrary command in a +separate process, and collects its output in a buffer of the requested +size. It will kill the process when it doesn't terminate spontaneously, +and return the allocated buffer. + +2016-03-22 20:56:08 -0400 Joshua Pettus : +Update es.po translation + + +2016-03-19 00:03:20 -0400 Joshua Pettus : +Mark the gtk browse button for translation + + +2016-03-18 16:45:16 -0400 Joshua Pettus : +Update nl.po translation + + +2016-03-16 20:58:07 -0400 Joshua Pettus : +Update fr.po translation + + +2016-03-16 20:56:42 -0400 Joshua Pettus : +Update de.po translation + + +2016-03-15 23:00:17 -0400 Joshua Pettus : +Update zh_CN.po translation + + +2016-03-15 22:54:36 -0400 Joshua Pettus : +Update uk.po translation + + +2016-03-14 19:36:44 -0700 Arun Persaud : +configure.ac: add pangocairo to list of needed libraries + + +2016-03-14 15:18:18 +0100 H.G.Muller : +Display message on the board at startup + +Drawing the board in the first second of running will display a short +message on top of it, to alert the user to the help-click possibility. + +2016-03-14 15:07:08 +0100 H.G.Muller : +Fix expansion of ~~ in OSX App + +The ~~ expansion was still using the configured DATADIR rather than +the dynamic one. + +2016-03-14 13:59:02 +0100 H.G.Muller : +Print dynamic Datadir/Mandir on --show-config + +Instead of printing the directories from the congigure process, +we print those actually in force, so that the info is valid in the +OSX App (which changes it) too. + +2016-03-13 23:25:11 +0100 H.G.Muller : +Use dataDir/manDir variables always + +The DATADIR and MANDIR string constants obtained from the configure +process are now stored in variables, which are then used everywhere +instead of them. The OSX App overwrites these variables, so the +directory location can be made dynamic. + +2016-03-13 10:34:08 -0700 Arun Persaud : +new developer release; updated po/pot + + +2016-03-13 10:51:49 +0100 H.G.Muller : +Uncomment line commentized for debugging purposes + +The call attaching help clicks to Label Options was still commented out. + +2016-03-13 09:21:43 +0100 H.G.Muller : +Fix popdown of Error/Help dialog through window-close button + +Closing an Error popup that was a daughter of another dialog (as Help +dialogs would often be) through the window-close button instead of 'OK' +would permanently block popdown of the parent dialog, because the info +that the Error dialog was still up would not have been reset by the Error +dialog's OK function. GenericPopDown now calls the OK function of such +a dialog (actually FatalDlg) even on a REJECT response. + +2016-03-12 23:32:00 +0100 H.G.Muller : +Make help clicks resistent to NULL-pointer Label names + +This should be needed, but just in case... + +2016-03-12 23:30:20 +0100 H.G.Muller : +Silence two warnings + + +2016-03-12 16:51:44 +0100 H.G.Muller : +Make help clicks also work for UCI engines + +The help clicks were using the engine command to find the manual, +but this would not work for engines with parameters or using adapters. +Now it used the -fcp/scp arguments, and tidies these to stripp off +directory path and arguments. (cps->tidy could not be used, because +it is overwritten by the name reported by the engine itself, which +usually contains version numbers not in the manual name.) + +2016-03-12 16:41:38 +0100 H.G.Muller : +Make location of man file dynamic for OSX + +MANDIR is redefined in the case of an OSX App to be a variable, in a +similar way as DATADIR, so it can be determined at startup, and the App +can be 'portable'. The way to concatenate it with the rest of the file +name hd to be made variable-proof. + +2016-03-12 14:33:05 +0100 H.G.Muller : +Suppress empty label at top of Edit Tags dialog + +There is a Label Option above the text memo of the Edit Tags dialog +that can display a message, but it is only used in cmail mode, and +is passed as a NULL pointer otherwise. (On which GenericPopup then +crashed when it wanted to attach a help click.) Now we simply suppress +display of that widget when there is no message. + +2016-03-11 23:43:48 +0100 H.G.Muller : +Also try to get help for engine options + +Help clicks in the Engine Settings dialogs will try to scan the man page +of the corresponding engine for info about the option. This is a bit +tricky, as it must assume the name of the engine is the same as that +of the engine command and the manual for it is in section 6. In addition +it must look in both /usr/share/man and /usr/local/share/man, as it cannot +know whether the engine was installed from source or repo. Finally it +must hope the man page isn't gzipped. + +2016-03-11 16:59:41 +0100 H.G.Muller : +Fix recognition of .SS lines in manual + +The logic for recognizing .SS headers was reversed, and .SS lines were +also not tested for to decide whether display should end. + +2016-03-11 16:54:25 +0100 H.G.Muller : +Let configure supply path to manual file + +A new macro MANDIR is passed fro the configure process to the compiler +in a -D option to inform XBoard where to find its manual page. + +2016-03-11 15:54:45 +0100 H.G.Muller : +Fix segfault on single-line help text + +The help text itself is displayed in the ErrorPopUp as a label, +and allowing help clicks on a label would apparently trigger some +nfinite recursion of event handlers. Making labels in the ErrorDlg +not sensitive to help clicks solved this. + +2016-03-11 15:19:13 +0100 H.G.Muller : +Mention item in title bar of help dialog + + +2016-03-11 15:02:21 +0100 H.G.Muller : +Make dialog labels and comboboxes also accept help clicks + +Combobaoxes and bare labels had their own code for creating the label, +nd were not yet made sensitive to help clicks. (Which is a bit cumbersome, +as GTK does not allow attaching callbacks to label widgets, so that you +have to wrap them first into something that does.) The bare labels could +furthermore already have a callback specified (used for the clocks); +in this case, and the case of multi-line labels, no help handler is +attached. + +2016-03-11 14:25:19 +0100 H.G.Muller : +Do not save ICS password in command history + +Blanking out the password while typing it would have little effect if +the arrow keys could recall is. So we don't save any lines in the +history when echo is off. + +2016-03-11 13:46:55 +0100 H.G.Muller : +Fix file-type combobox of Xaw file-selector dialog + +The list of combobox labels got out of phase with the list of values +after 'Images', because the value for the latter was missing. + +2016-03-10 16:28:52 +0100 H.G.Muller : +Allow hyphen in name of help item + +Some dialog items have names with hyphens in them, such as 'Auto-save', +and these would all be confusedif the true name was taken to end before +the hyphen. + +2016-03-10 13:03:55 +0100 H.G.Muller : +Suppress echo of password in ICS Chat window (GTK) + +The GTK version uses the set_visibility GTK call to switch echoing +of the ICS input widget. In Xaw this is a dummy. EchoOn/Off had to +be moved to dialogs.c for this. + +2016-03-10 10:41:07 +0100 H.G.Muller : +Fix popdown of menus on help click + +Because menus by default also react to button3 clicks, using those +clicks for help popup needs to suppress the default action. But this +action was also reponsible for the popdown of the menu, so that it +stayed up, covering the help dialog. Now we do allow the default action, +but flag to the generic menu handler that it should not execute the +menu function. + +2016-03-09 23:15:22 +0100 H.G.Muller : +Implement rough help popup + +A routine is added that searches a given text header in the man file, +and then displays the following text until the next header (after +skipping additional headers that come before any text) in a message +box. The text uses a simple fill and wrap to line length > 80, and +ignores all control characters, except empty lines. Both .B and .SS +directives are recognized as headers. + +2016-03-09 17:47:55 +0100 H.G.Muller : +Implement help clicks + +A button3 click on the text labels of text-edit, spin, checkbox and +button controls, as well as menu items, now pops up an alert box +with the name of the clicked item. This as a first step to making an +interactive help that would use that name to look up information on the +item in the texi file, and display that. + +2016-03-09 10:53:35 +0100 H.G.Muller : +Logout from ICS after fatal error + +Exiting of XBoard after a fatal error such as crashing of the engine +could be delayed by popping up an exit message, which then had to be +confirmed first. This would leave XBoard in zippy mode open for new +challenges, which it would even accept, and lose by forfeit. Now +we send a 'logout' command to the ICS before popping up the exit +message. + +2016-03-09 09:44:45 +0100 H.G.Muller : +Deprecate -defaultPathEGTB option + +The value of the -defaultPathEGTB option is now automatically cleared +at startup, after appending it as "nalimov:" format to -egtFormats. +We also no longer preconfigure a (dummy) value for -defaultPathEGTB, +but instead one for -egtFormats, (which will show up in the EGT path +field of the Common Engine Settings dialog now -defaultPathEGTB is +empty) to serve as an example for the syntax of -egtFormats. + +2016-03-08 23:26:57 +0100 H.G.Muller : +Make EOF error conditionally non-fatal (XB) + +When the ICS Chat window is open, an EOF fromkeyboard is ignored. + +2016-03-08 23:26:05 +0100 H.G.Muller : +Fix braces problem in texi file + + +2016-03-08 21:55:13 +0100 H.G.Muller : +Describe ICS Text Menu in texi file + + +2016-03-08 20:41:41 +0100 H.G.Muller : +Fix WinBoard compile errors + + +2016-03-08 20:36:56 +0100 H.G.Muller : +Fix dressed-letter IDs in VariantMen PGN Tag + +Due to sign extension the ID suffxes would never be printed. + +2016-03-08 20:11:37 +0100 H.G.Muller : +Make texi file sub-section free + +Because the sub-sections did not work, all subsections (which occurred +mainly in the Options Menu section, to describe the various menu dialogs) +are now upgraded to sections. + +2016-03-08 19:20:06 +0100 H.G.Muller : +Describe choice command in protocol specs + + +2016-03-08 19:14:05 +0100 H.G.Muller : +Improve highlight-arrow pointing and fix its erasure + +The code to calculate whether the arrow shoud endnear an edge or corner +of the to-square was buggy, leading to orientation-dependent decisions. +In addition the damage trace wasnot exactly following the arrow, so that +sometimes parts of the arrow were not displayed or erased. + +2016-03-08 17:20:21 +0100 H.G.Muller : +Improve triple-leg-move animation + +When both locust squares (kill and kill2) are set, animation now takes +place in three stages. As kill2 is not retreived when stepping through +the game history, this works only for moves just entered or played by +the engine. Replayed moves are still animated in 2 stages, though, which +does look pretty good on 2-out-1-in moves. + +2016-03-08 11:51:29 +0100 H.G.Muller : +Implement triple capture + +Moves can now have two locust squares (and promote even when they are +locust captures). This applies to move entry (but only through click- +click; buttonless dragging does not yet work), as well as sending or +receiving from engine, and generating and parsing SAN. + +2016-03-07 16:16:17 +0100 H.G.Muller : +Allow use of context menu in text memos GTK + +Attaching a user handler for button3 events to text memos would suppress +the normal context menu, so you could copy/paste in those only through +the keyboard. Now a button3 event while there is a non-empty selection, +or through a click behind all text, will pop up the normal context menu. + +2016-03-07 13:46:50 +0100 H.G.Muller : +Show moves in Edit Book window as SAN + +The opening moves in the GUI book for the current position shown in the +Edit Book window are converted to SAN before showing them, when they have +the simple form fromSqr toSqr promoChar. (This excludes drop moves and +double moves.) + +2016-03-07 12:26:07 +0100 H.G.Muller : +Cleanup Edit Tags/Book/EngineList a bit + +The Tags dialog is also used for two other functions, and this hack +causes some problems. This patch ameliorates these a bit. The Edit +Engine List now displays its own title (instead of "Tags"), and popping +it up pops down which other function was in use first. (Unfortunately +this can result in data loss for uncommitted changes.) The name of the +"save changes" button has been changed to "commit changes", to suggest +less strongly that a change in the Engine List would be immediately +saved to file (which in reality requires Save Settings Now as well). + +2016-03-07 11:50:21 +0100 H.G.Muller : +Make OK and Cancel buttons appear in top-level dialogs GTK + +The OK and Cancel buttons are created in GTK as part of the +dialog_with_buttons call, but to get top-level windows another call +had to be used, which does not automatically provide them. +We now explicitly add the buttons as requested by the EndMark Option, +paying attention to the SAME_ROW requests. (The code for that is currently +a bit messy, as one suspects that the cumbersome testing on Option.type +was done exactly to make the SAME_ROW request of EndMarks ignored.) +The GTK "clicked" signal is translated to a "response" in a kludgy way, +through a PopDownProxy routine. + +2016-03-06 23:52:06 +0100 H.G.Muller : +Fix spurious clearing of Engine Output during PV walk + +Due to messing with forwardMostMove during PV walking the Engine Output +panes couldbe cleared when a new PV arrived. + +2016-03-06 23:45:54 +0100 H.G.Muller : +Prevent out-of-turn grabbing of piece in analysis mode + +In Analyze modeit was possible to grab pieces for dragging of the side +that did not have the move. + +2016-03-05 22:59:14 +0100 H.G.Muller : +Fix parent dialog of Error Popup + +If the parent dialog of the Error Popup is wrong, the OK button in it +will not manage to pop it down. Migrating the Tourney Options to their +own DialogClass had changed testing for a parent other than the board +window from TransientDlg to MasterDlg, but Toerney Options was not the +only such dialog throwing up errors. (E.g. New Variant coulddo it too.) +So we now test if MasterDlg or TransientDlg is up, and use those as +parent if they are. + +2016-03-05 22:42:33 +0100 H.G.Muller : +Beef up variant detection in New Variant dialog WB + +In WinBoard the enabling of radio buttons was still done when the +variant nameon the button was a sub-string of the variants feature, +without requiring a match of the full name (so that 'grande-acedrex' +would enable the 'grand' button of Grand Chess). + +2016-03-05 22:33:07 +0100 H.G.Muller : +Fix crash in New Variant dialog Xaw + +The earlier patch to beef up variant recognition couldnot handle it +that some buttons has -1 as variant value. + +2016-03-05 09:02:11 +0100 H.G.Muller : +Remove warning from About box against GTK build + +It was still mentioned that the GTK build is unstable. + +2016-03-03 11:11:07 +0100 H.G.Muller : +Suppress underscores in Xaw menus + +The underscores that indicate shortcut keys in GTK menu items were +showing up in the Xaw menus. Now we remove them when creating the menu +button. + +2016-03-03 10:40:17 +0100 H.G.Muller : +Fix another Xaw compile error + +This is what you get when changing code without testing if it at least +compiles... + +2016-03-02 23:42:43 +0100 H.G.Muller : +Silence warning + +Conversion to use of strncpy had led to the length of a (char*) being +tested, and atypically we got away with that so far because the copied +string was only 2 characters long. Now we use length limit 4, which also +renders the use of strncpy instead of strcpy useless, but at least +does notproduce a warning. + +2016-03-02 23:39:37 +0100 H.G.Muller : +Fix recognition of title in small layout + +The title handle was set based on invalidation of Options by making +their type -1, while this nowadays is done by setting them to Skip +(as enum types are unsigned). + +2016-03-02 23:27:59 +0100 H.G.Muller : +Fix compile error in SetComboChoice Xaw + + +2016-03-02 15:18:58 +0100 H.G.Muller : +Fix crash on changing piece directory + +The loop for deleting the old pieces in ActivateTheme was still assuming +the four promo-Golds were stored behind the normal set, which for the +new piece ordering isn't the case anymore. + +2016-03-02 11:14:36 +0100 H.G.Muller : +Fix black border around saved diagrams (WB) + +The 'Save as Diagram' function of WinBoard produced bitmaps with a black +border, because the buffer bitmap used for drawing the board (which was +flushed to file to create the diagram) had a size larger than the board, +including somemargins of the main window. Now we copy it to a board-sized +bitmap first, and flush that. + +2016-03-01 21:09:49 +0100 H.G.Muller : +Preserve flip on pasting game when auto-flipView is off + +Normally starting a new game would restore the orientation as given by +the -flipView option on the command line, which might flip the view even +when -autoFlipView is off. A new game started through Paste Game now +always preserves the current orientation when -autoFlipView is off. + +2016-03-01 20:39:55 +0100 H.G.Muller : +Describe engine grouping in texi file + +The paragraph on the Edit Engine List menu item now contains a description +of the method for organizing engines in groups by adding "# GROUP" and +"# end" lines. + +2016-03-01 10:35:11 +0100 H.G.Muller : +Add 'divide by 60' checkbox in Time Control dialog XB + +The TC could not be set to fractional minutes (base time) or seconds +(increment) in the GTK version, as the spin controls there do not allow +you to type such numbers. An added checkbox 'Divide entered times by 60' +allows you to enter base time in seconds, and increment in 1/60 sec. +The dialog always pops upwith this checkbox unticked. + +2016-03-05 16:30:45 -0800 Arun Persaud : +updated copyright for 2016 + + +2016-03-05 13:03:04 -0800 Arun Persaud : +fixed configure script: GTK default was enabled even with --with-Xaw + + +2015-10-26 23:08:31 -0700 Arun Persaud : +update Russian translation + + +2016-02-29 22:54:44 +0100 H.G.Muller : +Print score with same sign in message and engine output + +There are two options that affect the score POV (always or analysis only), +but they were only working on the score in the Engine Output window, and +not in the message field of the board window. Now they work for both. + +2016-02-29 22:24:31 +0100 H.G.Muller : +Fix bugs in previous 3 commits + +The commits before this were pushed a bit prematurely, inspired by +the wish tosee if I could push from my new laptop. + +2016-02-29 14:24:11 +0100 H.G.Muller : +Add configure-options section to texi file + +The options data, saveDate, addMasterOption, installEngine, installTheme +and autoClose are now described in the manual. + +2016-02-29 13:15:47 +0100 H.G.Muller : +Update texi file + + +2016-02-29 12:53:57 +0100 H.G.Muller : +Add -installTheme option + +A new option of type ArgInstall is added, which will add its argument +to the -themeNames list (under the usual restriction it is not already +in there, and that it was not seen before). By appending such a (time- +stamped) option to the master settings file with -addMasterOption, +newly installed themes can be made to trickle their way into the user's +private settings file. All the theme package has to is call XBoard with +the applicable -addMasterOption "-installTheme ...." arguments in its +install script, and copy any associated files to XBoard's datadir. + +2016-02-28 12:01:40 +0100 H.G.Muller : +Fix disappearance of premoved piece + +When a premove was done by dragging, (which for expected recaptures would +be the only way, as click-click moving selects the intended target), +the moved piece would disappear from view. This because the from-square +would not be redrawn (in normal move execution it would remain empty). +This could have been an XBoard-only problem. In any case We now force a +complete redraw of the board, which is not very elegant, but should always +fix it. + +2016-02-28 11:34:52 +0100 H.G.Muller : +Fix bug #43792 (no highlights after rejection of premove) + +If the sending of a premove fails to add a move to the game, because +XBoard itself judges the move illegal (which could only be determined +after arrival of the opponent move, not when it was entered), XBoard +now re-applies the move highlights for that opponent move. + This does not solve the problem yet with legality testing off, +when it later turns out the ICS rejects the move. + +2016-02-27 21:59:52 +0100 H.G.Muller : +Fix bug #45599 (inclusion of keysym.h in Xaw) + + +2016-02-27 20:50:27 +0100 H.G.Muller : +Fix bug #45773 (needless #inclusion of cairo-xlib.h) + +As this header no longer exists this was causing a compilation error. +In the GTK version they are of course never needed, and the draw.c +that is also part of an Xaw build also does not call any function to +draw on an Xaw surface directly. + +2016-02-27 20:45:01 +0100 H.G.Muller : +Fix bug #45775 (Infinite loop on nonexistent texture file) + + +2016-02-27 20:37:09 +0100 H.G.Muller : +Fix bug #45774 (GTK compile bug with ENABLE_NLS) + +The declaration of an XFontSet function was not protected by + +2016-02-27 17:06:33 +0100 H.G.Muller : +Move Common Engine dialog to Engine menu (WB) + +The item is renamed to "Common Settings", whith shortut 'C'. +The "Edit Engine List" item is also assigned a shortcut ('E'). + +2016-02-26 23:35:39 +0100 H.G.Muller : +Use mouse wheel for selecting piece in Edit Position mode (XB) + +Rather than calling ForwardEvent() and BackwardEvent() directly from the +mouse-wheel handler, we now call a backend routine Wheel(), which gets +the pointer coordinates passed to it (which we must remember during +mouse move events). This then calls the Forward/Backward event, except +in EditPosition mode, where it changes the piece in the square below the +pointer. + +2016-02-17 20:55:36 +0100 H.G.Muller : +Allow promotion choice in engine-defined variants + +When variant shatranj, courier or makruk, which normally do not have +promotion choice, are used as parent for an engine-defined variant, +we now invoke the piece-selection routine. This to make these variants +also suitable as parent for variants that do have choice (e.g. to give +them the baring rule, which is unique for Shatranj). + +2016-02-17 12:47:45 +0100 H.G.Muller : +Fix erasing of arrow highlight (XB) + +On large board with long-range oblique moves (like in Grande Acedrex) +the head of the arrow was not always erased (and not always drawn either). +This was partly due to the arrow pointing to a corner of the target square +even if the path was nearly orthogonal, while the damage trail is always +assumed to connect the square centers. Having the arrow point more +precisely and widening the damage trail a bit solved the problem. + +2016-02-09 10:59:31 +0100 H.G.Muller : +Allow promotion on two-leg move + +After a second-leg of a SAN move the parser now checks for apromotion +suffix, and if any is found this is used by ParseOneMove / LoadGameOneMove +to set the promoChar. In converting to SAN for the parseList the promoChar +is now appended to the second leg, rather than the first, and the Edit Book +window will also show it. The promochar is written behind the kill square +in the moveList, and when sending the move there to the engine it is +appended to the second move of the multi-move pair. + +2016-02-09 10:25:40 +0100 H.G.Muller : +Fix type-in of hit-and-run captures + +Processing of the move in ParseOneMove (which basically duplicates +the code of LoadGameOneMove) was not yet adapted to ignore ';' as a +promotion character when it is internally used to append 'kill squares' +where locust capture should take place.. + +2016-02-09 09:53:44 +0100 H.G.Muller : +Allow setting of piece nicknames from pieceToChar string + +A piece IDs in the pieceToChar string can now be suffixed by "=L", +with L an arbitrary single letter, to define a nickname for the piece. +Such a nickname would make it possible to specify a complex ID like +I' +as promotion choice, and by indicating this in the pieceToChar string +the engine can configure that through the 'setup' command. This facility +is needed to force promotion after capture of a contageous piece in +variants with Shogi promotion, such as Maka Dai Dai Shogi. + +2016-02-09 09:31:11 +0100 H.G.Muller : +Slight speedup of parsing promotion suffix + + +2016-02-08 13:21:20 +0100 H.G.Muller : +Fix printing of 'x' in position diagram + +The times where 'x' was used as PieceToChar result for an empty square +are long behind us; 'x' now is a valid piece ID. + +2016-02-07 22:48:34 +0100 H.G.Muller : +Improve variant recognition for enabling buttons (XB) + +Buttons for variants were enabled when the name of the variant they +selected was a sub-string of waht the engine could play, so that +Grand Chess (variant grand) would be enabled by Fairy-Max' grande-acedrex. +Now we test if the matched sub-string of the engine's variants feature +is immediately followed by a comma (or at the end). + +2016-02-06 18:18:29 +0100 H.G.Muller : +Fix using VariantMen PGN tag for both colors + +Black pieces were not recognized as the same as white pieces. + +2016-02-06 16:19:52 +0100 H.G.Muller : +Always assume FEN in variant-fairy PGN game is initial position + +As variant fairy is a catch-all without a defined initial position, +the FEN tag n a PGN game for this variant must be considered an initial +position. So we copy over the FEN position to the initial one in this +case. Otherwise castling would always be thought illegal in fairy games +loaded from PGN. + +2016-02-06 15:12:19 +0100 H.G.Muller : +Process VariantMen PGN tag + +On loading a PGN game the VariantMen tag is now parsed, and the +move definitions are assigned to the mentioned pieces. +This only works when the pieceToCharTable is defined in advance! + +2016-02-06 13:46:43 +0100 H.G.Muller : +Let VarianMen PGN tag work with dressed letters + +The internal 'character' codes > 127 are now printed as letter + suffix. + +2016-02-06 10:25:27 +0100 H.G.Muller : +Remove debug printf + + +2016-02-06 10:21:21 +0100 H.G.Muller : +Fix spurious promotion partners + +When defining a new promotion pairing through ^L the default partners +of L and +L must be made partnerless, or they would still promote to +L +or demote to L. + +2016-02-05 11:26:51 +0100 H.G.Muller : +Fix printing of piece ID in illegal SAN moves + +Illegal SAN moves did not add ' or ! suffixes to the piece ID, +and printed shogi-promoted pieces as a '+' without ID. + +2016-02-05 10:06:09 +0100 H.G.Muller : +Fix clipping of GTK menu-bar labels for broad boards + +The number of characters kept in the menu-bar labels was dependent on +square size, but did not take into account the number of files of the +board. So when there were more than 8 files, the label texts were often +clipped while there was in fact plenty of room to display them fully. +Now the adjustment of square size based on number of board files is done +after the other window parameters have been picked based on the window +width calculated as 8*squareSize. Only the default line gap is then +adapted to the actual square size (consistent with what is done during +user sizing of the board later). + +2016-02-04 19:43:14 +0100 H.G.Muller : +Change the piece order again + +The internal piece encoding is now altered such that the uninteresting +ones (promoted Shogi pieces and symmetry partners) are all at the end, +just before King. These now start with the PromoBishop. A slash in the +pieceToChar string skips to this new 'promoted series', so that strings +can be made 'future proof' (for when new pieces are added before it). +The promoted Chu pieces all get new book keys by this, but as it is +unlikely that they occurin opening lines, this was considered acceptable. +The +L, +T in Chu are now represented by Pegasus and Gnu rather than +Knight and Chancellor, but the latter two are defined as fall-backs to +remain compatible with old Chu themes. +The +N, +L, +S replacements in Shogi are now also taken from amongst the +regular pieces, rather than extra images stored beyond King. + +2016-02-03 10:24:17 +0100 H.G.Muller : +Adapt Chu-Shogi pieceToCharTable to new piece order + + +2016-02-03 09:34:42 +0100 H.G.Muller : +Fix demoting in Edit Position mode + +A click on an already selected demotable piece will now cause demotion, +rather than disappearance of that piece, similar to how clicks on a +selected promotable piece will promote it. + +2016-02-03 09:23:15 +0100 H.G.Muller : +Clear highlights after moving piece in Edit Position + +When moving a piece during Edit position the from-square remained +highlighted, but the to square was not highlighted, which would +create the erroneous impression that the (now-empty) from-square +was selected (and ready to obliterate a piece on the next click). +Now this highlight is cleared. This was preferred over also highlighting +the to-square, because this is not really a move in a game. + +2016-02-02 19:18:13 +0100 H.G.Muller : +Fix aborted detour under-promotion XB + +When a dragged Pawn was released before the promotion piece was fixed, +this would fake a release on the from-square. But the repair of animation +damage would take place on the to-square derived from the actual mouse +coordinates. When this was different from the from-square, the animation +damage (consisting of removalof the piece) would thus not be repaired +by redrawing that square, as normally (when the to-square is different) +it should remain empty. Now we mark the from-square as damaged when the +detour under-promotion changes the dragged piece. + +2016-02-02 17:34:53 +0100 H.G.Muller : +Fix default piece in Shogi promotions + +In Shogi the default should be promotion, but it was using Queen like +the other variants. As the +/= issue was decided based on comparing this +default promotion piece with the moved piece, the Lance (which internally +is represented by Queen) would by default defer. Now the up-click of +a drag-drop move (which would bypass sweep selection) sets the default +choice to the promoted partner if the pieceToCharTable specifies one. + +2016-02-02 17:31:41 +0100 H.G.Muller : +Fix sweep promotions to Tokin + +Sweep promotions of multiple pieces to Tokin were not working, because +once the promoted version was shown it would always demote to Pawn. +Now the toggle always demotes to the selected piece. + +2016-02-02 13:10:24 +0100 H.G.Muller : +Fix setting default piece from 'choice' command + +PieceToCharwas used instead of CharToPiece. In addition it is important +to deduce the color from currentMoe rather than forwardMostMove, as +one could be entering a move in the middle of a game (e.g. when editing +or starting a variation). + +2016-02-02 12:09:17 +0100 H.G.Muller : +Fix two compiler warnings + + +2016-02-02 09:27:34 +0100 H.G.Muller : +Allow pieces with dressed-letter ID as promotion choice + +Testing for the occurrence of a piece in the promotion set specified +through the 'choice' command now takes dressing of the piece IDs into +account. + +2016-02-01 21:51:04 +0100 H.G.Muller : +Fix castling rights + +The expansion of the number of piece types to > 64 had broken the +accounting of castling rights, because the code for NoRights is also +a piece code (as it is stored in the board), and had gotten a value +so high that it could no longer be stored as signed char. This is +solved by declaring the initialRights array as unsigned char instead. + +2016-02-01 20:45:14 +0100 H.G.Muller : +Implement engine-requested settings-popup WB + + +2016-02-01 17:32:05 +0100 H.G.Muller : +Allow O1 as Betza castling descriptor + +The notation On is now also recognized as castling for n=1, but this +uses the same system as non-royal castling ('guarding'), which is +performed as hit-and-run capture of the Rook (or whatever you want to +castle with) while moving to the destination (one square away here). +This to avoid the ambiguity with normal King moves (which for the +guarding always existed). + +2016-02-01 00:12:41 +0100 H.G.Muller : +Allow engine to force popup of its settings dialog + +An engine can now force popping up of its settings dialog by sending +'feature done=3' to the GUI. It can clear its option list (e.g. for the +purpose of resending it because of altered settings) by sending +'feature done=0'. Such resending would cause the dialog to be updated +when it was already open, or close it and pop up a new one when the +engine specifies it has to be redesigned by ending the list with +'feature done=2'. + +2016-01-31 17:28:40 +0100 H.G.Muller : +Change pieceToCharTable order of pieces beyond Lion + +The positions in the pieceToCharstring no longer correspond to internal +piece type, but are remapped such that more useful symbols reside near +the beginning. The piece types themselves could not be re-ordered, +as this would alter the calculation of the opening-book hash key. + +2016-01-31 15:53:05 +0100 H.G.Muller : +Expand numer of new piece types to 2 x 11 + +The number of pieces added between basic and promoted series, and between +the latter and King is increased to 11, and they are ordered differently. +The image used for the Chu-Shogi White-Horse piece,which was a duplicat +of the Knight, is now replaced by a winged Knight. + +2016-01-30 09:09:03 +0100 H.G.Muller : +Use flexible promotion assignment + +The promoted partner now comes from an array, rather than by adding +a constant (11, or 27 in chu) to the base type. The array is initialized +so the first 11 pieces (the old 'base pieces') point to the second 11 +(the old 'promoted series'), and the latter point back (so the array +also contains the demotions!). The pieces above 21 (= Lion) point to +themselves. + Parsing of the pieceToChar string now considers ^, - and * prefixes +rather than independent IDs. Nevertheless it is the - and ^ that get +stored in the pieceToCharTable (the latter as '+') for the corresponding +piece. But the ID that follows them specifies what other piece they are +the demoted or promoted partner of, rather than their own ID, and is +thus used to update the promoPartner array for both of them. + A * prefix does mean the following ID is the ID assigned to the piece, +but that the piece promotes to Tokin (if the latter is assigned a '+'). + The default pieceToChar string for varaint chu is adapted to use this +new assignment mechanism of promotion partner. (Chu is so far the only +variant that needed other pairing than the default.) + +2016-01-29 23:15:28 -0500 Joshua Pettus : +Bit more accelerator stuff + +Bit of code didn't do what I wanted it to and took away to many 'alt' +flags + +2016-01-29 22:01:25 -0500 Joshua Pettus : +oops, accidentally added a .orig file from a patch + + +2016-01-29 21:32:58 -0500 Joshua Pettus : +Change accelerators again to be more mac like + +After playing around with the beta quite a bit, it really bothered me +to have half be ‘cmd’ and half be ‘ctrl’, to the point where it almost +made me want to do away with ‘cmd’ altogether (really non-standard on +OSX). This way is a little smarter and only changes the conflicting +accelerators to alt-cmd which while being a little more mac standard, +as well as be acceptable ascetically when combined with other +accelerators that are just cmd. + +2016-01-29 17:41:58 +0100 H.G.Muller : +Let PROMOTED and DEMOTED macros use argument + +These macros were expanding to offsets added to what followed them. +Now the thing that followed them is passed to them as an argument. +This will allow them to expand the prmomotion or demotion to a table +lookup, rather than just an addition. Where PROMOTED appeared in a case +label, though, it was just a readability enhancement for the fixed +assignment, and a new macro PROMO equal to the old PROMOTED is introduced +for that. + +2016-01-29 10:32:02 +0100 H.G.Muller : +Fix Chu promotion with added pieces + +There were still some hard-coded 22s in the code, which no longer described +the difference between Pawn and Tokin and the number of promotable pieces, +now that new pieces have been added. + +2016-01-28 17:58:00 -0500 Joshua Pettus : +Remove added pango modules to coincide with macports package + +Macports got rid of the +builtin_modules variant and made that the default port. (I assume macports, maybe it was a gtk change) This is great for installation simplicity, but messes up my build script which was set to use the former base pango install. Hopefully they stick with this. + +2016-01-28 17:55:56 -0500 Joshua Pettus : +H.G.Muller's patch to avoid collisions with built-in OSX text edit accellerators + +Unfortunately this means many of the menus items use the standard linux ctrl-letter style accelerators as oppose to the cmd-letter OSX style ones. But at least we can copy, paste, and cut text into xboard dialogs as well as select all. + +2016-01-28 17:52:27 -0500 Joshua Pettus : +H.G.Muller's patch to fix argument related spurious instances + +In certain situations adding launch arguments to xboard would cause multiple xboard instances when not desired. H.G.Muller fixed this by waiting 1 second before accepting genuine user input. + +2016-01-28 17:50:36 -0500 Joshua Pettus : +Check for gettext before installing localization files + +Probably a good idea to check if gettext is enabled before attempting to install localization files. + +2016-01-28 17:48:04 -0500 Joshua Pettus : +back to the old header names for gtkosxapplication.h + +They seemed to have gone back for compatibility’s sake, hopefully they don't change it again + +2016-01-28 17:43:04 -0500 Joshua Pettus : +Fix for launching on case-sensitive systems + +Forgot to take case-sensitive journaled systems into account… + +2016-01-28 17:55:15 +0100 H.G.Muller : +Make move to own piece a swap rather than capture + +This is useful for Tamerlane Chess, where you can one time during the +game have your King swap places with a friendly piece. + +2016-01-28 17:32:19 +0100 H.G.Muller : +Implement 'choice' engine->GUI command + +A new CECP command is implemented: With 'choice XYZ' in reply to a +'lift' or 'put' command an engine can redefine the promotion choice +of the promotion move that emitted these to X, Y or Z. (Always capitals!) +For now only affects sweep & detour promotions, not the promotion +popup. + +2016-01-28 14:08:28 +0100 H.G.Muller : +Let target-square highlighting prevail over legality test + +For engine-defined variants the highlight command is accepted even +with legality testing on. If an engine explicitly marks a square as a +legal destination for the picked-up piece, XBoard now always accepts +the move, even when according to its own move generation, even when based +on the engine's supplied 'piece' commands, going there would be illegal, +and legality testing is on. + +2016-01-28 12:32:12 +0100 H.G.Muller : +Add support for Multi-PV Margin + +An engine option with a name containing multi, PV and margin is now +recognized, and will lead to printing of a multi-PV header (during +analysis in the Engine Output pane) even in absence of a MultiPV option. +Right-clicking the part of that header between 'fewer' and 'more' +allows tuning of the option value through horizontal mouse moving. +During this tuning the value is displayed in the message field of the +main window. When there is no MultiPV option to specify the number of +PVs, the margin value will be displayed in the header instead of the +number of PVs. + +2016-01-28 09:51:37 +0100 H.G.Muller : +Fix highlighting in text memos (GTK) + +The yellow highlighting as used in Engine Output to indicate the +walked PV, or in Move History to show the current move, was only +working the first time that text would be highlighted. Apparently +to unhighlight it the yellow tag had to be removed, rather than a +white tag applied. + +2016-01-27 20:14:07 +0100 H.G.Muller : +Fix pasting of moves after starting from position file + +When starting from a position file boards[0] would be set to the position, +but initialPosition was not. In LoadGame() initialPosition would then be +copied to boards[0] before loading the game, and without FEN or variant +PGN tag would not be corrected. + +2016-01-27 16:49:20 +0100 H.G.Muller : +Move Common Engine menu item to Engine menu + +The new name of this menu item is 'Common Settings'. + +2016-01-27 16:03:04 +0100 H.G.Muller : +Fix double-clicks for copying in Edit Position mode + +The time measurement between clicks on the same square in Edit Position +mode was seeing presses as well as releases, so that a fast click would +be mistaken for a double click on that square. Only presses should be +judged this way. In addition the piece should be grabbed for dragging +again on the second press, as the first release had ended the drag. + +2016-01-27 11:22:42 +0100 H.G.Muller : +Fix book probing + +The Zobrist key for Kings had been inadvertantly changed in the patch that +assigned new keys to the pieces added for Chu Shogi (the 'chu-promoted +series'), because the King would be considered as a chu-promoted piece. + +2016-01-20 21:30:51 +0100 H.G.Muller : +Fix crash on pasting garbage FEN + +The auto-size patch had made XBoard crash-prone on pasting pure garbage +with Paste Position, because this would set the number of files or ranks +to values <= 0. Which would cause a floating pont exception during +drawing of the board in XBoard. + +2016-01-20 20:37:52 +0100 H.G.Muller : +Prevent changing time control during game (XB) + +An attempt to pop up the Time Control Options dialog during a game +will now be met with an Error popup to say it cannot be done, like +in WinBoard. Before it would reset the game. + +2016-01-20 20:31:34 +0100 H.G.Muller : +Fix Error popup in Tournament Options + +Since Tournament Options has been assigned its own DialogClass (MasterDlg) +instead of being one of the TransientDlg, the Error popup should really +test if MasterDlg is already up, to know if its parent window is th +main window or not. + +2016-01-15 22:30:08 -0500 Joshua Pettus : +Update xboard.conf with renamed xq board textures + + +2016-01-15 14:12:23 -0500 Joshua Pettus : +Update makefile.am for renamed xq board images + + +2016-01-15 13:19:22 -0500 Joshua Pettus : +Change name of xq board images to fit with handling code + + +2016-01-14 19:16:50 +0100 H.G.Muller : +Use ii in Betza notation for 3rd-rank Pawn push + +The 'i' modifier specifies the move is only for virgin pieces. We now +use 'ii' to indicate a move that can be made when the piece is standing +on the square in front of that were such a piece starts in the initial +setup. This is intended for Pawns that can still be pushed extra far +after they have made a first single step, such as in Wildebeest Chess, +where pawns on 2nd rank can move 1, 2 or 3 squares ahead, and on 3rd rank +can still move 1 or 2 (fmWifmW3iifmW2). + +2016-01-14 16:49:34 +0100 H.G.Muller : +Fix spurious undo at game start + +For ping-supporting engines the logic in handling unexpected moves +is completely changed. Such moves can occur when an engine think is +interrupted by a 'force' command, which in many engines is only +processed after the think completes naturally with a move, and could +cross such a move anyway in engines that would abort the search promptly. +If the 'force' is the result of the user switching to EditGame mode, +such a move should be undone, if it occurs at game end or start, +the moves can be ignored, as the following 'new' will erase all memory +of them. So in EditGameEvent, if the engine was thinking, a flag is set +to indicate its upcoming move should be undone, and ping is sent after +'force'. The 'pong' response would arrive after the move (if any), and +clears the flag. In all other cases of ping imbalance, incoming moves +are ignored. + While waiting for a pong after EditGameEvent the user interface is +frozen, and a message is displayed to keep the user quiet. + +2016-01-14 14:36:47 +0100 H.G.Muller : +Send ping in EditGameEvent + +An EditGameEvent can interrupt tinking of an engine, and the engine +might or might not send back a move as a result of that thinking. +To solve this, a "force" command sent to an engine playing white or +black will now be followed by a "ping". (If supported, of course.) + +2016-01-13 22:23:55 +0100 H.G.Muller : +Fix variant recognition in ICS mode + +The patch that made recognizing variant names of the 'exotic variants' +(i.e. those beyond Shogi) more strict, by requiring an exact match, +had broken variant recognition on the Variant ICS. In that case it +has to act on strings like "ICS unrated xiangqi game", and this now +defaulted to variant normal. The requirement that the variant name +should be the first word of the string is now dropped in ICS mode. + +2016-01-13 20:35:36 +0100 H.G.Muller : +Let FENs handle Betza initial rights in castlingless variants + +When a variant has no castling, or is redefined to have no castling +through a 'piece' command for the King, the FEN castling field of a +written FEN will now contain the file ID of all pieces with initial +('i') moves in their Betza definition. On reading the virginity of +pieces not thus mentioned in the castling field will get their +virginity revoked. + +2016-01-13 16:07:48 +0100 H.G.Muller : +Fix setting of initial virginity on PGN read + +The back-rank virginity bitmaps were not cleared in ParseFEN. + +2016-01-12 14:48:57 -0500 Joshua Pettus : +Update zh_CN.po translation + + +2016-01-12 00:01:31 +0100 H.G.Muller : +Increas number of engine-defined variants to 15 (WB) + +The number of engine-defined variants that can be selected in WinBoard's +New Variant dialog is increased from 9 to 15 by adding some radio buttons. + +2016-01-11 22:58:50 +0100 H.G.Muller : +Fix parsing of OO castling when redefined + +A 'piece' command can redefine the castling stride of a King, +and OO castling for non-Fischer castling is internally encoded as the +King step, and thus has to know this. + +2016-01-11 22:44:04 +0100 H.G.Muller : +Fix writing FEN castling rights for non-edge 'Rooks' + +Non-Fischer castling rights were only recognized on FEN writing when +the castling partner was in the corner. Now it can be anywhere on the +correct side of the King. + +2016-01-11 21:05:28 +0100 H.G.Muller : +Fix reading FEN FRC castling rights when King not on last rank + +There was still a hard-coded rank 0 / BOARD_HEIGHT-1 there. + +2016-01-11 20:21:05 +0100 H.G.Muller : +Fix Makefile for Dragon and minor Lion image + +These new pieces were not mentioned in the list of SVG data. + +2016-01-11 20:13:41 +0100 H.G.Muller : +Add Wolf, Camel and Zebra bitmaps to WB + +Built-in images for some of the new pieces are added for WinBoard. +These are Wolf, Camel and Zebra, but also the duplicat Lion is defined. + +2016-01-11 16:03:24 +0100 H.G.Muller : +Fix white Iron General image + +The white background of this image was not entirely filled. + +2016-01-11 16:01:58 +0100 H.G.Muller : +Flip Unicorn image + +There are now too many Knight-like piece images, that are too similar. +So the Unicorn from now on will look to the right. + +2016-01-11 11:39:10 +0100 H.G.Muller : +Add white Zebra piece image + +This image had not made it into git with the other new pieces. + +2016-01-11 11:35:22 +0100 H.G.Muller : +Correct backup pieces for addition of minor Lion + +The added piece type was not put in the list of backup pieces, so that +the pieces beyond it got out of phase, and no backup for the Prince +would be found, leading to an error popup about missing default pieces. +The error message on this has now been improved to mention the piece +casing the trouble. + +2016-01-10 23:54:48 +0100 H.G.Muller : +Never castle when King has other initial moves + +The ApplyMove routine assumed that any lateral King step of more than +a single square was a castling, and then swung the nearest piece in +that direction around the King. This failed in Grande Acedrex, where +the King can (amongst others) jump 2 squares sideways as an initial move. +So we now first check if the King has its moves redefined in a way that +does specify no castling but does specify other initial moves, and perform +any move as just a simple King move in that case. + +2016-01-07 23:32:47 +0100 H.G.Muller : +Fix edit command for double-digit ranks + +Rank numbers above 9 were printed as their internal 1-character +representation. + +2016-01-06 20:12:10 +0100 H.G.Muller : +Add duplicat of Lion (and Flying Dragon) + +Two more piece types are added: a duplicat of the Lion in the unpromoted +series, and a Flying Dragon as its promoted counterpart. This Lion does +not suffer from the Lion-trading restriction of Chu Shogi, and can be used +as a general piece. Its pictogram is somewhat smaller than that of the +Chu Shogi Lion. + +2016-01-03 14:09:24 +0100 H.G.Muller : +Fix typos in winboard.c + + +2016-01-03 12:38:18 +0100 H.G.Muller : +Let parsing of O-O castlings pay attention to castling rank + +The parser assumed O-O and O-O-O castlings would always take place +on the back rank, even when the newly introduced castlingRank array +specified differently. + +2016-01-03 12:22:25 +0100 H.G.Muller : +Fix FEN castling rank for Knightmate + +The newly introduced castlingRank array was not correctly set on reading +a FEN for Knightmate, because it was looking for Kings rather than +Unicorns. + +2016-01-02 19:53:35 +0100 H.G.Muller : +Replace Flying Dragon piece image by Gnu + +How could we not think of this before! + +2015-12-29 23:37:43 +0100 H.G.Muller : +Also define Lance image for Amazon in WB + + +2015-12-29 23:33:52 +0100 H.G.Muller : +Use hoplit helmet for Copper General in Chu Shogi + + +2015-12-29 22:46:17 +0100 H.G.Muller : +Skip in pieceToChar to Tokin always + +The piece after the skip symbol '/' in the pieceToCharTable was +defined as CHUPROMOTED Pawn, which only is a Tokin in variant chu, +but a Cannon in other variants. The intension was to always skip +to Tokin, though. + +2015-12-29 22:20:24 +0100 H.G.Muller : +Assign new images to the new pieces + +The 5 new pieces behind Lion, and their chu-promoted versions, +are assigned the 9 new images. The 10th piece gets the Lance image, +to povide a duplicate for this that will not be considered a Pawn +in any variant (so it can be used for Amazon). + +2015-12-29 22:13:03 +0100 H.G.Muller : +Add 2x9 new piece images + +Wolf, Camel, Zebra, Dragon, Wizard, Viking, Iron, Copper and Tower +images are added. + +2015-12-29 20:43:39 +0100 H.G.Muller : +Fix parsing of pieceToChar strings + +The skipping to the chu-promoted series was not working. The character +that triggers the skipping has been changed from : to /, because : is +a narrow character potentially useful as ID suffix. + +2015-12-29 18:02:08 +0100 H.G.Muller : +Fix color of white SVG pieces + +The newer SVG pieces were bright white, rather than the ivory default color. + +2015-12-19 11:10:40 +0100 H.G.Muller : +Fix piece command after ID-suffix patch + +Piece IDs without suffix or & behind them to make them count for both +colors were no longer recognized in 'piece' commands, because there +was a null character behind the extracted piece-name field. And this +null character was seen as occurring in the suffix string. + +2015-12-17 12:44:09 +0100 H.G.Muller : +Fix bare-king adjudication in Atomic + +In Atomic a bare King cannot win, but it can already have won, when +the last piece of that side captured or destroyed the opponent King +when exploding. The win-to-draw correction now recognizes this +situation, so that the win is uphold there. + +2015-12-02 12:53:19 +0100 H.G.Muller : +Erase old logo before drawing new one (XB) + +In case of an invalid or absent logo, the previous logo kept being +displayed. Now the area is painted grai first. + Also fixes a bug in the expose area. + +2015-11-27 21:01:22 +0100 H.G.Muller : +Allow debug output to go to child process (WB) + +A -debugfile name starting with tree slashes will not be interpreted +as a file to write on, but (after stripping the slashes) as an executable +to run, and send the output to. This could be used by an external +broadcasting agaent. + +2015-11-27 17:55:13 +0100 H.G.Muller : +Fix DarkSquare bug in piece counting + +When counting pieces for adjudication purposes, a DarkSquare on the +board caused an out-of-bounds access to the counter array. + +2015-11-26 22:12:22 +0100 H.G.Muller : +Fix piece commands for suffixed piece IDs + +Due to signed-/unsigned-char problems piece IDs suffixed with ' or ! +would not be recognized. In addition a & behind it would not be correctly +recognized diue to the alignment problem the suffix character caused. +Both issues are fixed now. + +2015-11-25 19:26:54 +0100 H.G.Muller : +Allow skipping over black squares + +'Skip pieces', defined with a 'j' prefix on a slider(asopposedto rider), +which skip the first square(s)of their path irrespective of occupation +should also be able to skip over holes in the board. + +2015-11-24 20:10:27 +0100 H.G.Muller : +Display new user logo when username is entered + +When the Edit->Enter Username type-in was used, a new user logo was +loaded, but not immediately displayed. While the old user logo could +already be up, during a man-machine game. Now it is also immediately +displayed. + +2015-11-24 20:00:16 +0100 H.G.Muller : +Try to load bitmaps for all pieces (WB) + +WinBoard only contains build-in bitmaps for the first 22 piece types, +and also only associated filenames with those that can be used to +provide external images. Now a new naming convention for piece images +is introduced, like piece22_49s.bmp for a 49x49 bitmap for solid piece 22. +All pieces that were not loaded according to the old convention now +try to find images with this naming convention if a -pieceImageDirectory +is defined. + +2015-10-20 17:30:34 +0200 H.G.Muller : +Fix sortng of mate scores + +With the new convention for mate scores (100000+DTM), lower numbers +represent faster mates and thus better scores, and the sorting of PVs +in the Engine Output window now takes that into account. + +2015-10-20 17:22:53 +0200 H.G.Muller : +Print mate scores as #N in message field + + +2015-10-20 15:05:50 +0200 H.G.Muller : +Start implementing EPD test suites + +An option -epd is added that can be used in combination with matchMode +to let XBoard do a test suite on a file of EPDs with a "bm" qualifier. +It would record the time to solution. Reporting still has to be implemented; +as yet unsolved problem is that currently black-to-move EPDs would +be presented to the second engine. + +2015-10-20 14:43:27 +0200 H.G.Muller : +Slip in 10 more piece types + +Five new piece type without a defined image are added to increase the +length to the unpromoted series from 11 to 16. They all map behind +the Lion, which remains the 11th piece. Five promoted types are added +as well, just before King. No images are defined for these pieces (yet), +not even image-file names, so they can only be used with the 'Tile' +fallback and a user-defined inscription. + +2015-10-19 18:50:53 +0200 H.G.Muller : +Fix grayout + + +2015-10-16 14:40:58 +0200 H.G.Muller : +Fix exclusion header fix + + +2015-10-15 23:41:09 +0200 H.G.Muller : +Grayout Machine Match menu when aborting match + +Clicking the Machine Match menu item when a match or tourney is in +progress will make XBoard drop out of match mode when the game finishes. +The check mark will remain on the item until that moment. But now we +gray out the item to show that the match is scheduled for termination. + +2015-10-15 20:57:39 +0200 H.G.Muller : +Base tinyLayout decision on total board width + +The decision whether to include system menu and use one-letter main menus +is now taken based on the total board width, rather than the square size, +to account for boards that do have other than 8 files. + +2015-10-15 20:45:41 +0200 H.G.Muller : +Use intermediate width menu bar in sizes 37 & 40 (WB) + +Due to the increased number of main menus the menu bar wrapped to two lines +in sizes slim and small (which did not use the single-letter 'tinyLayout' +menu texts). An intermediate menu-bar format with 3-letter texts is now +provided as well. + +2015-10-15 17:25:21 +0200 H.G.Muller : +Display exclusion header only for engines supporting exclusion + +The display of the exclusion header in the Engine Output window is made +dependent on the engine having emitted feature exclude=1 at startup. + +2015-09-19 19:35:07 +0200 H.G.Muller : +Fix periodic updates GTK + +Only the first periodic update event would occur, because the clock function +did not retun True to encourage timer events to keep coming. + +2015-08-11 09:38:19 +0200 H.G.Muller : +Make -inscriptions a volatile option + +Saving unicodein the settings file does not work, and leads to an +octal escape sequence for non-ascii characters, which is not correctly +read back. For now saving thus is avoided. + +2015-08-07 18:45:35 +0200 H.G.Muller : +Make inscriptions somewhat smaller and non-bold + + +2015-08-06 23:49:02 +0200 H.G.Muller : +Fall back on Tile SVG in pieceImageDirectory + +If a -pieceImageDirectory is given, but a needed piece is not found, +and -inscriptions are specified, we first fall back on a general +image White/BlackTile.svg. This can then serve as a background for the +various inscription glyphs, using the latter to distinguish the pieces. +E.g. the Tile image could be a shogi tile, and the inscriptions an utf8 +string of kanji, to create Shogi pieces on the fly. + +2015-08-06 19:41:28 +0200 H.G.Muller : +Take account of glyph size when positioning inscriptions + +We calculate the position of the inscription from its pango extents. + +2015-08-06 19:14:05 +0200 H.G.Muller : +Also write inscription on dragged piece + + +2015-08-06 19:04:22 +0200 H.G.Muller : +Use pango to draw inscriptions + +The cairo 'toy fort' interface apparently cannot handle kanji. So we +switch to renderingthe the inscriptions via pango. + +2015-08-05 22:40:40 +0200 H.G.Muller : +Let color of inscription depend on piece ID + +Only shogi-promoted piece types (with ID defined as +) will get their +inscription rendered in red. + +2015-08-05 20:37:25 +0200 H.G.Muller : +Render inscriptions upside-down for black pieces (XB) + +The -inscriptions option is intended to supply the kanji on images of +blank Shogi tiles, and thus have to be flipped for the pieces that play +downward. Depending on the -flipBlack setting and -flipView this can be +either white or black. + +2015-08-03 21:59:43 +0200 H.G.Muller : +Prevent printing in non-existing Chat dialog (XB) + +The Xaw build of XBoard crashed in -ics -zp mode when the opponent was +kibitzing. According to a stack trace OutputChatMessage() tried to change +the color of a non-existent button. Although it was not clear how printing +there could be attempted if no chats were defined, the routine now is made +a no-op when the Chat dialog does not exist, by an immediate return. + +2015-08-03 21:07:04 +0200 H.G.Muller : +Ignore Continue Later when match already in progress + +We have to prevent the user from changing the tournament file or parameters +for a tourney in progress through pressing 'Continue Later'. + +2015-08-03 20:55:05 +0200 H.G.Muller : +Remember tourney-file changes after Continue Later + +After leavingthe Tournament dOptions dialog with Continue Later, +the tournament file would not be set to the entered value, and re-opening +the dialog would keep using the previous value, or a newly generated one. + +2015-08-03 20:39:31 +0200 H.G.Muller : +Correctly remember checkboxes on Continue Later (WB) + +The WinBoard tournament dialog could be left in an inconsistent state +on Continue Later, when the user untickedthe checkboxes for auto-stepping +and two games per line, after on an earlier attempt their ticking had +already resulted in settng the line/position index to a negative value. +Negative values left in the numeric entriesare now reset to 0 when the +chackboxes are unticked. + +2015-07-24 23:55:35 +0200 H.G.Muller : +Fix bridge capture of Lions + +Clearing the kill square for the check test had broken the test for it +being empty or containing a Pawn. We now also test for Go Between, +which was not done at all. + +2015-07-24 23:48:58 +0200 H.G.Muller : +Fix Shogi promotion popup + +With the new promotion defaults Shogi was using the Chess promotion +popup rather than the Shogi (yes/no) one. + +2015-07-24 23:47:39 +0200 H.G.Muller : +Fix disappearance of a1 on double capture + +The triple-capture patch did indicate a1 as initial second e.p. victim. + +2015-05-16 23:35:46 -0700 Arun Persaud : +Updated copyright notice to 2015 + + +2015-04-28 11:15:22 -0400 Joshua Pettus : +make install from macports part 2 + +Oops, forgot a line.. + +2015-04-28 10:05:53 -0400 Joshua Pettus : +Make install from macports more robust + +better to search for the macports prefix then assume /opt/local + +2015-03-24 16:52:22 -0400 Joshua Pettus : +Change Copyright year in info.plist.in + + +2015-03-11 17:42:49 -0400 Joshua Pettus : +renaming fics logo + + +2015-03-11 17:38:12 -0400 Joshua Pettus : +Logo Updates + + +2015-03-11 17:04:15 -0400 Joshua Pettus : +moving part2 + + +2015-03-11 16:40:52 -0400 Joshua Pettus : +A little reorganizing + + +2015-03-10 16:02:05 -0400 Joshua Pettus : +Remove unused directory + + +2015-03-10 15:33:05 -0400 Joshua Pettus : +GTK OSX theme reimplemented + +This is a new theme that was included with the GIMP OSX app. It is +much simpler with no pixbuffs, so there should be no chance of missing +images. Also had to reimplement the murrine engine. + +2015-03-10 15:19:53 -0400 Joshua Pettus : +gtkmacintegration localization updates + +With the update to the gtkmacintegration library, localization strings +have been fixed, so there is no need for us to have separate ones, and +we can pull from the macports install. + +2015-03-10 15:16:10 -0400 Joshua Pettus : +gtkmacintegration name change + +with the last update the gtkmacintegration lib was renamed +gtkmacintegration-gtk2 to differentiate from gtk3 + +2015-03-10 15:14:09 -0400 Joshua Pettus : +OSX master conf changes + +Make OSX app masterconf more in line with the default one, where it was +unnecessary. Also it was a mistake to use the ip address for FICS as +they changed it. + +2015-03-10 14:27:20 -0400 Joshua Pettus : +Include Pango Modules + +Before I was using a special macports variant that had the pango +modules built into the library. Now that I know a little bit more, +it’s really not necessary to require a special variant here. + +2015-03-10 14:21:36 -0400 Joshua Pettus : +Man and Info Page Fix + +Terminal.app doesn’t accept command line arguments. Rather then use OSX +feature of using .command scripts to launch the man and info pages +(which is problematic with gatekeeper), it is much better to open them +directly with applescript. Had to move infoProc to xboard.c to do +this though. + +2014-12-20 20:47:05 +0100 H.G.Muller : +Implement -positionDir option GTK + +This volatile option determines where Load Position starts browsing. + +2014-11-17 22:51:19 +0100 H.G.Muller : +Allow promotion choice in variant asean + +Apparently the rules of this game are changed since the first draft +from 2011, and now you cannot just promote to Ferz ('Queen'), but pick +any piece. Meaning the Rook has to be the default, being the strongest. + +2014-11-11 14:40:43 +0100 H.G.Muller : +Fix crash on using Browse buttons in Tournament dialog Xaw + +The Xaw file browser assumes the text entries it is browsing for are +all in dialogs of the class TransienDlg, but the Tournament Options +dialog has been altered to MasterDlg, to allow it to co-exist with +Time Control and Common-Engine dialog (which can be opened through +buttons in it). Xaw did not like that, and the true DialogClass is +now used when setting the widget text. + +2014-11-10 14:29:25 +0100 H.G.Muller : +Fix -addMasterOption option + +The comparison of the date stamps in master and user settings file +was broken, because the date stamps were declared as unsigned, so that +the difference would never be negative. + +2014-11-02 15:52:25 +0100 H.G.Muller : +Fix premature disappearence of Lion victims + +The check test did not correctly undo a Lion e.p. capture, which +would make the victim already disappear after entry of the first leg, +which potentially could affect the second leg move generation. +(Not in Lions, though, but in Betza castlings it manifested itself.) + +2014-10-30 15:01:59 +0100 H.G.Muller : +Connect OSX Quit menu to ExitEvent + +The Quit menu item provided by OSX was not equivalent to the original +XBoard menu item, as it did not automatically call ExitEvent. (Which +closing the window did.) This meant a hard kill, without saving settings +or the last game, and not properly shutting down the engine(s). +We now catch the OSX 'WillTerminate' event to perform these tasks. + +2014-10-28 22:37:22 +0100 H.G.Muller : +Add USI/UCCI checkbox to Load Engine dialog + +Assign a default command to the -uxiAdapter when it was not yet defined, +as this will be used after ticking the checkbox, and the compile-time +default for it was an empty string, and will have found its way in +the user settings files of most users (making configuring through +the master settings file pointless). + +2015-04-18 11:09:34 +0200 H.G.Muller : +Allow promotion to piece with letter ID in Chu + +Normally all promoted versions in Chu have ID '+', but it could be +useful to allow piece promotion always, as long as the promoted piece +participates. + +2015-04-18 11:07:14 +0200 H.G.Muller : +Implement triple capture (not finished) + + +2015-03-13 22:58:15 +0100 H.G.Muller : +Make Claws glyph available in non-Chu variants + +The variant-dependent replacement glyphs for promotable pieces in Chu +are now assigned to pieces that reuse the replaced glyphs to represent +promoted pieces, rather than to unused promoted pieces. This means that +in Chu they now must be replaced by swapping, which avoids occurrence +of duplicats both in Chu and other variants. And thus frees piece types +that now can be used for new glyphs. As a result the Nightrider remains +available in Chu, and the Claw glyph in other variants. Other freed +pieces are for now used for the promotion Golds of variant shogi. + +2015-03-13 21:42:53 +0100 H.G.Muller : +Also allow Princess SVG piece to be diversify + +The image for the Grasshopper has a copy in the Chu-promoted series. +The unpromoted image (not needed in Chu) is now preferentially taken +from a Crown image rather than Princess, allowing distinction between +the promoted and unpromoted piece in kanji themes for Wa Shogi. +Any piece between Grasshopper and chu-promoted Marhall can now in principle +use a backup. + +2015-03-11 13:44:21 +0100 H.G.Muller : +Allow Lion double-moves in opening book + +Double moves can now be encoded in a Polyglot es promoType = 2, and +a code for two King steps in the to-square. The moves are retrieved +in the Alien Edition protocol format (i.e. comma-separated LAN). +HandleMachineMove had to be adapted to handle the two legs coming as one, +but otherwise the book code can just send the retrieved line directly +to the engine. + For Edit Book the format has to be converted to TSA-like for display, +to make the move parser that will read it on saving understand the move +as a single one. + +2015-03-10 17:57:08 +0100 H.G.Muller : +Fix reading of pieceToChar string and piece command + + +2015-03-09 22:04:17 +0100 H.G.Muller : +Fix printing of book moves for double-digit ranks + +The book-code move_to_string was not adapted to double digits, +and printed ':' in stead of 10. + +2015-03-09 20:35:45 +0100 H.G.Muller : +Fix display update during Edit Book + +When moves were deleted from the book, this was only shown after +quitting and restarting XBoard, because the stream that was used for +reading the book was a different one as the stream writing it. + +2015-03-09 20:26:34 +0100 H.G.Muller : +Remove chu theme file from XBoard install + +This file should come with the Chu Shogi piece images, not with XBoard. +In addition the file was obsolete, and used an erroneous option name. + +2015-03-08 17:46:08 +0100 H.G.Muller : +Fix probing of GUI book for board with more than 10 ranks + +The move-to-text code was not yet adapted to the convention that rank +counting only starts at 0 for boards of exactly 10 ranks. + +2015-03-05 15:58:56 +0100 H.G.Muller : +Implement piece suffixes + +The piece ID can now be suffixed with an 'ornament', which then +is considered part of the piece ID. This expands the number of pieces +that can be indicated in FEN or SAN to several times the alphabet. +This does not yet work in a promotion suffix, as it is mainly intended +for the large Shogi variants, which only use + as promotion suffix. +It also does not work on King (which deserves an unadulterated letter). +Currently the ornaments ' (single quote) and ! (exclamation point) are +defined, (through a macro SUFFIXES in moves.h), increasing the number +of piece types that can be represented to 78. + +2015-03-04 09:09:28 +0100 H.G.Muller : +Fix crash XBoard on changing Game List Tags + +When the Game List was not up, the attempt to immediately update its +contents after changing the game-header format through the Game List Tags +dialog would result in a segfault. + +2015-03-04 09:08:57 +0100 H.G.Muller : +Fix shift-JIS codes for N, P, +B, +R + + +2015-03-03 22:44:32 +0100 H.G.Muller : +Change book Zobrist key for Chu promoted pieces + +Promoted pieces for Chu (i.e. above Lion, with the exception of King) +now get keys derived from their base type, by XORing in a square-dependent +'promoted' key. This makes it possible to extend the unpromoted series +with new pieces without altering the keys for the promoted pieces. +So that the current book code works upto 48 unpromoted piece types, +rather than 48 piece types total. + +2015-03-03 22:17:26 +0100 H.G.Muller : +Fix book encoding of Chu promotion moves + +The Shogi promotion suffix had promotion code 8, which was not available +in Chu at all, due to the large board size. So in stead we use code 1 now. +Code 10 (or 2 in Chu) is reserved for encoding Lion moves, which currently +do not work at all. + +2015-03-02 22:14:59 +0100 H.G.Muller : +Remove debug printf for kanji + + +2015-03-02 22:12:36 +0100 H.G.Muller : +Wrap kif comments in braces + +The parser assumes that a text that parsed as comment contained +enclosing braces, but in kif files we have to apply those ourselves, +to prevent a bare comment (starting with '*'!) to appear between the moves. + +2015-03-02 19:59:18 +0100 H.G.Muller : +Improve reading of pieceToCharTable + +The piece-to-char string can now contain ' and ! suffixes on pieces, +which are taken together with the preceding piece ID. An encountered : will +cause the assigning to skip to the chu-promoted series of pieces, however +these are numbered. + +2015-03-02 19:16:09 +0100 H.G.Muller : +Extend book to 48 piece types and 256 squares + +Before the Zobrist key could only handle 24 piece types and 128 squares. + +2015-03-02 13:15:19 +0100 H.G.Muller : +Fix reading of startposition FEN starting with * + +When laoding a position file, a FEN starting with * would not be recognized +as FEN, and parsed in an alternative way that did not like the * either, +and caused a segfault. + +2015-03-02 12:49:36 +0100 H.G.Muller : +Implement -rankOffset option + +This option is useful on boards with blacked-out ranks, to force rank +number one to be a higher up. + +2015-03-02 12:04:58 +0100 H.G.Muller : +Use PGN result in Game List build to supply tag + +If a PGN tag was missing (as in loading of non-PGN game collections) +the game would be marked as unfinished ('*') in the Game List, even +when it contained a result. The kif-format resign messages are now cast +in a form that also recognizes the result-detail message. + +2015-02-28 11:05:21 +0100 H.G.Muller : +Implement kifu move disambiguation + +For sliders the Japanese disambiguation clues cannot be translated +to PSN-like disambiguators, so the problem had to be resolved in the +Disambiguate callback, at the time when the second piece of the +requested type is identified, so that the relative position of the pieces +is known. + +2015-02-27 17:13:52 +0100 H.G.Muller : +Make move parser understand kif-format Shogi moves + +For now only utf-8 kanji are recognized. The recognition of '*' as an +unfinished game end had to be suspended for this, based on encountering of +bare kanji (from the kif header), and is only regained after reading +of a PGN tag! + +2015-02-21 20:08:00 +0100 H.G.Muller : +Do not call illegal moves ambiguos + +When legality testing is off, an illegal SAN move would be interpreted +as if the mentioned piece type could move anywhere, which lead to an +'Ambiguous Move' message if there were multiple pieces of that type. +This should not be done if the piece moves are known through engine piece commands. + +2015-02-21 20:02:06 +0100 H.G.Muller : +Fix parsing of illegal drops from PGN + +These were parsed as if the first two characters were the from-square. + +2015-02-20 20:27:45 +0100 H.G.Muller : +Fix spurious promo-suffixes on drop moves + +The promo-suffix from the previous move would be left on drop moves, +and could even be set to the engine. + +2015-02-20 15:46:35 +0100 H.G.Muller : +Let promotion zone be 3 ranks on 8-rank shogi boards + +For the benefit of Euro-Shogi the rule that the depth of the promotion +zone is the board height divided by 3, rounded down (which works so well +for mini-, Judkins, Tori and regular Shogi) is given an exception when +the numer of ranks is 8. + +2015-02-20 14:07:40 +0100 H.G.Muller : +Fix illegal-drop fix + + +2015-02-18 22:54:12 +0100 H.G.Muller : +Suppress lift command on deselecting piece + +A click on the selected piece deselects it, and thus should not +result in a lift command to prompt highlighting of its moves. + +2015-02-18 22:49:20 +0100 H.G.Muller : +Suppress appearance of promotion popup when sweep-selecting + +In highlight-induced promotions the popup would appear even when it +should have been off. + +2015-02-18 22:47:30 +0100 H.G.Muller : +Fix illegal drops + +Even white was dropping black pieces on those! + +2015-02-15 23:17:29 +0100 H.G.Muller : +Fix click-click sweep-select + +If the up-click of the second click of a sweep-select would occur in the +from-square, the whole move would be ignored, and de-select the promoting +piece instead. + +2015-02-15 23:12:14 +0100 H.G.Muller : +Fix promotion sweep of black Pawns in Shogi + +The wrap-around when we run past white King should not be done in +toggle mode, where it is guaranteed we won't run out of range. + +2015-02-09 10:09:55 +0100 H.G.Muller : +Fix deselection of piece + +The patch to allow entering of friendly capture (intended as a kludge +for entering non-standard castling) had broken the ability to change +the selected piece by clicking another piece, as this was now always +interpreted as a friendly capture (which was then rejected as illegal). +By testing marker[][] in stead of legal[][] this can be avoided; legal[][] +was not a good measure, because in absence of a highlight command it +is completely filled with 1, to make everything legal. No friendly squares +will ever get marked unless a highlight command does it, though. + +2015-02-09 10:01:48 +0100 H.G.Muller : +Fix highlight-induced promotions + +A purple square in the highlight color FEN triggered the promotion +procedure, but the chosen promotion piece would not be suffixed to +the move. + +2015-02-09 10:01:16 +0100 H.G.Muller : +Castling fix 1 + + +2015-02-06 13:01:44 +0100 H.G.Muller : +Take heed of mnemonic indicator when clipping menu texts + +An underscore in the menu text should not be counted when deciding where +to clip the text to make the menu bar fit the window width. If clipping +would occur immediately after an underscore, just clip off the first +character to get the mnemonic back in view. (This makes _n from the +Engine menu.) + +2015-02-05 23:01:48 +0100 H.G.Muller : +Let Betza jO mean castling with non-edge piece + +This is useful in Omega Chess, where the Rooks are not on the edge. +The number of j tell how many pieces have to be between edge and castling +partner. + +2015-02-05 20:09:53 +0100 H.G.Muller : +Castle with nearest rather than corner piece + +An oversized sideway King step is recognized as castling, but instead +of using the piece closest to the board edge on that rank (ignoring dark +squares) we now use the piece that the King is looking at in that direction. +This fixes castling in Omega Chess. + +2015-02-05 19:44:10 +0100 H.G.Muller : +Allow friend-trampling format also for royal castlings + +The restriction that the trampling piece should not be King is lifted. +That the piece has an O atom in its Betza string is enough to qualify. + +2015-02-05 19:34:32 +0100 H.G.Muller : +Recognize castling double-moves from engine + +An engine could already send double-moves of the Alien protocol, +where the same piece moved twice, which were then glued into a single +step, with the intermediate square as trampled piece. Now when the +second leg is whith a different piece, it keeps the first leg as overall +move, and tramples the second mover. This translates castlings sent +as two-piece moves to the kludge format of trampling the own 'Rook'. + +2015-02-05 17:35:34 +0100 H.G.Muller : +Fix drops + + +2015-02-05 17:33:24 +0100 H.G.Muller : +Print castlings as double move + + +2015-02-05 12:24:00 +0100 H.G.Muller : +Fix illegal drops + +For illegal drops the 'from-square' was subjected to an on-board test, +which of course always failed, after which the move was reclassified +as an ImpossibleMove after all. (Leading to rejection even when legality +testing was off, and error messages like "Could not parse move".) + +2015-02-03 12:49:11 +0100 H.G.Muller : +Fix width of dual board GTK + +The message field here was too wide, because it was attached to a +non-existing table column. + +2015-02-03 10:14:56 +0100 H.G.Muller : +Fix Tab in ICS command mode + +Tab was not working to open a chat after oborting opening a new one, +when only one chat was open. + +2015-02-02 16:29:22 +0100 H.G.Muller : +Fix sending of messages from kibitz or c-shout chat + +Kibitz messages and c-shouts could be captured in their own chat window. +like shouts and whispers, but sending messages from such chats did not +get the proper prefixing, but were treated as tells to nonexistent players +'kibitzes' and 'c-shouts'. + +2015-01-29 11:20:37 +0100 H.G.Muller : +Ignore Tab in ICS Interaction if no chats assigned + +Thuis used to open a new chat, but Ctl-N exists for that now. + +2015-01-29 11:12:19 +0100 H.G.Muller : +Use Ctl-E in ICS chat to end chat + + +2015-01-29 10:56:45 +0100 H.G.Muller : +Use Ctrl-H in ICS Chat to close chat pane + +This used to be done by , but that now focuses board instead. + +2015-01-28 23:17:23 +0100 H.G.Muller : +Let transfer focus from Board to ICS Input + + in the input field of the ICS Interaction window transfers focus +to the board, but there was no way to transfer focus back without actually +typing something in the input field. now does that. Unlike typing +printables, it does not close the chat pane, though. In addition, +when the chat pane is open now also transfers focus to the board, rather +than closing the chat pane. This makes quick transparent switching between +board and Chat / ICS Interaction possible. It is no longer possible to +simply hide the chat pane, though. But this was usually done for typing +a command, and swicthing to the board with and typing the command +there has the same effect. + +2015-01-20 12:02:19 +0100 H.G.Muller : +Define mnemonics for main menu bar + + +2015-01-20 11:54:52 +0100 H.G.Muller : +Set position dir to handicap positions in shogi theme + + +2014-12-21 23:09:25 +0100 H.G.Muller : +Let file selecor remember last used directory (GTK) + +The file selector now starts in the directory that was last used +to load a file of the type we are now browsing for. (Supported types: +pgn, fen, trn, bin, png.) + +2014-12-20 20:47:05 +0100 H.G.Muller : +Implement -positionDir option GTK + +This volatile option determines where Load Position starts browsing. + +2014-11-17 13:00:37 +0100 H.G.Muller : +stash + + +2014-11-13 20:23:57 +0100 H.G.Muller : +Fix click-click moving with -monoMouse + +A to-click should never be interpreted as button 3. + +2014-11-13 18:33:42 +0100 H.G.Muller : +Implement -monoMouse option (XB) + +With the monoMouse option button-3 is no longer needed in Edit-Position +mode, but a button-1 click on an empty square will automatically behave +as if it was button 3. It can only be used with -pieceMenu false, +as it does not communicate the coordinates of the clicked square. + +2014-11-11 14:40:43 +0100 H.G.Muller : +Fix crash on using Browse buttons in Tournament dialog Xaw + +The Xaw file browser assumes the text entries it is browsing for are +all in dialogs of the class TransienDlg, but the Tournament Options +dialog has been altered to MasterDlg, to allow it to co-exist with +Time Control and Common-Engine dialog (which can be opened through +buttons in it). Xaw did not like that, and the true DialogClass is +now used when setting the widget text. + +2014-11-10 14:29:25 +0100 H.G.Muller : +Fix -addMasterOption option + +The comparison of the date stamps in master and user settings file +was broken, because the date stamps were declared as unsigned, so that +the difference would never be negative. + +2014-11-03 21:59:09 +0100 H.G.Muller : +Allow creation of DarkSquares in EditPosition mode + +Dragging an EmptySquare off board will make it a DarkSquare. Dragging +anything else off board (incl. DarkSquares) makes it empty, as before. + +2014-11-03 21:56:29 +0100 H.G.Muller : +Let Clear Board respect DarkSquares + +Usually we will clear the board to set up a new position. Not to +redesign the board shape. + +2014-11-03 21:51:46 +0100 H.G.Muller : +Fix sweep promotions for Lance on deeper zones + +Unlike Pawns, Lances always assumed a zone depth of 1 in deciding on +activating sweep promotion. (Because they did not naturally occur in +any variant that had a deeper zone.) + +2014-11-03 21:49:07 +0100 H.G.Muller : +Fix two-sided non-royal castling + + +2014-11-02 21:44:48 +0100 H.G.Muller : +Fix e.p. capture + + +2014-11-02 15:52:25 +0100 H.G.Muller : +Fix premature disappearence of Lion victims + +The check test did not correctly undo a Lion e.p. capture, which +would make the victim already disappear after entry of the first leg, +which potentially could affect the second leg move generation. +(Not in Lions, though, but in Betza castlings it manifested itself.) + +2014-11-02 15:31:34 +0100 H.G.Muller : +Implement non-royal castling + +The Betza move generator allows castlings to be specified on non-royal +pieces, and indeed the Omega-Chess 'guarding' castles Q with R. To +prevent ambiguity this is implemented as a two-leg move QxR-s (with 's' +the target square specified in the O atom). This automatically takes care +of removal of the 'Rook', so that in ApplyMove() we only have to put it +back on the proper side of the 'King'. + +2014-11-02 12:24:16 +0100 H.G.Muller : +Also set e.p. rights on move of Lance + +The Lance is intended as Pawn alternative (because of its slim shape), +except in Superchess (where it represents Amazon) and Chu. (In regular +Shogi the Lace is represented by Queen disguised as Lance!) So it would +be logical to also make its double-Pushes set e.p. rights. Except in +Spartan Chess, which has no e.p. capture. + +2014-11-02 11:29:31 +0100 H.G.Muller : +Allow e.p. capture on triple-Push + +Some variants (like Omega Chess) have an initial triple-Push on Pawns, +wich can then e.p.-captured on both of the squares they skip. To allow +the Betza move generator to supply such e.p. captures, a bit flag is +kludged into the EP_RANK state indicator on triple pushes, while the +main value there is that of the rank directly behind the pushed Pawn. +The Betza generator then also matches the square behind it with the +e.p.-capture to-square when the falg is set. + ApplyMove() also had to be adapted, to remove the Pawn two squares +behind the capturing one, rather than straight behind it, when this +flag is set. + +2014-10-31 23:46:13 +0100 H.G.Muller : +Make the promotion zone always 3 deep in Elven Chess + +The promotion zone in Eleven Chess was treated as in Shogi, and set +to the board height divided by 3. It is better to always make it 3. +This only makes a difference when the boardHeight is overruled, +but Elven Chess is a very useful parent variant when a 3-deep promotion +zone is needed. (Makruk would only allow promotion to Ferz, and Grand +Chess would need holdings and allow only promotion to captured pieces.) + +2014-10-31 22:59:23 +0100 H.G.Muller : +Locate corner piece in presence of DarkSquares + +The 'Rook' move implied by a castling indicated through an obver-sized +King step uses the corner pieces. But the corner isn't necessarily +the edge file if the board is not rectangular, but irregularly shaped +like in Omega Chess. So we have to ignore the DarkSquares, which are +not caounted as belonging to the board. + +2014-10-31 14:26:19 +0100 H.G.Muller : +Allow Betza castling with piece next to DarkSquare + +In variants like Omega Chess the board edges are not really the first +and last file, because of the Wizzard squares. So castling has to be +allowed not only with the piece on those files, but also when the square +beyond them is not part of the board anymore. + +2014-10-31 13:54:59 +0100 H.G.Muller : +Let Betza generator respect DarkSquares + +DarkSquares are not pieces, and should not be moved. When landing +on them they should be considered as off-board. + +2014-10-30 15:01:59 +0100 H.G.Muller : +Connect OSX Quit menu to ExitEvent + +The Quit menu item provided by OSX was not equivalent to the original +XBoard menu item, as it did not automatically call ExitEvent. (Which +closing the window did.) This meant a hard kill, without saving settings +or the last game, and not properly shutting down the engine(s). +We now catch the OSX 'WillTerminate' event to perform these tasks. + +2014-10-28 22:37:22 +0100 H.G.Muller : +Add USI/UCCI checkbox to Load Engine dialog + +Assign a default command to the -uxiAdapter when it was not yet defined, +as this will be used after ticking the checkbox, and the compile-time +default for it was an empty string, and will have found its way in +the user settings files of most users (making configuring through +the master settings file pointless). + +2015-05-02 20:30:08 -0700 Arun Persaud : +make GTK the default version + + +2015-05-02 20:26:48 -0700 Arun Persaud : +updated Dutch translation + + +2015-05-02 20:26:38 -0700 Arun Persaud : +updated German translation + + +2015-04-26 13:31:29 -0700 Arun Persaud : +fix typo in configure + + +2015-04-26 12:49:09 -0700 Arun Persaud : +updated French translation + + +2015-04-26 12:49:01 -0700 Arun Persaud : +updated German translation + + +2015-04-19 20:26:20 -0700 Arun Persaud : +added French translation + + +2015-04-19 20:19:18 -0700 Arun Persaud : +updated German translation + + +2014-11-22 09:22:37 -0800 Arun Persaud : +Added Serbian translation + + +2014-10-24 22:27:31 -0700 Arun Persaud : +remove OS X theme folder + + + +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