1ChangeLog for XBoard/WinBoard 2----------------------------- 3 4(latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. ) 5 62016-07-31 20:46:54 -0700 Arun Persaud <arun@nubati.net>: 7updated po/pot files 8 92016-07-31 20:45:22 -0700 Arun Persaud <arun@nubati.net>: 10new version number for release 4.9.1 11 122016-07-28 19:49:02 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 13Fix crash when logging out from ICS 14 15The patch that sent "logout" to the ICS on a fatal error backfired when 16the 'fatal error' was a disconnect, and caused a crash on Mac. We now 17suppress sending of this "logout" command in the disconnect case, 18communicated in a kludgy way (by requesting exit status 6666). 19 202016-07-28 14:24:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 21Defer book faking input move until ping balance 22 23The use of ping after editing a position had broken the book handling: 24'go' would be sent in the same batch of commands as this 'ping', so that 25in case of a book hit the book move selected on behalf of the engine 26would be fed back to XBoard before the engine had the opportunity to 27restore the ping balanceby sending 'pong'. Now the book move is fed 28through ScheduleDelayedEvent(DeferredBookMove) rather than instantly, 29when a MachineWhite/BlackEvent sets the engine playing. 30 312016-07-26 22:04:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 32Fix setting up btm positions with 'edit' 33 34The kludge to put black on move through a2a3 only works when there is 35a (normally moving) Pawn on a2. Otherwise the 'black' command has to be 36used. But this did take the engine out of force mode. So now we send 37another 'force' command after this 'black'. 38 392016-07-22 09:12:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 40Fix bare King adjudication 41 42The increase of the number of piece types to 66 gave the BlackKing code 43131, wich is > 127, so that using a signed char for it makes it < 0. 44This cause the black King in the adjudication code to be seen as a white 45piece. When black then checkmates with 2 pieces, only 1 piece is seen 46(Q), and then assumed to be a bare King! Now the piece value is passed 47through an (int) to prevent this. 48 492016-07-17 23:53:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 50Fix check testing in games without King 51 52A position without King was always considered as in check (because of 53Atomic), which is rather illogical and undesirable in games where no 54King participates (as it makes every move illegal). 55 562016-07-17 23:14:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 57Fix disambiguating Pawn moves in Xiangqi 58 59When multiple Pawns can go to the same square a move written as to-square 60only is interpreted as the forward push, rather than a sideway move. 61 622016-07-17 23:06:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 63Fix King leaving Palace in Xiangqi 64 65The rewrite of the move generator had overlooked this. 66 672016-05-16 22:21:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 68Fix compile error Xaw build 69 70The variable initialSquareSize was not defined in the Xaw build, 71and now has been moved to dialogs.h (which is part of both builds). 72 732016-05-15 10:05:40 -0700 Arun Persaud <arun@nubati.net>: 74updated po/pot files 75 762016-05-15 10:03:04 -0700 Arun Persaud <arun@nubati.net>: 77new version number for release 4.9.0 78 792016-05-12 15:49:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 80Forgotten header for previous patch 81 822016-05-10 21:52:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 83Abbreviate DATADIR to ~~ while saving XB themes 84 85The path name of theme files is typically quite long in XBoard, where 86installed data is very deep in the file-system tree. This path is now 87recognized, and replacend by its abbreviation ~~ when storing a theme 88in the -themeNames option. 89 902016-05-10 20:46:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 91Fix crash on too-long theme definitions 92 93Long file names for texture and pieces could make theme definitions 94so long as to overflow the buffers used to hold them. The buffer 95size is now doubled. 96 972016-05-10 20:29:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 98Fix debris after click-click explosion near board edge 99 100The redrawn grid was not exposed for board edges a knight's jump 101away from an explosion square after a click-click capture in variant 102atomic. This was due to the smartness in preventing overlapping 103exposures of neighboring square, deferring the task to expose the grid 104to squares that were beyond the edge. Now all squares in the explosion 105range are exposed including grid. 106 1072016-05-10 20:26:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 108Fix highlights clearing when highlight last move off 109 110When moves are not highlighted, the selected piece still is. But 111this highlight should be erased after the move. 112 1132016-05-10 19:42:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 114Fix redrawing of pieces dragged off board (bug #47888) 115 116The board was not redrawn after a piece was dragged off board, 117leaving the piece 'invisibly' in its original position, and also 118leaving the target squares marked. 119 1202016-05-09 07:36:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 121Describe new Edit menu items in texi file 122 123 1242016-05-09 07:08:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 125Add Mute all Sounds menu XB 126 127XBoard now also has a menu item to mute all sounds (except the Play 128button in the Sounds dialog) at the topof the Options menu, like WinBoard. 129 1302016-05-08 20:04:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 131Describe use of blue highlights in protocol specs 132 133The function of 'blue' markers, and the role of the 'choice' command 134in this is explained in the CECP specs. 135 1362016-05-08 19:35:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 137Fix forgetting 'choice' command after promotion 138 139The promotion restriction specified by a 'choice' command is now reset 140at the start of every new move, so that future promotion moves won't 141use it too. In addition,the 'choice' command is ignored when legality 142testing is on. 143 1442016-05-08 14:39:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 145Fix description of Tournament Options in texi file 146 147Some headers were not exactly equal to the dialog texts because of typos, 148frustrating the help clicks. And matchPause was not described at all. 149 1502016-05-07 23:33:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 151Fix multi-leg promotions 152 153Two-leg promotions were sent as gibberish to the engine (and thus 154rejected). It was also pretty annoying that XBoard's own idea of 155what should be promotions was still applied even when highlighting 156denied promotions (because the zone was different than assumed, or 157a promotion-on-entry rule applies). Now the legality markers from 158the GUI move generator are different from the red and yellow markers 159from an engine highlight command, and the latter are taken as a denial 160of promotion, and will suppress it. 161 1622016-05-07 22:10:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 163Erase markers before processing highlight FEN 164 165Markers from the Betza generator were only half-heartedly erased when 166a color-FEN camein through a highlight command, because FENs tend to 167skip empty squares in stretches. This was already fixed for the legal[][] 168array, but now it is fixed for the markers itself as well. 169 1702016-05-07 12:13:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 171Fix saving of piece colors as part of theme 172 173The wrong condition was used for deciding of whether the piece-color 174settings were relevant for a theme definition. 175 1762016-05-07 12:06:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 177Allow engine to force user to make non-standard promotion 178 179The engine can now force an unexpected promotion on moves entered 180by the user, by marking the to-square of such a move in blue. 181Releasing a piece on such a blue square will then defer further 182processing of the move (after having send the 'put' command to the 183engine) until reception of a 'choice' command to specify what the 184piece should promote to. This solves problems in Maka Dai Dai Shogi, 185where a piece capturing a contageous piece would only be allowed to 186promote to its normal promoted form if the to-square was marked in 187purple (offering a P / +P toggle). 188 1892016-05-06 07:42:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 190Fix saving theme 191 192The option -trueColors is now saved with the theme settings when a 193pieceImageDirectory was given in XBoard, and the piece colors are 194saved when this option is off even with a piece directory. The square 195colors are now also saved when useBooardTextures is on, but the textures 196are transparent. For this the transparency also had to be made visible in 197the WinBoard front end, (by moving the flags for it to backend.c), but 198always stay at the default 0 there. 199 2002016-05-04 15:18:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 201Fix deferral on sweep promotions 202 203When a sweep in the to-square due to a highlight-induced promotion 204had left the original piece as choice, the piece would be considered 205to promote to itself (i.e. the move would get the promoChar for its 206piece type), rather than to not promote at all. Some engines choked 207on this (HaChu). Now such a move is not considered a promotion. 208 2092016-05-01 21:41:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 210Implement -showMoveTime option 211 212A persistent option -showMoveTime can cause the time thought so far 213on the current move to be displayed in the clock field, behind the 214time left on the clock, in parentheses. 215 2162016-04-29 16:16:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 217Prevent crash on help-click for engine without manual 218 219The error message of "man w xxx" when no man entry for xxx exists 220appears on stderr, which is not caught by popen(). As a result the 221path to the man file gets set to an empty string, and saveStrCpy 222is not so save that it can copy an empty string, but quits XBoard 223through an ASSERT in that case. 224 2252016-04-28 14:36:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 226Allow engine to specify holdings larger than board height 227 228On reception of a 'setup' command we now automatically increase the 229number of board ranks to the holdings size if the latter is larger, 230but remember the number of added 'dead ranks'. When parsing a FEN these 231ranks are blacked out, and on generating a FEN they are ignored. This 232makes FENs behave like the board was not enlarged. 233 2342016-04-28 13:24:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 235Implement two-kanji -inscriptions 236 237When the -inscriptions option specifies a UTF8 string that starts with 238the character '2', it will assume the symbols that follow have to be 239drawn on the pieces in (vertically stacked) pairs of somewhat smaller 240size than it would use for single-character inscriptions. An optional 241'1' at the start of the string could be used as an escape to be used 242when the first character we want to inscribe would be a '2'. 243 2442016-04-27 22:22:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 245Prevent sending empty line to engine after multi-leg move 246 247As the pmoves are stored internally with a linefeed suffixed to them, 248this linefeed was mistaken for a promotion character in the multi-leg 249printing formats, and led to an extra empty line being sent to the 250engine on non-promotion multi-leg moves. Now a linefeed is replaced 251by a null character before sending the move. 252 2532016-04-27 20:34:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 254Fix piece commands for promoted pieces 255 256The flexible partner assignment had broken the code for 'piece' 257commands defining the moves for these pieces, as the promotion 258partner was still calculated the old way. 259 2602016-04-25 18:31:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 261Fix dragged piece during promotion popup 262 263When dragging to a promotion square, the piece would keep 'hanging' 264in the release position while the promotion popup was shown. 265(This usually covered it, but not always.) As after a choice is made 266the move will be animated, it was more logical to put it back on the 267from-square. 268 2692016-04-24 22:34:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 270Add option -pgnTimeLeft to print clocks in extended PGN info 271 272When set a persistent option -pgnTimeLeft makes XBoard save the time 273left after the move in the score/depth comments, rather than the time 274thought about the move. A leading sign will allow the reader to 275distinguish the two. The time is always printed in integer seconds. 276 2772016-04-24 21:10:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 278Fix EOF detection in PGN parser 279 280The result of fgetc was stored in a (char) before comparing it with EOF, 281which fails badly if the char is not signed. 282 2832016-04-24 20:53:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 284Alter piece images in Spartan Chess 285 286The Captain of Spartain Chess is now represented by the new Tower piece, 287so that the Crowned Rook pictogram can be (and is) used for the General, 288for better uniformity with other variants. 289 2902016-04-24 20:30:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 291Regularize Chu-Shogi piece assignment 292 293The pieces in Chu Shogi have been reassigned to other internal codes, 294so that juggling of images in variant cu is no longer needed. This 295became possible by the flexible assignment of promotion partners. 296It makes it easier to use Chu Shogi as parent variant without having 297to worry about a non-stadard meaning of the -pieceToCharTable. 298The built-in move generator had to be changed to work for the new 299assignment. 300 3012016-04-24 14:00:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 302Allow group specification in ArgInstall options 303 304The option that add a line to the existing multi-line options 305(e.g. -installTheme which adds to -themeNames) now can specify the 306line should be added within a group, by prefixing the line with 307"# GROUPNAME\n" (where \ and n separate characters). If a group of 308that name already exists, the line to add is insert immediately after 309the group header line. If not, the group is created, by adding both the 310group header line and the line to add, as well as an "# end" line to 311terminate the group. 312 3132016-04-24 12:30:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 314Save programStartTime in settings file rather than save time 315 316The -saveDate time stamp is used to decide whether XBoard has seen 317options added to the master settings file before. But it looks only 318to the master settings file at stratup. So when we save settings we 319now put XBoards startup time as -saveDte in it, so that installs 320when XBoard was already running would still find their way into the 321user settings file. 322 3232016-04-22 11:37:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 324Also supply shortcut for start directory in GTK file chooser 325 326The first shortcut entry in the Places list is now created for the 327directory in which XBoard started (which is $CHESSDIR if that was set). 328This is suppressed if it would be a user home directory, as this would 329already be in the list by default. 330 3312016-04-22 09:33:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 332Fix rounding when sizing 1x1 textures 333 334When 1x1 textures were sized to the actual square size, this could lead 335to bitmaps that were 1 pixel too small, presumably because of rounding. 336We now add 0.99 pixel to the desired size of the texture image before 337calculating the scaling factor (in floating arithmetic) that has to be 338passed to the cairo scaling routine, and this seems to solve the problem. 339 3402016-04-21 23:11:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 341Limit prefilling with color to textures with alpha channel 342 343When loading and preparing a texture we now test the format, and if 344the image has an alpha channel we stay on the save side, and always 345color the squares before drawing the texture. Only when the format 346is not ARGB32 we skip the color fill. (And the default textures 347do not have an alpha channel, so at least there no time will be 348wasted on pointless color fills.) 349 3502016-04-21 22:47:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 351Fix confinement of Advisor in Xiangqi 352 353Ever since the move-generator rewrite the Advisor could leave the Palace! 354Now it can only move in XQ as a normal Ferz when on the board axis, and 355everywhere els it can only move to the axis one square from the edge. 356This does not generalize in a natural way to larger boards or larger 357Palaces. 358 3592016-04-21 22:14:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 360Allow transparency in board textures 361 362Rather than coloring the square evenly OR rendering a board texture 363cutout we now always do both. Drawing the color will then erase anything 364that was on the square before, which is expected behavior, and will then 365remain visible where the texture is transparent. Before any transparency 366in the texture would leave the old square content (pieces, arrows, 367markers) visible. 368 3692016-04-21 19:09:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 370Make EditTags dialog non-wrapping 371 372As the data edited with this dialog (PGN tags, engine list, theme list, 373book moves, ICS menu definition) is always tabular, wrapping the lines 374is just confusing, and it is better to have an automatic hscroll in case 375the lines are too long to fit. 376 3772016-04-21 19:02:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 378Make preview message in file-chooser title bar a bit clearer 379 380 3812016-04-21 13:51:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 382Allow skipping to secondary series in -inscriptions string 383 384A slash in the UTF8 string of the -inscriptions option now will start 385the inscriptions of the pieces from the secondary series. This allows 386writing -incription values that will remain valid wehen new pieces would 387be added to the end of the primary series. 388 3892016-04-21 11:44:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 390Commit forgotten prototype 391 392 3932016-04-21 10:03:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 394Add menu item for editing ICS text menu 395 396An item Edit ICS Menu was added in the View menu, and will pop up 397the Edit Tags dialog for editing the -icsMenu option that determines 398how the ICS Text Menu will look. 399 4002016-04-21 09:26:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 401Add Edit Themes List menu item XB 402 403The Edit Tags dialog is now also used for editing the -themeName list, 404with a menu item in the View menu to pop it up. 405 4062016-04-20 23:56:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 407Make preview resistent to nothing being selected 408 409The name of the selected file could be a null pointer, and ScaleOnePiece 410does not like that for a pieceImageDirectory. 411 4122016-04-20 14:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 413Add option -jewelled to decide which King is a Zebra XB 414 415A new volatile option -jewelled is added, with default value -1. 416When it is set to 0 the King image will be replaced by the Zebra image, 417when it is 1 the same thing will happen to the black King. This color 418testing will be done before the swapping of colors ordered by -flipBlack, 419so that the color rather than the side of the (possibly flipped) board 420decides which King is displayed as Zebra. (While the board side determines 421whether a white or black Zebra will then be used in -flibBlack mode). 422Shogi themes can use this by providing a Jewelled General as Zebra (a piece 423that was not used in any Shogi variant). 424 4252016-04-20 11:51:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 426Point out preview in title of file chooser GTK 427 428 4292016-04-20 11:31:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 430Fix sizing problem in i3wm tiling window manager GTK 431 432Apparently i3wm creates a window of different size than the requested one 433without sending a configure-event that would allow XBoard to adapt its 434board size. This is now fixed by triggering a first configure-event by 435hand. The first resize had to no longer be suppressed to make this work. 436(This was not needed anymore anyway, as the board size is now protected 437during clock resize.) The -fixedSize option had also to be fixed. 438 4392016-04-19 20:49:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 440Let file chooser show preview of textures on board 441 442When browsing for a board texture or piece theme, selecting a file in 443the browser will now cause immediate display of the board with that 444texture or theme, which will revert if you cancel the choice. Or when 445you accept the choice, but cancel the Board dialog. 446 4472016-04-20 23:49:26 -0400 Joshua Pettus <jshpettus@gmail.com>: 448Renamed shogi jewled pieces to zebra 449 450 4512016-04-20 16:51:49 -0400 Joshua Pettus <jshpettus@gmail.com>: 452Update ru.po translation 453 454 4552016-04-17 10:16:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 456Provide item-by-item description of ICS Chat in texi file 457 458 4592016-04-17 10:13:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 460Provide help clicks on recently-used-engines menu items 461 462The items for recently used engines in the Engine menu are now recognized 463as such, and will look for help on "Recently Used Engines" rather than 464on the item text (which is the engine name). 465 4662016-04-17 10:05:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 467Use missing SVG from parent if -pid name starts with sub_ 468 469If the current piece-image directory's name starts with "sub_", any 470pieces not found in it will be searched in the parent directory. 471This allows variants that need just a few pieces of a theme changed 472to get their own sub_xxx sub-directory within the directory with SVG 473images, containing the deviating SVGs. This will work recursively. 474 4752016-04-17 09:32:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 476Fix one-click moving with engine-define and wild-card pieces 477 478In the disambiguation routine wild-card pieces were still treated as 479special even when explicit moves were defined for them. In addition, 480Disambiguate would try native XBoard piece motion for resolving ambiguous 481moves, which is sensible for parsing SAN (which might be saved by an old 482version of XBoard), but wrecks one-click moving. 483 4842016-04-11 20:44:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 485Improve resize/co-dragging GTK 486 487The reconfigure event of the main board is not processed directly, 488but sets a timeout to call the actual handler, which will be restarted 489when new reconfigure events occur during the timeout period. This makes 490that the (very timeconsuming) redrawing and moving of all windows 491will only be done if the stream of events dries up. 492 Unfortunately the ReSize routine called as part of the handling needs 493to be interruptable, which can cause recursive calling of the reconfigure 494handler. A variable 'busy' would ignore such recursion, but at the price 495of missing the interrupting event completely. The attempted fix to set 496a new timeout was flawed, as delayedDragTag would not have been cleared 497at that point. So we threw it out. Now 'busy' is a counter, which will 498remember if there were ignored recursion attempts, and then makes these 499into a harmless tail recursion, to do the resize/drag once more, based 500on the latest window parameters. 501 5022016-04-10 19:42:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 503Fix size collapse to 0 after too-small sizing 504 505The test for the end of the sizeDefaults list was one off, so that 506a too-small size request would be rounded to a size just behind 507the table, where there is an all-zero sentinel element. 508 5092016-04-09 23:40:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 510Also put themes and textures in file chooser GTK 511 512The themes and textures folders are now also directly listed amongst 513the 'Places' shortcuts in the GTK file chooser. 514 5152016-04-09 22:47:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 516Add DATADIR as shortcut folder to file chooser 517 518The file chooser invoked by a dialog Browse button now puts XBoard's 519DATADIR amongst the shortcuts in the 'Places' list, so you can navigate 520there with a single mouse click. 521 5222016-04-09 20:12:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 523Fix browsing for folders, and allow starting in DATADIR 524 525The previous path seemed to cause a segfault when browsing for a folder 526with an empty text-edit. In addition there existed a bug for browsing 527from the Engine Settings dialog, where the value of the option was taken 528as a filter. Both are fixed now. 529 The Option.textValue field, which for FileName Options holds the filter, 530for PatName Options could be NULL or "". The latter is now taken to 531mean that browsing should start in DATADIR, and is only used when 532browsing for sound files or pieceImageDir with empty pathname field. 533 5342016-04-09 17:29:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 535Start button-activated browse near old field contents GTK 536 537The file chooser activated by Browse buttons for filling a File or Path 538text edit started in the last directory it visited for that file type. 539But for the initial browse after startup it started in the current 540directory. Now it starts in the directory derived from the filaname 541currently in the text edit, if there is one, and only in the last- 542visited directory for the file type if the text-edit was empty. 543 5442016-04-09 16:30:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 545Extend full-board textures by periodic tiling (XB) 546 547Texture images with an -NxM suffix to their name are scaled to match 548that number of squares before cutting squares out of them. But if the 549actual board was larger than NxM the remaining squares fell outside the 550image and remained white. Now the cutting area is mapped back into 551the image, effectively behaving as if it is periodically tiling the 552entire plane. 553 5542016-04-07 22:14:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 555Mention support for Arena960 protocol with USI/UCCI checkbox WB 556 557Normally the -uxiAdapter option would be configured to use UCI2WB, 558and in the binary distribution of WinBoard it certainly will be. 559As UCI2WB now supports the UCI dialect Arena uses to play Chess960, 560people can use the USI/UCCI checkbox also for Chess960 engines that 561use that protocol, and the checkbox label now points that out. 562 5632016-04-07 19:34:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 564Finish castling and e.p. rights for Edit Position 565 566In stead of faking rights based on corner positioning of Rooks and 567e-file King, EditPositionDone now interprets the rightsBoard that 568recorded 'promotion clicks' on King, Rooks or Pawns to toggle their 569rights. This rightsBoard is initialized from the castling rights in 570the position that is being edited, and the clear and piece-pallette 571boards now also set these castling rights correctly. 572 5732016-04-06 18:22:46 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 574Describe Common Engine dialog item-by-item in texi file 575 576This had not been done yet, so that help clicks in the dialog did 577not retrieve any help. 578 5792016-04-06 16:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 580Fix history/eng.out font setting on sizing and other bug 581 582The coord font was set with the historyFont value, and when a valid 583font was taken from the fontTable, fontIsSet was not set. 584 5852016-04-06 16:08:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 586Apply fonts in 'other windows' after sizing 587 588 5892016-04-06 15:45:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 590Store fonts changed by font dialog in fonts table 591 592The fonts table holds fonts per type and size that should be saved 593in the settings file because they were either read from it, or explicitly 594specified by the user on the command line. This now also holds for 595fonts altered through the Fonts dialog, without waiting for the saving 596of settings, because by that time the boardSize might already be different. 597 5982016-04-06 14:38:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 599Only save fonts that are not defaults 600 601When the font in use is a (size-adapted) default, we don't save 602it in the settings file. 603 6042016-04-06 14:25:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 605Conditionally replace 'other-window' fonts on sizing 606 607Fonts not used in the main window (i.e. other than clock, coord and 608message) are now also adjusted on sizing, but not when this would 609mean replacing an explicitly specified font by a default one. 610If we size to a boardSize for which a font was specified earlier, 611we always switch to the latter, and if we were merely using the 612default font for the old size we switch to the default font for 613the new size rather than keeping it. 614 6152016-04-06 14:08:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 616Reset fontIsSet when sizing causes change to default font 617 618The array fontIsSet now tracks whether the fonts in actual use are 619from a (possibly size-adapted) default, or were specified by an option 620(also through a fontIsValid entry in the fontsTable) or the Fonts dialog. 621For changing a font on sizing a subroutine is now used. 622 6232016-04-06 14:08:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 624Fix bold button fix 625 626 6272016-04-06 13:03:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 628Lock board size when clock changes to two lines 629 630First writing in the clock widget will usually increase its height 631because the clock font is bigger than default. And for two-line 632clocks as used with logos this will even be more pronounced. This 633did cause the extra size to be taken from the board, ending up with 634a smaller square size than originally requested. Which again would 635cause any font changes to be saved as belonging to that smaller board 636size. So starting next time with the originally requested size (as 637opposed to the saved board size) would then not use those fonts! 638The board size is now locked during the first write to the clocks, 639or writes that change the number of lines. 640 6412016-04-06 12:13:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 642Fix Bold button and application of commentFont 643 644Oops! The B button in the Fonts dialog had disappeared with the 645suppression of the B(lue) button in the Board dialog! The comment 646font was applied to the wrong widget in the Edit Comment dialog. 647 6482016-04-06 11:56:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 649Only adjust fonts that are actually changed 650 651OK-ing the Fonts dialog now checks which fonts have been changed, 652and only applies those to the widgets that use them. In addition it 653sets a flag to indicate that the changed font no longer is a default. 654 A bug that did not apply the gameListFont for preview is now also 655fixed. 656 6572016-04-06 10:49:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 658Put fonts in font table in allocated memory after sizing 659 660To make it possible to change the font later it should always be 661put in allocated memory. 662 6632016-04-06 09:38:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 664Fix explosion of clocks for large board size GTK 665 666When packing things in a hbox for getting them on the same row, 667the hbox was made vertically expandable when the height of the first 668element was requested > 80 (assuming it would be a text memo). At 669square sizes > 81 the logos would require a height > 80, though, 670and would be the first element on the logo + clocks row. This would 671make them expandable, so that the window height would be equally divided 672between board and logos (which again would leave preciously little for 673the board). Now the expandability is reserved for TextBox Options only. 674 6752016-04-05 23:40:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 676Suppress menubar text clipping on resize in OSX App 677 678The menu bar is not in the window in OSX, so the menu texts should 679always remain full length. 680 6812016-04-05 22:07:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 682Fix clipping of menu texts after sizing 683 684When tinyLayout = 0 the texts should not be clipped at all, rather 685than to a single letter. 686 6872016-04-05 21:05:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 688Enlarge background of startup message 689 690Because of rounding of the character size the message width exceeded 691the background for some square sizes. 692 6932016-04-05 20:23:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 694Adapt clock and message font after board-window sizing 695 696The clock and message font are now adapted to the new -boardSize value 697determined after sizing of the board window. When a valid font for the 698new size was already available (e.g. read from the settings file), it 699uses that. If not it uses the hard-coded default font name. In both 700cases a %d in the name is expanded based on the size-table indication 701for that font. This makes the clock font adpat even without prior history. 702 7032016-04-05 20:19:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 704Prevent message text widening window GTK 705 706Removing the size request from the label widget of the message field 707made the width of this field grow with the text displayed in it, and 708with it the entire board window. This could be prevented by setting 709an ellipsize mode for it. 710 7112016-04-05 18:52:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 712Pick -boardSize on window width rather than square size 713 714For boards with other than 8 files the squares will be scaled different 715from what the sizeDefaults say, so that the font and menu clipping 716determined by the latter will match the total board width. We now pick 717the boardSize after sizing such that popup with an 8-wide board next time 718would reproduce the board width. 719 7202016-04-05 18:40:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 721Adjust menu-text clipping to square size 722 723After window sizing has adjusted the square size the text on the menu 724bar are now clipped to a length that would make the menu bar not exceed 725the width of the board, similar to what is done at startup. 726 7272016-04-05 16:49:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 728Make user-adjusted board size quasi-persistent (GTK) 729 730After adjusting the board-window size the newly calculated square size 731will be used to derive a new -boardSize for saving in the settings file, 732by rounding it down to the nearest standard size. (But the size actually 733used for display will not be rounded!) This will cause the board to pop 734up with approximately the same size next time. The remembered initial 735square size will also be adapted to the rounded value, so that the fonts 736will start to apply to the new -boardSize as well on saving settings. 737This will only be done if the old -boardSize value did not contain 738commas (meaning it specified more than just square size). 739 7402016-04-05 16:36:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 741Unlock width requests in board window GTK 742 743The message field and clocks had a specified width to force them as 744wide as the board irrespective of their text content. This prevented 745the user to size the board window below the initial width. The size 746requests are now removes after initial pop up, as they already were 747for Graph widgets. This means the width of the window can now be 748decreased, although we quickly run into the point where the texts 749on clock or menu bar prevent further shrinking. (Which could only 750be prevented by clipping the menu texts more, or decreasing the clock 751font.) 752 7532016-04-05 14:32:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 754Adjust window height after clock-font change 755 756A routine LockBoardSize are added, and called to protect the board's 757Graph widget from absorbing the height change pf clock and message field. 758Enlarging these now forces the top-level window to expand, and after the 759change we try to reduce this window size to tightly fit the board to 760squeeze out empty area after shrinking. 761 7622016-04-04 12:04:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 763Fix help clicks in Engine Settings dialogs 764 765A previous patch had broken recognition of the .IX Item "..." lines. 766 7672016-04-04 12:00:57 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 768Ignore stderr when reading from man command 769 770BufferCommandOutput was using StartChildProcess also used for engines, 771which combines the output from stdout and stderr on the pipe. On FreeBSD 772"man -w" produces spurious error messages, however, which would append 773to the path of the man file. To work around this we now use popen() 774to collect the output of the man command during help clicks. 775 7762016-04-04 10:53:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 777Silence Clang warnings 778 779The assignment of the variant number to appData.variant was a real bug. 780The signedness of EP_STATUS looked like one, but seemed to work in practice. 781 7822016-04-13 14:22:35 -0400 Joshua Pettus <jshpettus@gmail.com>: 783Update nl.po Translation 784 785 7862016-04-10 08:32:47 -0400 Joshua Pettus <jshpettus@gmail.com>: 787Update es.po translation 788 789 7902016-04-06 17:29:37 -0400 Joshua Pettus <jshpettus@gmail.com>: 791Update de.po translation 792 793 7942016-04-05 23:59:50 -0400 Joshua Pettus <jshpettus@gmail.com>: 795Update fr.po translation 796 797 7982016-04-05 15:11:25 -0400 Joshua Pettus <jshpettus@gmail.com>: 799Update zh_CN.po translation 800 801 8022016-04-04 13:41:23 -0400 Joshua Pettus <jshpettus@gmail.com>: 803Update uk.po translation 804 805 8062016-04-03 13:55:34 -0700 Arun Persaud <arun@nubati.net>: 807new developer release; updated po/pot 808 809 8102016-04-03 21:25:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 811Start implementing rights control in Edit Position mode 812 813Clicking on an already selected Rook or King will toggle its virginity, 814displaying the new state in the message field. 815 8162016-04-03 16:28:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 817Fix erroneous use of @itemx 818 819The offending @itemx directives were changed to @item. This does mean 820an unwanted empty line will appear above the corresponding headers. 821 8222016-04-03 10:23:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 823Save font settings based on initial square size 824 825Font settings were saved by the square size as it was at the time of 826saving, which could have been altered compared to the reading of the 827fonts from the settings file by interactive sizing of the window, or 828by switching to a variant with other board dimensions. Now the initial 829square size is remembered and used for this. 830BEWARE: we might want to undo this when window sizing would affect font 831selection, rather than just sizing the board. 832 8332016-04-02 19:12:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 834Let color-pickers start at current color 835 836 8372016-04-01 22:01:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 838Use GTK color picker instead of R, G, B and D buttons 839 840By an awful hack in the generic dialog constructor ever Button Option 841with the name R, G or B is now completely ignored, while Buttons with 842name D will be replaced by GtkColorButtons. Instead of catching the 843"clicked" signal these will respond to the "color-set" signal, invoking 844a handler private to the GTK front end, which will set the color text 845and colorof the reset button as the platform-independent handler of the 846RGBD buttons would normally have done. 847Unfortunately this had to use deprecated GTK2 stuff, as the recommended 848GTK3 equivalents are not understood on Ubuntu 10.04. 849 8502016-04-01 16:34:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 851Use the official GTK font selector 852 853A gtk_font_button is now put in the Fonts dialog to allow selection 854of a general font. The individual window fonts got a button marked * 855to assign this font to them. To implement the selector button some 856kludgy code had to be added in the generic dialog constructor, to 857recognize these Button Options by name, and use the special GTK 858widget to implement them, or assign an unusual callback. 859 8602016-04-01 11:13:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 861Describe Fonts dialog in texi file 862 863 8642016-04-01 10:30:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 865Silence warning due to missing prototype 866 867 8682016-04-01 10:28:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 869Fix translation of dialog texts GTK 870 871When using the Option names during the creation of GTK widgets, 872the gettext macro _() was not applied to them, so they remained 873untranslated even though they were marked with N_() in the Option 874tables. 875 8762016-04-01 10:19:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 877Fix Xaw for font damage 878 879A dummy for ApplyFont is added in the Xaw front end to allow compiling it, 880and the Fonts dialog refuses to pop up when it recognizes an X-font setting 881for the message font, with an apology. 882 8832016-04-01 10:08:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 884Silence warnings 885 886 8872016-04-01 09:50:46 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 888Replace coord font control for ICS font control 889 890In the Fonts the control to set the coord font is removed, as the Cairo 891version currently ignores the -coordFont setting. Instead a control to 892set the font in the ICS Console is added. As the fonts there are controlled 893by tags, and would ignoe the global font setting of the widget, the font 894tag is redefined through a kludgy call of AppendColorized with a NULL 895string as text. This is now interpreted as a signalfor recreating the font 896tag based on the current icsFont, which will then only be applied to 897future messages. 898 8992016-04-01 09:13:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 900Let font entries show preview of their own setting 901 902The font settings are now applied to the text entries in the Fonts dialog 903that control them, at popup of the dialog as well as when changing them 904through the buttons. 905 9062016-04-01 00:46:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 907Add Fonts dialog 908 909A dialog is added to set the various window fonts, either by typing or by 910operating buttons for Bold, Italic, or adjusting the point size. 911 9122016-03-29 21:23:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 913Add headers for <<, <, > and >> buttons in texi file 914 915 9162016-03-29 21:20:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 917Fix help search 918 919The help search was ignoring the last character of the searched string. 920Which almost neven mattered, except when the searched string was only 9211 or 2 characters, like for the buttons in the button bar. 922 9232016-03-29 20:20:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 924Fix disambiguation for one-click moving 925 926The test in the DisambiguateCallback to ignore duplicate moves (as 927sometimes generated by Betza descriptions) was only testing for the 928same from square. This is good enugh if the to-square is always given 929(as in SAN), so that moves with different to-square would always be 930rejected anyway. But to determine if a piece has only a single move 931we disambiguate with unknown to-square. So all moves but the first 932of a piece would be ignored, making it always pass the only-move test. 933We now test both from- and to-square, and only ignore moves that 934have both of these equal to that of an already matching move. 935 9362016-03-29 16:33:30 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 937Fix exposing of premove highlight and move exclusion XB 938 939Now that drawHighlights does not trigger an expose event itself, it is 940essiential that DrawPosition is called after every SetPremoveHighlight() 941call. But it wasn't after entering a premove, and after a drag-drop move 942exclusion the old position was not redrawn at all, leaving the dragged 943piece 'floating'. 944 9452016-03-29 16:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 946Fix erasing of premove highlights XB 947 948The to-square premove highlight was not marked for erasure (but 949the from-square was marked twice if the to-square higlight changed), 950leading to accumulation of highlighted squares during PV walking. 951 9522016-03-28 22:31:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 953Describe New Shuffle dialog item by item in texi file 954 955 9562016-03-28 22:24:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 957Fix New Shuffle Game dialog 958 959The insertion of the Fischer-castling option had broken the operation 960of the 'randomize' and 'pick fixed' buttons. 961 9622016-03-28 21:56:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 963Describe -epd option in texi file 964 965 9662016-03-28 21:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 967Describe divide-by-60 option of TC dialog in texi file 968 969 9702016-03-28 21:37:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 971Suppress participation of second engine in EPD mode 972 973Starting the second engine, and initializng it for the next game in 974TwoMachineEvent() is now suppressed in EPD mode, so that the latter 975even works with a non-existent second engine. 976 9772016-03-28 09:56:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 978Also copy -sd from -fd when no second engine defined 979 980If the second engine defaults to the first, and the first needs to 981be run in a specific directory, the second engine would not start 982if we do not copy its directory too. 983 9842016-03-27 18:17:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 985Only let second engine default to first when of same type 986 987When the first engine is UCI, making the second engine equal to the 988first without setting the corresponding protocol flag, is a certain 989recipe for causing trouble. So copy the flag too. 990 9912016-03-27 17:27:30 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 992Change EPD reporting 993 994The individual positions now get "time: move" printed when solved, 995and "move?" or "move???" when not solved (the latter when it was an 996avoid move). The total time is now reported also, at the end. 997 9982016-03-27 13:21:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 999Clear total solving time at start of match 1000 1001When multiple EPD suites are launched interactively, the time should be 1002calculated separately for each of them. 1003 10042016-03-27 12:59:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1005Allow a list of best moves in EPD 1006 1007All characters upto a semicolon (rather than space) are now read as bestMove 1008string. For checking the correctness of a solution all moves in this string 1009are parsed and compared. 1010 10112016-03-27 12:02:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1012Internationalize EPD messages 1013 1014 10152016-03-27 11:58:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1016Print average solving time of EPD suite 1017 1018The number of good solutions and average thinking time on them are 1019now printed in the 2nd engine-output pane. 1020 10212016-03-27 11:22:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1022Fix determination of EPD solving time 1023 1024Repeating an already found solution would increase the solving time 1025like the repetition was the first good solution. 1026 10272016-03-26 23:35:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1028Add more EPD code 1029 1030The -epd option now causes color assignment such that the first engine 1031plays all moves. Extraction of the bm field from the EPD is fixed, 1032and clearing of the second engine-output pane is suppressed. 1033 10342016-03-24 23:46:01 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1035Add -analysisBell option to use move sound in analysis mode 1036 1037The persistent integer option -analysisBell can be used to let the 1038move sound play in analysis mode for every PV that arrives after the 1039dely (in seconds) it specifies has elapsed since the current analysis 1040search started. 1041 10422016-03-24 17:25:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1043Fix crash on loading variant engine after changing variant 1044 1045The New Variant dialog did not store the variant name (and in fact 1046several other option values, such as nick names) in allocated memory, 1047but just by pointing to it, which made XBoard crash when the options 1048were parsed again (as part of an engine load), and it tried to free() 1049the old value. 1050 10512016-03-24 16:15:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1052Fix variant switch on engine load 1053 1054When an engine was installed with an engine-defined variant, selecting 1055that engine through the Load Engine dialog did not properly switch to 1056the intended variant. Now doing this at the start of a game forces an 1057extra New Game event. This event now also remembers the name of any 1058unknown variant, in the hope the engine will define it. 1059 10602016-03-24 14:40:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1061Describe Board Options dialog in texi file 1062 1063The Board Options dialog is described item by item, so that the help 1064clicks on it will work. 1065 10662016-03-23 22:54:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1067Reorganize texi file 1068 1069For the help clicks to work universaly, it is necessary that all dialog 1070items are described separately, with headers exactly equal to the label 1071they have in the dialog. This is a first step in that direction. 1072 10732016-03-23 20:25:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1074Allow help-clicks on Label Options with linefeeds 1075 1076Some of the LabelOptions in dialogs do have linefeeds. (In particular, 1077those in the Load Options dialog.) So we allow help clicks on them, 1078but add linefeed with the termination characters. Except that a leading 1079linefeed will be clipped off. 1080 10812016-03-23 20:16:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1082Make sizing more robust (GTK) 1083 1084On sizing we now do not immediately replace the buffer canvas, but set 1085a flag in the Graph Option to indicate the canvas is invalid. Instead 1086of taking the canvas handle from a global variable (csBoardWindow) we 1087now obtain it in every drawing call from a function, which first tests 1088if the canvas is still valid. If it is not, we replace it by one of 1089the size specified in the Option (which was obtained from the window 1090size the moment the flag was set). 1091 The GraphExpose requests now bypass the general GraphEventProc, by 1092calling the drawing of the exposed area (which was relocated to a 1093separate function) directly. This avoids the overhead of checking for 1094resizing through requesting the window geometry. 1095 10962016-03-23 11:07:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1097Improve behavior of secondary board on sizing main window 1098 1099Resizing the main window now immediately orders corresponding resizing 1100of the secondary board window, plus an immediate redraw, rather than 1101waiting for a move to occur on that board. 1102 11032016-03-22 22:37:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1104Prevent FICS bell character fro printing in ICS Console XB 1105 1106FICS sends bell characters (ascii 7) at the start of many messages. 1107We now strip a leading bell off the message before appending it to 1108the text memo of the ICS Console, and ignore the message altogether 1109if it was just bell + linefeed (to prevent each move of an observed 1110game adding an empty line). 1111 11122016-03-22 20:59:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1113Fix erasing and exposing of arrow on secondary board 1114 1115For the second board the damage flags set for exposing a freshly drawn 1116arrow are left for the next draw to erase that arrow again. 1117 11182016-03-22 15:40:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1119Remove debug printf 1120 1121 11222016-03-22 15:38:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1123Pop up warning when engine manual is not available 1124 1125Help clicks on the engine dialog pop up a warning when the manual is 1126not found. It seems useful to alert the user that this info has to 1127come from the manual of the engine' rather than XBoard's. 1128 11292016-03-22 15:10:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1130Add -men option for changing piece moves 1131 1132A volatile string option -men allows the user to change the moves of 1133the pieces from the command line similar to what the VariantMen tag 1134does from a PGN file. Using the New Variant dialog resets the option. 1135 11362016-03-22 14:56:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1137Add -fen option 1138 1139A volatile string option -fen can now be used to set the initial position 1140of the initial variant through the command line, removing the need to 1141prepare a position file for this. Otherwise the effect should be the same 1142as when using -lpf: New games will be started from the specifoed positon 1143until the New Variant dialog is used. The position is 'auto-sizing', i.e. 1144the FEN is used to set the board geometry as well. 1145 11462016-03-22 12:04:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1147Make startup announcement self-disappearing 1148 1149The startup message is now configurable through an option -startupMessage, 1150and the master config file sets this to announce the help clicks. 1151The message can contain multiple lines. The display of lines that are a 1152sub-string of the option -messageSuppress is suppressed, however. 1153Using a help-click sets this latter option to the help-click announcement, 1154so that people who have used help clicks won't see this message anymoe. 1155Displaying the startup message is now only considered on board draws 1156that ordered a full repaint. 1157 11582016-03-22 10:36:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1159Forget piece redefinitions before loading game 1160 1161The effect of a VariantMen tag in a previous game of the same file 1162was also applied to later games that did not have such a tag. 1163 11642016-03-22 09:41:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1165Prevent crash on loading empty game file 1166 1167The parser code is made resistant to loading a file with 0 characters in it. 1168 11692016-03-21 23:50:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1170Silence warning WB 1171 1172No prototype for SendToICS was in a sufficiently shared header. 1173 11742016-03-21 23:44:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1175Fix replay of multi-leg move 1176 1177Replaying multi-leg moves made the moving piece reappear on the 1178from-square during continuation legs in WinBoard. 1179 11802016-03-21 23:39:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1181fix2 1182 1183 11842016-03-21 23:37:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1185fix 1186 1187 11882016-03-21 22:30:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1189Implement 3-leg animation in WinBoard 1190 1191Move animation in WinBoard now also pays attention to the kill2 square. 1192Besides a bug was fixed that made the animated piece re-appear on the 1193from-square during the second leg, and the victimes are made to disappear 1194when the animated piece passes over them. 1195 11962016-03-21 21:51:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1197Move dataDir definition to args.h so WB can also use it 1198 1199 12002016-03-21 20:24:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1201Fix exposure of square highlights 1202 1203The exposure of highlighted squares assumed the line gap was 1 pixel, 1204and thus failed for wider grid lines. 1205 12062016-03-21 13:16:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1207Fix built-in Lion move 1208 1209The 3-leg patch had uncovered a latent bug in the built-in move generation 1210for Lions/Falcons/Eagles, which would qualify moves as FirstLeg even when 1211the kill-square was already set. 1212 12132016-03-21 12:25:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1214Repair flashing of moved piece (XB) 1215 1216The flashing was not working (at least in GTK), because the redraw of 1217the square needed even processing to show something. So the draw/erase 1218loop that does the flashing needs to call DoEvents() to make things 1219visible. This however could lead to recursive processing of LeftClick, 1220as the press of a click-click move already enters the move and starts 1221the flashing, so that the release usually comes before the press 1222processing has finished. Which would cause it to be interpreted as 1223a second move identical to the first. A static flag inside LeftClick 1224now makes it ignore clicks during flashing, which is just what we had 1225to do with the release anyway. Flashing should be suppressed during 1226sweep-selection under-promotion. 1227 12282016-03-21 11:33:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1229Streamline XBoard board drawing 1230 1231XBoard was drawing in a very inefficient way. To improve efficiency 1232alteration of highlights will not immediately be exposed, but be 1233marked as damage so that a subsequent DrawPosition call will show them. 1234Squares touched by a to-be-erased arrow will be treated likewise. 1235The drawing now has three passes: repairing damage (which erases 1236highlights and arrow), emptying the from-square, and drawing new 1237pieces and highlights. 1238 12392016-03-21 11:14:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1240Improve board drawing 1241 1242The erasing of target-square markers could lead to flashing of the 1243moved piece. It was also ugly when the piece was slipped under a marker. 1244The actual display of the marker change on erasing can now be deferred 1245to a later position draw, and this is used when erasing after a drag-drop 1246move to do it after the move was accepted (so the piece would not be 1247flashed on the from-square, but still displayed without marker on it 1248after the drop). For click-click the erasure is shown before animation 1249starts. A problem with showing deselection when target-square marking 1250was off is now also fixed. 1251 12522016-03-17 22:13:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1253Cleanse help texts of some common TeX escape codes 1254 1255The TeX escapes \s-1, \s0 around all-capital words, \*(L, \*(R for 1256distinguishing left/right quoting, a mysterious \& and a \ in general 1257(e.g. for \- as forced hyphen) occur quite often in the man-page text. 1258They now no longer clutter the help popups. 1259 12602016-03-17 12:04:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1261Also provide help on adapter options 1262 1263Adapters often add their own options to thoso of the engine in the 1264Engine Settings dialog. Polyglot, for instance, has many options, 1265their names all starting with "Polyglot ...". We adopt this as a 1266convention, so that XBoard can compare the adapter name (the name 1267of the program actually run, if that is different from the name 1268of the engine binary) with the start of the option name for which 1269help is requested. If there is a match it will conclude we are dealing 1270with an adapter option, and will consult the adapter manual (for an 1271option without the adapter-name prefix) instead of the engine manual. 1272 12732016-03-17 11:32:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1274Also buffer engine man page 1275 1276The path to the engine man file, and possibly its unzipped text, are now 1277also buffered, together with the name of the engine they are for, so that 1278they can be re-used when the engine has not changed. 1279 12802016-03-17 00:01:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1281Also recognize .IX lines in man file for help clicks 1282 1283Beside .B and .SS directives, which tend to mark item headers in the 1284XBoard manual page, ".IX item" lines are now also recognized. 1285Such lines are produced by pod2man for =item directives in the .pod file. 1286 12872016-03-16 14:40:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1288Implement XBetza iso modifier 1289 1290An 'i' modifier on a continuation leg will force it to be of equal length 1291(measured in steps) as the latest sliding leg (i.e. of maximum length != 1) 1292before it. This is useful for defining rifle captures of sliding pieces. 1293On initial legs it still means the move is for virgin pieces only. 1294 12952016-03-15 15:15:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1296Allow access to gzipped man files 1297 1298For *.gz man files we run gunzip to buffer the unzipped version in 1299memory. For engines this buffer is not saved, because the engine might 1300change. (A bit course...) 1301 13022016-03-15 12:36:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1303Fix reading of long man files 1304 1305The low-level read call to read from the spawned process did not 1306always return as many characters as we asked for, so we now use fread. 1307 13082016-03-15 11:29:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1309Obtain name of XBoard's man file from external command 1310 1311Rather than hard-coding the path to the man file, it is now obtained 1312by running "man -w xboard". 1313 13142016-03-15 11:08:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1315Add routine to run daughter process and collect its output 1316 1317The routine BufferOutputCommand can run an arbitrary command in a 1318separate process, and collects its output in a buffer of the requested 1319size. It will kill the process when it doesn't terminate spontaneously, 1320and return the allocated buffer. 1321 13222016-03-22 20:56:08 -0400 Joshua Pettus <jshpettus@gmail.com>: 1323Update es.po translation 1324 1325 13262016-03-19 00:03:20 -0400 Joshua Pettus <jshpettus@gmail.com>: 1327Mark the gtk browse button for translation 1328 1329 13302016-03-18 16:45:16 -0400 Joshua Pettus <jshpettus@gmail.com>: 1331Update nl.po translation 1332 1333 13342016-03-16 20:58:07 -0400 Joshua Pettus <jshpettus@gmail.com>: 1335Update fr.po translation 1336 1337 13382016-03-16 20:56:42 -0400 Joshua Pettus <jshpettus@gmail.com>: 1339Update de.po translation 1340 1341 13422016-03-15 23:00:17 -0400 Joshua Pettus <jshpettus@gmail.com>: 1343Update zh_CN.po translation 1344 1345 13462016-03-15 22:54:36 -0400 Joshua Pettus <jshpettus@gmail.com>: 1347Update uk.po translation 1348 1349 13502016-03-14 19:36:44 -0700 Arun Persaud <arun@nubati.net>: 1351configure.ac: add pangocairo to list of needed libraries 1352 1353 13542016-03-14 15:18:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1355Display message on the board at startup 1356 1357Drawing the board in the first second of running will display a short 1358message on top of it, to alert the user to the help-click possibility. 1359 13602016-03-14 15:07:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1361Fix expansion of ~~ in OSX App 1362 1363The ~~ expansion was still using the configured DATADIR rather than 1364the dynamic one. 1365 13662016-03-14 13:59:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1367Print dynamic Datadir/Mandir on --show-config 1368 1369Instead of printing the directories from the congigure process, 1370we print those actually in force, so that the info is valid in the 1371OSX App (which changes it) too. 1372 13732016-03-13 23:25:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1374Use dataDir/manDir variables always 1375 1376The DATADIR and MANDIR string constants obtained from the configure 1377process are now stored in variables, which are then used everywhere 1378instead of them. The OSX App overwrites these variables, so the 1379directory location can be made dynamic. 1380 13812016-03-13 10:34:08 -0700 Arun Persaud <arun@nubati.net>: 1382new developer release; updated po/pot 1383 1384 13852016-03-13 10:51:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1386Uncomment line commentized for debugging purposes 1387 1388The call attaching help clicks to Label Options was still commented out. 1389 13902016-03-13 09:21:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1391Fix popdown of Error/Help dialog through window-close button 1392 1393Closing an Error popup that was a daughter of another dialog (as Help 1394dialogs would often be) through the window-close button instead of 'OK' 1395would permanently block popdown of the parent dialog, because the info 1396that the Error dialog was still up would not have been reset by the Error 1397dialog's OK function. GenericPopDown now calls the OK function of such 1398a dialog (actually FatalDlg) even on a REJECT response. 1399 14002016-03-12 23:32:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1401Make help clicks resistent to NULL-pointer Label names 1402 1403This should be needed, but just in case... 1404 14052016-03-12 23:30:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1406Silence two warnings 1407 1408 14092016-03-12 16:51:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1410Make help clicks also work for UCI engines 1411 1412The help clicks were using the engine command to find the manual, 1413but this would not work for engines with parameters or using adapters. 1414Now it used the -fcp/scp arguments, and tidies these to stripp off 1415directory path and arguments. (cps->tidy could not be used, because 1416it is overwritten by the name reported by the engine itself, which 1417usually contains version numbers not in the manual name.) 1418 14192016-03-12 16:41:38 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1420Make location of man file dynamic for OSX 1421 1422MANDIR is redefined in the case of an OSX App to be a variable, in a 1423similar way as DATADIR, so it can be determined at startup, and the App 1424can be 'portable'. The way to concatenate it with the rest of the file 1425name hd to be made variable-proof. 1426 14272016-03-12 14:33:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1428Suppress empty label at top of Edit Tags dialog 1429 1430There is a Label Option above the text memo of the Edit Tags dialog 1431that can display a message, but it is only used in cmail mode, and 1432is passed as a NULL pointer otherwise. (On which GenericPopup then 1433crashed when it wanted to attach a help click.) Now we simply suppress 1434display of that widget when there is no message. 1435 14362016-03-11 23:43:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1437Also try to get help for engine options 1438 1439Help clicks in the Engine Settings dialogs will try to scan the man page 1440of the corresponding engine for info about the option. This is a bit 1441tricky, as it must assume the name of the engine is the same as that 1442of the engine command and the manual for it is in section 6. In addition 1443it must look in both /usr/share/man and /usr/local/share/man, as it cannot 1444know whether the engine was installed from source or repo. Finally it 1445must hope the man page isn't gzipped. 1446 14472016-03-11 16:59:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1448Fix recognition of .SS lines in manual 1449 1450The logic for recognizing .SS headers was reversed, and .SS lines were 1451also not tested for to decide whether display should end. 1452 14532016-03-11 16:54:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1454Let configure supply path to manual file 1455 1456A new macro MANDIR is passed fro the configure process to the compiler 1457in a -D option to inform XBoard where to find its manual page. 1458 14592016-03-11 15:54:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1460Fix segfault on single-line help text 1461 1462The help text itself is displayed in the ErrorPopUp as a label, 1463and allowing help clicks on a label would apparently trigger some 1464nfinite recursion of event handlers. Making labels in the ErrorDlg 1465not sensitive to help clicks solved this. 1466 14672016-03-11 15:19:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1468Mention item in title bar of help dialog 1469 1470 14712016-03-11 15:02:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1472Make dialog labels and comboboxes also accept help clicks 1473 1474Combobaoxes and bare labels had their own code for creating the label, 1475nd were not yet made sensitive to help clicks. (Which is a bit cumbersome, 1476as GTK does not allow attaching callbacks to label widgets, so that you 1477have to wrap them first into something that does.) The bare labels could 1478furthermore already have a callback specified (used for the clocks); 1479in this case, and the case of multi-line labels, no help handler is 1480attached. 1481 14822016-03-11 14:25:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1483Do not save ICS password in command history 1484 1485Blanking out the password while typing it would have little effect if 1486the arrow keys could recall is. So we don't save any lines in the 1487history when echo is off. 1488 14892016-03-11 13:46:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1490Fix file-type combobox of Xaw file-selector dialog 1491 1492The list of combobox labels got out of phase with the list of values 1493after 'Images', because the value for the latter was missing. 1494 14952016-03-10 16:28:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1496Allow hyphen in name of help item 1497 1498Some dialog items have names with hyphens in them, such as 'Auto-save', 1499and these would all be confusedif the true name was taken to end before 1500the hyphen. 1501 15022016-03-10 13:03:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1503Suppress echo of password in ICS Chat window (GTK) 1504 1505The GTK version uses the set_visibility GTK call to switch echoing 1506of the ICS input widget. In Xaw this is a dummy. EchoOn/Off had to 1507be moved to dialogs.c for this. 1508 15092016-03-10 10:41:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1510Fix popdown of menus on help click 1511 1512Because menus by default also react to button3 clicks, using those 1513clicks for help popup needs to suppress the default action. But this 1514action was also reponsible for the popdown of the menu, so that it 1515stayed up, covering the help dialog. Now we do allow the default action, 1516but flag to the generic menu handler that it should not execute the 1517menu function. 1518 15192016-03-09 23:15:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1520Implement rough help popup 1521 1522A routine is added that searches a given text header in the man file, 1523and then displays the following text until the next header (after 1524skipping additional headers that come before any text) in a message 1525box. The text uses a simple fill and wrap to line length > 80, and 1526ignores all control characters, except empty lines. Both .B and .SS 1527directives are recognized as headers. 1528 15292016-03-09 17:47:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1530Implement help clicks 1531 1532A button3 click on the text labels of text-edit, spin, checkbox and 1533button controls, as well as menu items, now pops up an alert box 1534with the name of the clicked item. This as a first step to making an 1535interactive help that would use that name to look up information on the 1536item in the texi file, and display that. 1537 15382016-03-09 10:53:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1539Logout from ICS after fatal error 1540 1541Exiting of XBoard after a fatal error such as crashing of the engine 1542could be delayed by popping up an exit message, which then had to be 1543confirmed first. This would leave XBoard in zippy mode open for new 1544challenges, which it would even accept, and lose by forfeit. Now 1545we send a 'logout' command to the ICS before popping up the exit 1546message. 1547 15482016-03-09 09:44:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1549Deprecate -defaultPathEGTB option 1550 1551The value of the -defaultPathEGTB option is now automatically cleared 1552at startup, after appending it as "nalimov:" format to -egtFormats. 1553We also no longer preconfigure a (dummy) value for -defaultPathEGTB, 1554but instead one for -egtFormats, (which will show up in the EGT path 1555field of the Common Engine Settings dialog now -defaultPathEGTB is 1556empty) to serve as an example for the syntax of -egtFormats. 1557 15582016-03-08 23:26:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1559Make EOF error conditionally non-fatal (XB) 1560 1561When the ICS Chat window is open, an EOF fromkeyboard is ignored. 1562 15632016-03-08 23:26:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1564Fix braces problem in texi file 1565 1566 15672016-03-08 21:55:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1568Describe ICS Text Menu in texi file 1569 1570 15712016-03-08 20:41:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1572Fix WinBoard compile errors 1573 1574 15752016-03-08 20:36:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1576Fix dressed-letter IDs in VariantMen PGN Tag 1577 1578Due to sign extension the ID suffxes would never be printed. 1579 15802016-03-08 20:11:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1581Make texi file sub-section free 1582 1583Because the sub-sections did not work, all subsections (which occurred 1584mainly in the Options Menu section, to describe the various menu dialogs) 1585are now upgraded to sections. 1586 15872016-03-08 19:20:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1588Describe choice command in protocol specs 1589 1590 15912016-03-08 19:14:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1592Improve highlight-arrow pointing and fix its erasure 1593 1594The code to calculate whether the arrow shoud endnear an edge or corner 1595of the to-square was buggy, leading to orientation-dependent decisions. 1596In addition the damage trace wasnot exactly following the arrow, so that 1597sometimes parts of the arrow were not displayed or erased. 1598 15992016-03-08 17:20:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1600Improve triple-leg-move animation 1601 1602When both locust squares (kill and kill2) are set, animation now takes 1603place in three stages. As kill2 is not retreived when stepping through 1604the game history, this works only for moves just entered or played by 1605the engine. Replayed moves are still animated in 2 stages, though, which 1606does look pretty good on 2-out-1-in moves. 1607 16082016-03-08 11:51:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1609Implement triple capture 1610 1611Moves can now have two locust squares (and promote even when they are 1612locust captures). This applies to move entry (but only through click- 1613click; buttonless dragging does not yet work), as well as sending or 1614receiving from engine, and generating and parsing SAN. 1615 16162016-03-07 16:16:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1617Allow use of context menu in text memos GTK 1618 1619Attaching a user handler for button3 events to text memos would suppress 1620the normal context menu, so you could copy/paste in those only through 1621the keyboard. Now a button3 event while there is a non-empty selection, 1622or through a click behind all text, will pop up the normal context menu. 1623 16242016-03-07 13:46:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1625Show moves in Edit Book window as SAN 1626 1627The opening moves in the GUI book for the current position shown in the 1628Edit Book window are converted to SAN before showing them, when they have 1629the simple form fromSqr toSqr promoChar. (This excludes drop moves and 1630double moves.) 1631 16322016-03-07 12:26:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1633Cleanup Edit Tags/Book/EngineList a bit 1634 1635The Tags dialog is also used for two other functions, and this hack 1636causes some problems. This patch ameliorates these a bit. The Edit 1637Engine List now displays its own title (instead of "Tags"), and popping 1638it up pops down which other function was in use first. (Unfortunately 1639this can result in data loss for uncommitted changes.) The name of the 1640"save changes" button has been changed to "commit changes", to suggest 1641less strongly that a change in the Engine List would be immediately 1642saved to file (which in reality requires Save Settings Now as well). 1643 16442016-03-07 11:50:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1645Make OK and Cancel buttons appear in top-level dialogs GTK 1646 1647The OK and Cancel buttons are created in GTK as part of the 1648dialog_with_buttons call, but to get top-level windows another call 1649had to be used, which does not automatically provide them. 1650We now explicitly add the buttons as requested by the EndMark Option, 1651paying attention to the SAME_ROW requests. (The code for that is currently 1652a bit messy, as one suspects that the cumbersome testing on Option.type 1653was done exactly to make the SAME_ROW request of EndMarks ignored.) 1654The GTK "clicked" signal is translated to a "response" in a kludgy way, 1655through a PopDownProxy routine. 1656 16572016-03-06 23:52:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1658Fix spurious clearing of Engine Output during PV walk 1659 1660Due to messing with forwardMostMove during PV walking the Engine Output 1661panes couldbe cleared when a new PV arrived. 1662 16632016-03-06 23:45:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1664Prevent out-of-turn grabbing of piece in analysis mode 1665 1666In Analyze modeit was possible to grab pieces for dragging of the side 1667that did not have the move. 1668 16692016-03-05 22:59:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1670Fix parent dialog of Error Popup 1671 1672If the parent dialog of the Error Popup is wrong, the OK button in it 1673will not manage to pop it down. Migrating the Tourney Options to their 1674own DialogClass had changed testing for a parent other than the board 1675window from TransientDlg to MasterDlg, but Toerney Options was not the 1676only such dialog throwing up errors. (E.g. New Variant coulddo it too.) 1677So we now test if MasterDlg or TransientDlg is up, and use those as 1678parent if they are. 1679 16802016-03-05 22:42:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1681Beef up variant detection in New Variant dialog WB 1682 1683In WinBoard the enabling of radio buttons was still done when the 1684variant nameon the button was a sub-string of the variants feature, 1685without requiring a match of the full name (so that 'grande-acedrex' 1686would enable the 'grand' button of Grand Chess). 1687 16882016-03-05 22:33:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1689Fix crash in New Variant dialog Xaw 1690 1691The earlier patch to beef up variant recognition couldnot handle it 1692that some buttons has -1 as variant value. 1693 16942016-03-05 09:02:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1695Remove warning from About box against GTK build 1696 1697It was still mentioned that the GTK build is unstable. 1698 16992016-03-03 11:11:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1700Suppress underscores in Xaw menus 1701 1702The underscores that indicate shortcut keys in GTK menu items were 1703showing up in the Xaw menus. Now we remove them when creating the menu 1704button. 1705 17062016-03-03 10:40:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1707Fix another Xaw compile error 1708 1709This is what you get when changing code without testing if it at least 1710compiles... 1711 17122016-03-02 23:42:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1713Silence warning 1714 1715Conversion to use of strncpy had led to the length of a (char*) being 1716tested, and atypically we got away with that so far because the copied 1717string was only 2 characters long. Now we use length limit 4, which also 1718renders the use of strncpy instead of strcpy useless, but at least 1719does notproduce a warning. 1720 17212016-03-02 23:39:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1722Fix recognition of title in small layout 1723 1724The title handle was set based on invalidation of Options by making 1725their type -1, while this nowadays is done by setting them to Skip 1726(as enum types are unsigned). 1727 17282016-03-02 23:27:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1729Fix compile error in SetComboChoice Xaw 1730 1731 17322016-03-02 15:18:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1733Fix crash on changing piece directory 1734 1735The loop for deleting the old pieces in ActivateTheme was still assuming 1736the four promo-Golds were stored behind the normal set, which for the 1737new piece ordering isn't the case anymore. 1738 17392016-03-02 11:14:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1740Fix black border around saved diagrams (WB) 1741 1742The 'Save as Diagram' function of WinBoard produced bitmaps with a black 1743border, because the buffer bitmap used for drawing the board (which was 1744flushed to file to create the diagram) had a size larger than the board, 1745including somemargins of the main window. Now we copy it to a board-sized 1746bitmap first, and flush that. 1747 17482016-03-01 21:09:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1749Preserve flip on pasting game when auto-flipView is off 1750 1751Normally starting a new game would restore the orientation as given by 1752the -flipView option on the command line, which might flip the view even 1753when -autoFlipView is off. A new game started through Paste Game now 1754always preserves the current orientation when -autoFlipView is off. 1755 17562016-03-01 20:39:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1757Describe engine grouping in texi file 1758 1759The paragraph on the Edit Engine List menu item now contains a description 1760of the method for organizing engines in groups by adding "# GROUP" and 1761"# end" lines. 1762 17632016-03-01 10:35:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1764Add 'divide by 60' checkbox in Time Control dialog XB 1765 1766The TC could not be set to fractional minutes (base time) or seconds 1767(increment) in the GTK version, as the spin controls there do not allow 1768you to type such numbers. An added checkbox 'Divide entered times by 60' 1769allows you to enter base time in seconds, and increment in 1/60 sec. 1770The dialog always pops upwith this checkbox unticked. 1771 17722016-03-05 16:30:45 -0800 Arun Persaud <arun@nubati.net>: 1773updated copyright for 2016 1774 1775 17762016-03-05 13:03:04 -0800 Arun Persaud <arun@nubati.net>: 1777fixed configure script: GTK default was enabled even with --with-Xaw 1778 1779 17802015-10-26 23:08:31 -0700 Arun Persaud <arun@nubati.net>: 1781update Russian translation 1782 1783 17842016-02-29 22:54:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1785Print score with same sign in message and engine output 1786 1787There are two options that affect the score POV (always or analysis only), 1788but they were only working on the score in the Engine Output window, and 1789not in the message field of the board window. Now they work for both. 1790 17912016-02-29 22:24:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1792Fix bugs in previous 3 commits 1793 1794The commits before this were pushed a bit prematurely, inspired by 1795the wish tosee if I could push from my new laptop. 1796 17972016-02-29 14:24:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1798Add configure-options section to texi file 1799 1800The options data, saveDate, addMasterOption, installEngine, installTheme 1801and autoClose are now described in the manual. 1802 18032016-02-29 13:15:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1804Update texi file 1805 1806 18072016-02-29 12:53:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1808Add -installTheme option 1809 1810A new option of type ArgInstall is added, which will add its argument 1811to the -themeNames list (under the usual restriction it is not already 1812in there, and that it was not seen before). By appending such a (time- 1813stamped) option to the master settings file with -addMasterOption, 1814newly installed themes can be made to trickle their way into the user's 1815private settings file. All the theme package has to is call XBoard with 1816the applicable -addMasterOption "-installTheme ...." arguments in its 1817install script, and copy any associated files to XBoard's datadir. 1818 18192016-02-28 12:01:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1820Fix disappearance of premoved piece 1821 1822When a premove was done by dragging, (which for expected recaptures would 1823be the only way, as click-click moving selects the intended target), 1824the moved piece would disappear from view. This because the from-square 1825would not be redrawn (in normal move execution it would remain empty). 1826This could have been an XBoard-only problem. In any case We now force a 1827complete redraw of the board, which is not very elegant, but should always 1828fix it. 1829 18302016-02-28 11:34:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1831Fix bug #43792 (no highlights after rejection of premove) 1832 1833If the sending of a premove fails to add a move to the game, because 1834XBoard itself judges the move illegal (which could only be determined 1835after arrival of the opponent move, not when it was entered), XBoard 1836now re-applies the move highlights for that opponent move. 1837 This does not solve the problem yet with legality testing off, 1838when it later turns out the ICS rejects the move. 1839 18402016-02-27 21:59:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1841Fix bug #45599 (inclusion of keysym.h in Xaw) 1842 1843 18442016-02-27 20:50:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1845Fix bug #45773 (needless #inclusion of cairo-xlib.h) 1846 1847As this header no longer exists this was causing a compilation error. 1848In the GTK version they are of course never needed, and the draw.c 1849that is also part of an Xaw build also does not call any function to 1850draw on an Xaw surface directly. 1851 18522016-02-27 20:45:01 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1853Fix bug #45775 (Infinite loop on nonexistent texture file) 1854 1855 18562016-02-27 20:37:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1857Fix bug #45774 (GTK compile bug with ENABLE_NLS) 1858 1859The declaration of an XFontSet function was not protected by 1860 18612016-02-27 17:06:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1862Move Common Engine dialog to Engine menu (WB) 1863 1864The item is renamed to "Common Settings", whith shortut 'C'. 1865The "Edit Engine List" item is also assigned a shortcut ('E'). 1866 18672016-02-26 23:35:39 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1868Use mouse wheel for selecting piece in Edit Position mode (XB) 1869 1870Rather than calling ForwardEvent() and BackwardEvent() directly from the 1871mouse-wheel handler, we now call a backend routine Wheel(), which gets 1872the pointer coordinates passed to it (which we must remember during 1873mouse move events). This then calls the Forward/Backward event, except 1874in EditPosition mode, where it changes the piece in the square below the 1875pointer. 1876 18772016-02-17 20:55:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1878Allow promotion choice in engine-defined variants 1879 1880When variant shatranj, courier or makruk, which normally do not have 1881promotion choice, are used as parent for an engine-defined variant, 1882we now invoke the piece-selection routine. This to make these variants 1883also suitable as parent for variants that do have choice (e.g. to give 1884them the baring rule, which is unique for Shatranj). 1885 18862016-02-17 12:47:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1887Fix erasing of arrow highlight (XB) 1888 1889On large board with long-range oblique moves (like in Grande Acedrex) 1890the head of the arrow was not always erased (and not always drawn either). 1891This was partly due to the arrow pointing to a corner of the target square 1892even if the path was nearly orthogonal, while the damage trail is always 1893assumed to connect the square centers. Having the arrow point more 1894precisely and widening the damage trail a bit solved the problem. 1895 18962016-02-09 10:59:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1897Allow promotion on two-leg move 1898 1899After a second-leg of a SAN move the parser now checks for apromotion 1900suffix, and if any is found this is used by ParseOneMove / LoadGameOneMove 1901to set the promoChar. In converting to SAN for the parseList the promoChar 1902is now appended to the second leg, rather than the first, and the Edit Book 1903window will also show it. The promochar is written behind the kill square 1904in the moveList, and when sending the move there to the engine it is 1905appended to the second move of the multi-move pair. 1906 19072016-02-09 10:25:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1908Fix type-in of hit-and-run captures 1909 1910Processing of the move in ParseOneMove (which basically duplicates 1911the code of LoadGameOneMove) was not yet adapted to ignore ';' as a 1912promotion character when it is internally used to append 'kill squares' 1913where locust capture should take place.. 1914 19152016-02-09 09:53:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1916Allow setting of piece nicknames from pieceToChar string 1917 1918A piece IDs in the pieceToChar string can now be suffixed by "=L", 1919with L an arbitrary single letter, to define a nickname for the piece. 1920Such a nickname would make it possible to specify a complex ID like +I' 1921as promotion choice, and by indicating this in the pieceToChar string 1922the engine can configure that through the 'setup' command. This facility 1923is needed to force promotion after capture of a contageous piece in 1924variants with Shogi promotion, such as Maka Dai Dai Shogi. 1925 19262016-02-09 09:31:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1927Slight speedup of parsing promotion suffix 1928 1929 19302016-02-08 13:21:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1931Fix printing of 'x' in position diagram 1932 1933The times where 'x' was used as PieceToChar result for an empty square 1934are long behind us; 'x' now is a valid piece ID. 1935 19362016-02-07 22:48:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1937Improve variant recognition for enabling buttons (XB) 1938 1939Buttons for variants were enabled when the name of the variant they 1940selected was a sub-string of waht the engine could play, so that 1941Grand Chess (variant grand) would be enabled by Fairy-Max' grande-acedrex. 1942Now we test if the matched sub-string of the engine's variants feature 1943is immediately followed by a comma (or at the end). 1944 19452016-02-06 18:18:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1946Fix using VariantMen PGN tag for both colors 1947 1948Black pieces were not recognized as the same as white pieces. 1949 19502016-02-06 16:19:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1951Always assume FEN in variant-fairy PGN game is initial position 1952 1953As variant fairy is a catch-all without a defined initial position, 1954the FEN tag n a PGN game for this variant must be considered an initial 1955position. So we copy over the FEN position to the initial one in this 1956case. Otherwise castling would always be thought illegal in fairy games 1957loaded from PGN. 1958 19592016-02-06 15:12:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1960Process VariantMen PGN tag 1961 1962On loading a PGN game the VariantMen tag is now parsed, and the 1963move definitions are assigned to the mentioned pieces. 1964This only works when the pieceToCharTable is defined in advance! 1965 19662016-02-06 13:46:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1967Let VarianMen PGN tag work with dressed letters 1968 1969The internal 'character' codes > 127 are now printed as letter + suffix. 1970 19712016-02-06 10:25:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1972Remove debug printf 1973 1974 19752016-02-06 10:21:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1976Fix spurious promotion partners 1977 1978When defining a new promotion pairing through ^L the default partners 1979of L and +L must be made partnerless, or they would still promote to +L 1980or demote to L. 1981 19822016-02-05 11:26:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1983Fix printing of piece ID in illegal SAN moves 1984 1985Illegal SAN moves did not add ' or ! suffixes to the piece ID, 1986and printed shogi-promoted pieces as a '+' without ID. 1987 19882016-02-05 10:06:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 1989Fix clipping of GTK menu-bar labels for broad boards 1990 1991The number of characters kept in the menu-bar labels was dependent on 1992square size, but did not take into account the number of files of the 1993board. So when there were more than 8 files, the label texts were often 1994clipped while there was in fact plenty of room to display them fully. 1995Now the adjustment of square size based on number of board files is done 1996after the other window parameters have been picked based on the window 1997width calculated as 8*squareSize. Only the default line gap is then 1998adapted to the actual square size (consistent with what is done during 1999user sizing of the board later). 2000 20012016-02-04 19:43:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2002Change the piece order again 2003 2004The internal piece encoding is now altered such that the uninteresting 2005ones (promoted Shogi pieces and symmetry partners) are all at the end, 2006just before King. These now start with the PromoBishop. A slash in the 2007pieceToChar string skips to this new 'promoted series', so that strings 2008can be made 'future proof' (for when new pieces are added before it). 2009The promoted Chu pieces all get new book keys by this, but as it is 2010unlikely that they occurin opening lines, this was considered acceptable. 2011The +L, +T in Chu are now represented by Pegasus and Gnu rather than 2012Knight and Chancellor, but the latter two are defined as fall-backs to 2013remain compatible with old Chu themes. 2014The +N, +L, +S replacements in Shogi are now also taken from amongst the 2015regular pieces, rather than extra images stored beyond King. 2016 20172016-02-03 10:24:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2018Adapt Chu-Shogi pieceToCharTable to new piece order 2019 2020 20212016-02-03 09:34:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2022Fix demoting in Edit Position mode 2023 2024A click on an already selected demotable piece will now cause demotion, 2025rather than disappearance of that piece, similar to how clicks on a 2026selected promotable piece will promote it. 2027 20282016-02-03 09:23:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2029Clear highlights after moving piece in Edit Position 2030 2031When moving a piece during Edit position the from-square remained 2032highlighted, but the to square was not highlighted, which would 2033create the erroneous impression that the (now-empty) from-square 2034was selected (and ready to obliterate a piece on the next click). 2035Now this highlight is cleared. This was preferred over also highlighting 2036the to-square, because this is not really a move in a game. 2037 20382016-02-02 19:18:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2039Fix aborted detour under-promotion XB 2040 2041When a dragged Pawn was released before the promotion piece was fixed, 2042this would fake a release on the from-square. But the repair of animation 2043damage would take place on the to-square derived from the actual mouse 2044coordinates. When this was different from the from-square, the animation 2045damage (consisting of removalof the piece) would thus not be repaired 2046by redrawing that square, as normally (when the to-square is different) 2047it should remain empty. Now we mark the from-square as damaged when the 2048detour under-promotion changes the dragged piece. 2049 20502016-02-02 17:34:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2051Fix default piece in Shogi promotions 2052 2053In Shogi the default should be promotion, but it was using Queen like 2054the other variants. As the +/= issue was decided based on comparing this 2055default promotion piece with the moved piece, the Lance (which internally 2056is represented by Queen) would by default defer. Now the up-click of 2057a drag-drop move (which would bypass sweep selection) sets the default 2058choice to the promoted partner if the pieceToCharTable specifies one. 2059 20602016-02-02 17:31:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2061Fix sweep promotions to Tokin 2062 2063Sweep promotions of multiple pieces to Tokin were not working, because 2064once the promoted version was shown it would always demote to Pawn. 2065Now the toggle always demotes to the selected piece. 2066 20672016-02-02 13:10:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2068Fix setting default piece from 'choice' command 2069 2070PieceToCharwas used instead of CharToPiece. In addition it is important 2071to deduce the color from currentMoe rather than forwardMostMove, as 2072one could be entering a move in the middle of a game (e.g. when editing 2073or starting a variation). 2074 20752016-02-02 12:09:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2076Fix two compiler warnings 2077 2078 20792016-02-02 09:27:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2080Allow pieces with dressed-letter ID as promotion choice 2081 2082Testing for the occurrence of a piece in the promotion set specified 2083through the 'choice' command now takes dressing of the piece IDs into 2084account. 2085 20862016-02-01 21:51:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2087Fix castling rights 2088 2089The expansion of the number of piece types to > 64 had broken the 2090accounting of castling rights, because the code for NoRights is also 2091a piece code (as it is stored in the board), and had gotten a value 2092so high that it could no longer be stored as signed char. This is 2093solved by declaring the initialRights array as unsigned char instead. 2094 20952016-02-01 20:45:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2096Implement engine-requested settings-popup WB 2097 2098 20992016-02-01 17:32:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2100Allow O1 as Betza castling descriptor 2101 2102The notation On is now also recognized as castling for n=1, but this 2103uses the same system as non-royal castling ('guarding'), which is 2104performed as hit-and-run capture of the Rook (or whatever you want to 2105castle with) while moving to the destination (one square away here). 2106This to avoid the ambiguity with normal King moves (which for the 2107guarding always existed). 2108 21092016-02-01 00:12:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2110Allow engine to force popup of its settings dialog 2111 2112An engine can now force popping up of its settings dialog by sending 2113'feature done=3' to the GUI. It can clear its option list (e.g. for the 2114purpose of resending it because of altered settings) by sending 2115'feature done=0'. Such resending would cause the dialog to be updated 2116when it was already open, or close it and pop up a new one when the 2117engine specifies it has to be redesigned by ending the list with 2118'feature done=2'. 2119 21202016-01-31 17:28:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2121Change pieceToCharTable order of pieces beyond Lion 2122 2123The positions in the pieceToCharstring no longer correspond to internal 2124piece type, but are remapped such that more useful symbols reside near 2125the beginning. The piece types themselves could not be re-ordered, 2126as this would alter the calculation of the opening-book hash key. 2127 21282016-01-31 15:53:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2129Expand numer of new piece types to 2 x 11 2130 2131The number of pieces added between basic and promoted series, and between 2132the latter and King is increased to 11, and they are ordered differently. 2133The image used for the Chu-Shogi White-Horse piece,which was a duplicat 2134of the Knight, is now replaced by a winged Knight. 2135 21362016-01-30 09:09:03 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2137Use flexible promotion assignment 2138 2139The promoted partner now comes from an array, rather than by adding 2140a constant (11, or 27 in chu) to the base type. The array is initialized 2141so the first 11 pieces (the old 'base pieces') point to the second 11 2142(the old 'promoted series'), and the latter point back (so the array 2143also contains the demotions!). The pieces above 21 (= Lion) point to 2144themselves. 2145 Parsing of the pieceToChar string now considers ^, - and * prefixes 2146rather than independent IDs. Nevertheless it is the - and ^ that get 2147stored in the pieceToCharTable (the latter as '+') for the corresponding 2148piece. But the ID that follows them specifies what other piece they are 2149the demoted or promoted partner of, rather than their own ID, and is 2150thus used to update the promoPartner array for both of them. 2151 A * prefix does mean the following ID is the ID assigned to the piece, 2152but that the piece promotes to Tokin (if the latter is assigned a '+'). 2153 The default pieceToChar string for varaint chu is adapted to use this 2154new assignment mechanism of promotion partner. (Chu is so far the only 2155variant that needed other pairing than the default.) 2156 21572016-01-29 23:15:28 -0500 Joshua Pettus <jshpettus@gmail.com>: 2158Bit more accelerator stuff 2159 2160Bit of code didn't do what I wanted it to and took away to many 'alt' 2161flags 2162 21632016-01-29 22:01:25 -0500 Joshua Pettus <jshpettus@gmail.com>: 2164oops, accidentally added a .orig file from a patch 2165 2166 21672016-01-29 21:32:58 -0500 Joshua Pettus <jshpettus@gmail.com>: 2168Change accelerators again to be more mac like 2169 2170After playing around with the beta quite a bit, it really bothered me 2171to have half be ‘cmd’ and half be ‘ctrl’, to the point where it almost 2172made me want to do away with ‘cmd’ altogether (really non-standard on 2173OSX). This way is a little smarter and only changes the conflicting 2174accelerators to alt-cmd which while being a little more mac standard, 2175as well as be acceptable ascetically when combined with other 2176accelerators that are just cmd. 2177 21782016-01-29 17:41:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2179Let PROMOTED and DEMOTED macros use argument 2180 2181These macros were expanding to offsets added to what followed them. 2182Now the thing that followed them is passed to them as an argument. 2183This will allow them to expand the prmomotion or demotion to a table 2184lookup, rather than just an addition. Where PROMOTED appeared in a case 2185label, though, it was just a readability enhancement for the fixed 2186assignment, and a new macro PROMO equal to the old PROMOTED is introduced 2187for that. 2188 21892016-01-29 10:32:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2190Fix Chu promotion with added pieces 2191 2192There were still some hard-coded 22s in the code, which no longer described 2193the difference between Pawn and Tokin and the number of promotable pieces, 2194now that new pieces have been added. 2195 21962016-01-28 17:58:00 -0500 Joshua Pettus <jshpettus@gmail.com>: 2197Remove added pango modules to coincide with macports package 2198 2199Macports 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. 2200 22012016-01-28 17:55:56 -0500 Joshua Pettus <jshpettus@gmail.com>: 2202H.G.Muller's patch to avoid collisions with built-in OSX text edit accellerators 2203 2204Unfortunately 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. 2205 22062016-01-28 17:52:27 -0500 Joshua Pettus <jshpettus@gmail.com>: 2207H.G.Muller's patch to fix argument related spurious instances 2208 2209In 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. 2210 22112016-01-28 17:50:36 -0500 Joshua Pettus <jshpettus@gmail.com>: 2212Check for gettext before installing localization files 2213 2214Probably a good idea to check if gettext is enabled before attempting to install localization files. 2215 22162016-01-28 17:48:04 -0500 Joshua Pettus <jshpettus@gmail.com>: 2217back to the old header names for gtkosxapplication.h 2218 2219They seemed to have gone back for compatibility’s sake, hopefully they don't change it again 2220 22212016-01-28 17:43:04 -0500 Joshua Pettus <jshpettus@gmail.com>: 2222Fix for launching on case-sensitive systems 2223 2224Forgot to take case-sensitive journaled systems into account… 2225 22262016-01-28 17:55:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2227Make move to own piece a swap rather than capture 2228 2229This is useful for Tamerlane Chess, where you can one time during the 2230game have your King swap places with a friendly piece. 2231 22322016-01-28 17:32:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2233Implement 'choice' engine->GUI command 2234 2235A new CECP command is implemented: With 'choice XYZ' in reply to a 2236'lift' or 'put' command an engine can redefine the promotion choice 2237of the promotion move that emitted these to X, Y or Z. (Always capitals!) 2238For now only affects sweep & detour promotions, not the promotion 2239popup. 2240 22412016-01-28 14:08:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2242Let target-square highlighting prevail over legality test 2243 2244For engine-defined variants the highlight command is accepted even 2245with legality testing on. If an engine explicitly marks a square as a 2246legal destination for the picked-up piece, XBoard now always accepts 2247the move, even when according to its own move generation, even when based 2248on the engine's supplied 'piece' commands, going there would be illegal, 2249and legality testing is on. 2250 22512016-01-28 12:32:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2252Add support for Multi-PV Margin 2253 2254An engine option with a name containing multi, PV and margin is now 2255recognized, and will lead to printing of a multi-PV header (during 2256analysis in the Engine Output pane) even in absence of a MultiPV option. 2257Right-clicking the part of that header between 'fewer' and 'more' 2258allows tuning of the option value through horizontal mouse moving. 2259During this tuning the value is displayed in the message field of the 2260main window. When there is no MultiPV option to specify the number of 2261PVs, the margin value will be displayed in the header instead of the 2262number of PVs. 2263 22642016-01-28 09:51:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2265Fix highlighting in text memos (GTK) 2266 2267The yellow highlighting as used in Engine Output to indicate the 2268walked PV, or in Move History to show the current move, was only 2269working the first time that text would be highlighted. Apparently 2270to unhighlight it the yellow tag had to be removed, rather than a 2271white tag applied. 2272 22732016-01-27 20:14:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2274Fix pasting of moves after starting from position file 2275 2276When starting from a position file boards[0] would be set to the position, 2277but initialPosition was not. In LoadGame() initialPosition would then be 2278copied to boards[0] before loading the game, and without FEN or variant 2279PGN tag would not be corrected. 2280 22812016-01-27 16:49:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2282Move Common Engine menu item to Engine menu 2283 2284The new name of this menu item is 'Common Settings'. 2285 22862016-01-27 16:03:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2287Fix double-clicks for copying in Edit Position mode 2288 2289The time measurement between clicks on the same square in Edit Position 2290mode was seeing presses as well as releases, so that a fast click would 2291be mistaken for a double click on that square. Only presses should be 2292judged this way. In addition the piece should be grabbed for dragging 2293again on the second press, as the first release had ended the drag. 2294 22952016-01-27 11:22:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2296Fix book probing 2297 2298The Zobrist key for Kings had been inadvertantly changed in the patch that 2299assigned new keys to the pieces added for Chu Shogi (the 'chu-promoted 2300series'), because the King would be considered as a chu-promoted piece. 2301 23022016-01-20 21:30:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2303Fix crash on pasting garbage FEN 2304 2305The auto-size patch had made XBoard crash-prone on pasting pure garbage 2306with Paste Position, because this would set the number of files or ranks 2307to values <= 0. Which would cause a floating pont exception during 2308drawing of the board in XBoard. 2309 23102016-01-20 20:37:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2311Prevent changing time control during game (XB) 2312 2313An attempt to pop up the Time Control Options dialog during a game 2314will now be met with an Error popup to say it cannot be done, like 2315in WinBoard. Before it would reset the game. 2316 23172016-01-20 20:31:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2318Fix Error popup in Tournament Options 2319 2320Since Tournament Options has been assigned its own DialogClass (MasterDlg) 2321instead of being one of the TransientDlg, the Error popup should really 2322test if MasterDlg is already up, to know if its parent window is th 2323main window or not. 2324 23252016-01-15 22:30:08 -0500 Joshua Pettus <jshpettus@gmail.com>: 2326Update xboard.conf with renamed xq board textures 2327 2328 23292016-01-15 14:12:23 -0500 Joshua Pettus <jshpettus@gmail.com>: 2330Update makefile.am for renamed xq board images 2331 2332 23332016-01-15 13:19:22 -0500 Joshua Pettus <jshpettus@gmail.com>: 2334Change name of xq board images to fit with handling code 2335 2336 23372016-01-14 19:16:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2338Use ii in Betza notation for 3rd-rank Pawn push 2339 2340The 'i' modifier specifies the move is only for virgin pieces. We now 2341use 'ii' to indicate a move that can be made when the piece is standing 2342on the square in front of that were such a piece starts in the initial 2343setup. This is intended for Pawns that can still be pushed extra far 2344after they have made a first single step, such as in Wildebeest Chess, 2345where pawns on 2nd rank can move 1, 2 or 3 squares ahead, and on 3rd rank 2346can still move 1 or 2 (fmWifmW3iifmW2). 2347 23482016-01-14 16:49:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2349Fix spurious undo at game start 2350 2351For ping-supporting engines the logic in handling unexpected moves 2352is completely changed. Such moves can occur when an engine think is 2353interrupted by a 'force' command, which in many engines is only 2354processed after the think completes naturally with a move, and could 2355cross such a move anyway in engines that would abort the search promptly. 2356If the 'force' is the result of the user switching to EditGame mode, 2357such a move should be undone, if it occurs at game end or start, 2358the moves can be ignored, as the following 'new' will erase all memory 2359of them. So in EditGameEvent, if the engine was thinking, a flag is set 2360to indicate its upcoming move should be undone, and ping is sent after 2361'force'. The 'pong' response would arrive after the move (if any), and 2362clears the flag. In all other cases of ping imbalance, incoming moves 2363are ignored. 2364 While waiting for a pong after EditGameEvent the user interface is 2365frozen, and a message is displayed to keep the user quiet. 2366 23672016-01-14 14:36:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2368Send ping in EditGameEvent 2369 2370An EditGameEvent can interrupt tinking of an engine, and the engine 2371might or might not send back a move as a result of that thinking. 2372To solve this, a "force" command sent to an engine playing white or 2373black will now be followed by a "ping". (If supported, of course.) 2374 23752016-01-13 22:23:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2376Fix variant recognition in ICS mode 2377 2378The patch that made recognizing variant names of the 'exotic variants' 2379(i.e. those beyond Shogi) more strict, by requiring an exact match, 2380had broken variant recognition on the Variant ICS. In that case it 2381has to act on strings like "ICS unrated xiangqi game", and this now 2382defaulted to variant normal. The requirement that the variant name 2383should be the first word of the string is now dropped in ICS mode. 2384 23852016-01-13 20:35:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2386Let FENs handle Betza initial rights in castlingless variants 2387 2388When a variant has no castling, or is redefined to have no castling 2389through a 'piece' command for the King, the FEN castling field of a 2390written FEN will now contain the file ID of all pieces with initial 2391('i') moves in their Betza definition. On reading the virginity of 2392pieces not thus mentioned in the castling field will get their 2393virginity revoked. 2394 23952016-01-13 16:07:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2396Fix setting of initial virginity on PGN read 2397 2398The back-rank virginity bitmaps were not cleared in ParseFEN. 2399 24002016-01-12 14:48:57 -0500 Joshua Pettus <jshpettus@gmail.com>: 2401Update zh_CN.po translation 2402 2403 24042016-01-12 00:01:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2405Increas number of engine-defined variants to 15 (WB) 2406 2407The number of engine-defined variants that can be selected in WinBoard's 2408New Variant dialog is increased from 9 to 15 by adding some radio buttons. 2409 24102016-01-11 22:58:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2411Fix parsing of OO castling when redefined 2412 2413A 'piece' command can redefine the castling stride of a King, 2414and OO castling for non-Fischer castling is internally encoded as the 2415King step, and thus has to know this. 2416 24172016-01-11 22:44:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2418Fix writing FEN castling rights for non-edge 'Rooks' 2419 2420Non-Fischer castling rights were only recognized on FEN writing when 2421the castling partner was in the corner. Now it can be anywhere on the 2422correct side of the King. 2423 24242016-01-11 21:05:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2425Fix reading FEN FRC castling rights when King not on last rank 2426 2427There was still a hard-coded rank 0 / BOARD_HEIGHT-1 there. 2428 24292016-01-11 20:21:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2430Fix Makefile for Dragon and minor Lion image 2431 2432These new pieces were not mentioned in the list of SVG data. 2433 24342016-01-11 20:13:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2435Add Wolf, Camel and Zebra bitmaps to WB 2436 2437Built-in images for some of the new pieces are added for WinBoard. 2438These are Wolf, Camel and Zebra, but also the duplicat Lion is defined. 2439 24402016-01-11 16:03:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2441Fix white Iron General image 2442 2443The white background of this image was not entirely filled. 2444 24452016-01-11 16:01:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2446Flip Unicorn image 2447 2448There are now too many Knight-like piece images, that are too similar. 2449So the Unicorn from now on will look to the right. 2450 24512016-01-11 11:39:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2452Add white Zebra piece image 2453 2454This image had not made it into git with the other new pieces. 2455 24562016-01-11 11:35:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2457Correct backup pieces for addition of minor Lion 2458 2459The added piece type was not put in the list of backup pieces, so that 2460the pieces beyond it got out of phase, and no backup for the Prince 2461would be found, leading to an error popup about missing default pieces. 2462The error message on this has now been improved to mention the piece 2463casing the trouble. 2464 24652016-01-10 23:54:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2466Never castle when King has other initial moves 2467 2468The ApplyMove routine assumed that any lateral King step of more than 2469a single square was a castling, and then swung the nearest piece in 2470that direction around the King. This failed in Grande Acedrex, where 2471the King can (amongst others) jump 2 squares sideways as an initial move. 2472So we now first check if the King has its moves redefined in a way that 2473does specify no castling but does specify other initial moves, and perform 2474any move as just a simple King move in that case. 2475 24762016-01-07 23:32:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2477Fix edit command for double-digit ranks 2478 2479Rank numbers above 9 were printed as their internal 1-character 2480representation. 2481 24822016-01-06 20:12:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2483Add duplicat of Lion (and Flying Dragon) 2484 2485Two more piece types are added: a duplicat of the Lion in the unpromoted 2486series, and a Flying Dragon as its promoted counterpart. This Lion does 2487not suffer from the Lion-trading restriction of Chu Shogi, and can be used 2488as a general piece. Its pictogram is somewhat smaller than that of the 2489Chu Shogi Lion. 2490 24912016-01-03 14:09:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2492Fix typos in winboard.c 2493 2494 24952016-01-03 12:38:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2496Let parsing of O-O castlings pay attention to castling rank 2497 2498The parser assumed O-O and O-O-O castlings would always take place 2499on the back rank, even when the newly introduced castlingRank array 2500specified differently. 2501 25022016-01-03 12:22:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2503Fix FEN castling rank for Knightmate 2504 2505The newly introduced castlingRank array was not correctly set on reading 2506a FEN for Knightmate, because it was looking for Kings rather than 2507Unicorns. 2508 25092016-01-02 19:53:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2510Replace Flying Dragon piece image by Gnu 2511 2512How could we not think of this before! 2513 25142015-12-29 23:37:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2515Also define Lance image for Amazon in WB 2516 2517 25182015-12-29 23:33:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2519Use hoplit helmet for Copper General in Chu Shogi 2520 2521 25222015-12-29 22:46:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2523Skip in pieceToChar to Tokin always 2524 2525The piece after the skip symbol '/' in the pieceToCharTable was 2526defined as CHUPROMOTED Pawn, which only is a Tokin in variant chu, 2527but a Cannon in other variants. The intension was to always skip 2528to Tokin, though. 2529 25302015-12-29 22:20:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2531Assign new images to the new pieces 2532 2533The 5 new pieces behind Lion, and their chu-promoted versions, 2534are assigned the 9 new images. The 10th piece gets the Lance image, 2535to povide a duplicate for this that will not be considered a Pawn 2536in any variant (so it can be used for Amazon). 2537 25382015-12-29 22:13:03 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2539Add 2x9 new piece images 2540 2541Wolf, Camel, Zebra, Dragon, Wizard, Viking, Iron, Copper and Tower 2542images are added. 2543 25442015-12-29 20:43:39 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2545Fix parsing of pieceToChar strings 2546 2547The skipping to the chu-promoted series was not working. The character 2548that triggers the skipping has been changed from : to /, because : is 2549a narrow character potentially useful as ID suffix. 2550 25512015-12-29 18:02:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2552Fix color of white SVG pieces 2553 2554The newer SVG pieces were bright white, rather than the ivory default color. 2555 25562015-12-19 11:10:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2557Fix piece command after ID-suffix patch 2558 2559Piece IDs without suffix or & behind them to make them count for both 2560colors were no longer recognized in 'piece' commands, because there 2561was a null character behind the extracted piece-name field. And this 2562null character was seen as occurring in the suffix string. 2563 25642015-12-17 12:44:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2565Fix bare-king adjudication in Atomic 2566 2567In Atomic a bare King cannot win, but it can already have won, when 2568the last piece of that side captured or destroyed the opponent King 2569when exploding. The win-to-draw correction now recognizes this 2570situation, so that the win is uphold there. 2571 25722015-12-02 12:53:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2573Erase old logo before drawing new one (XB) 2574 2575In case of an invalid or absent logo, the previous logo kept being 2576displayed. Now the area is painted grai first. 2577 Also fixes a bug in the expose area. 2578 25792015-11-27 21:01:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2580Allow debug output to go to child process (WB) 2581 2582A -debugfile name starting with tree slashes will not be interpreted 2583as a file to write on, but (after stripping the slashes) as an executable 2584to run, and send the output to. This could be used by an external 2585broadcasting agaent. 2586 25872015-11-27 17:55:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2588Fix DarkSquare bug in piece counting 2589 2590When counting pieces for adjudication purposes, a DarkSquare on the 2591board caused an out-of-bounds access to the counter array. 2592 25932015-11-26 22:12:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2594Fix piece commands for suffixed piece IDs 2595 2596Due to signed-/unsigned-char problems piece IDs suffixed with ' or ! 2597would not be recognized. In addition a & behind it would not be correctly 2598recognized diue to the alignment problem the suffix character caused. 2599Both issues are fixed now. 2600 26012015-11-25 19:26:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2602Allow skipping over black squares 2603 2604'Skip pieces', defined with a 'j' prefix on a slider(asopposedto rider), 2605which skip the first square(s)of their path irrespective of occupation 2606should also be able to skip over holes in the board. 2607 26082015-11-24 20:10:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2609Display new user logo when username is entered 2610 2611When the Edit->Enter Username type-in was used, a new user logo was 2612loaded, but not immediately displayed. While the old user logo could 2613already be up, during a man-machine game. Now it is also immediately 2614displayed. 2615 26162015-11-24 20:00:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2617Try to load bitmaps for all pieces (WB) 2618 2619WinBoard only contains build-in bitmaps for the first 22 piece types, 2620and also only associated filenames with those that can be used to 2621provide external images. Now a new naming convention for piece images 2622is introduced, like piece22_49s.bmp for a 49x49 bitmap for solid piece 22. 2623All pieces that were not loaded according to the old convention now 2624try to find images with this naming convention if a -pieceImageDirectory 2625is defined. 2626 26272015-10-20 17:30:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2628Fix sortng of mate scores 2629 2630With the new convention for mate scores (100000+DTM), lower numbers 2631represent faster mates and thus better scores, and the sorting of PVs 2632in the Engine Output window now takes that into account. 2633 26342015-10-20 17:22:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2635Print mate scores as #N in message field 2636 2637 26382015-10-20 15:05:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2639Start implementing EPD test suites 2640 2641An option -epd is added that can be used in combination with matchMode 2642to let XBoard do a test suite on a file of EPDs with a "bm" qualifier. 2643It would record the time to solution. Reporting still has to be implemented; 2644as yet unsolved problem is that currently black-to-move EPDs would 2645be presented to the second engine. 2646 26472015-10-20 14:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2648Slip in 10 more piece types 2649 2650Five new piece type without a defined image are added to increase the 2651length to the unpromoted series from 11 to 16. They all map behind 2652the Lion, which remains the 11th piece. Five promoted types are added 2653as well, just before King. No images are defined for these pieces (yet), 2654not even image-file names, so they can only be used with the 'Tile' 2655fallback and a user-defined inscription. 2656 26572015-10-19 18:50:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2658Fix grayout 2659 2660 26612015-10-16 14:40:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2662Fix exclusion header fix 2663 2664 26652015-10-15 23:41:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2666Grayout Machine Match menu when aborting match 2667 2668Clicking the Machine Match menu item when a match or tourney is in 2669progress will make XBoard drop out of match mode when the game finishes. 2670The check mark will remain on the item until that moment. But now we 2671gray out the item to show that the match is scheduled for termination. 2672 26732015-10-15 20:57:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2674Base tinyLayout decision on total board width 2675 2676The decision whether to include system menu and use one-letter main menus 2677is now taken based on the total board width, rather than the square size, 2678to account for boards that do have other than 8 files. 2679 26802015-10-15 20:45:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2681Use intermediate width menu bar in sizes 37 & 40 (WB) 2682 2683Due to the increased number of main menus the menu bar wrapped to two lines 2684in sizes slim and small (which did not use the single-letter 'tinyLayout' 2685menu texts). An intermediate menu-bar format with 3-letter texts is now 2686provided as well. 2687 26882015-10-15 17:25:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2689Display exclusion header only for engines supporting exclusion 2690 2691The display of the exclusion header in the Engine Output window is made 2692dependent on the engine having emitted feature exclude=1 at startup. 2693 26942015-09-19 19:35:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2695Fix periodic updates GTK 2696 2697Only the first periodic update event would occur, because the clock function 2698did not retun True to encourage timer events to keep coming. 2699 27002015-08-11 09:38:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2701Make -inscriptions a volatile option 2702 2703Saving unicodein the settings file does not work, and leads to an 2704octal escape sequence for non-ascii characters, which is not correctly 2705read back. For now saving thus is avoided. 2706 27072015-08-07 18:45:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2708Make inscriptions somewhat smaller and non-bold 2709 2710 27112015-08-06 23:49:02 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2712Fall back on Tile SVG in pieceImageDirectory 2713 2714If a -pieceImageDirectory is given, but a needed piece is not found, 2715and -inscriptions are specified, we first fall back on a general 2716image White/BlackTile.svg. This can then serve as a background for the 2717various inscription glyphs, using the latter to distinguish the pieces. 2718E.g. the Tile image could be a shogi tile, and the inscriptions an utf8 2719string of kanji, to create Shogi pieces on the fly. 2720 27212015-08-06 19:41:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2722Take account of glyph size when positioning inscriptions 2723 2724We calculate the position of the inscription from its pango extents. 2725 27262015-08-06 19:14:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2727Also write inscription on dragged piece 2728 2729 27302015-08-06 19:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2731Use pango to draw inscriptions 2732 2733The cairo 'toy fort' interface apparently cannot handle kanji. So we 2734switch to renderingthe the inscriptions via pango. 2735 27362015-08-05 22:40:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2737Let color of inscription depend on piece ID 2738 2739Only shogi-promoted piece types (with ID defined as +) will get their 2740inscription rendered in red. 2741 27422015-08-05 20:37:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2743Render inscriptions upside-down for black pieces (XB) 2744 2745The -inscriptions option is intended to supply the kanji on images of 2746blank Shogi tiles, and thus have to be flipped for the pieces that play 2747downward. Depending on the -flipBlack setting and -flipView this can be 2748either white or black. 2749 27502015-08-03 21:59:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2751Prevent printing in non-existing Chat dialog (XB) 2752 2753The Xaw build of XBoard crashed in -ics -zp mode when the opponent was 2754kibitzing. According to a stack trace OutputChatMessage() tried to change 2755the color of a non-existent button. Although it was not clear how printing 2756there could be attempted if no chats were defined, the routine now is made 2757a no-op when the Chat dialog does not exist, by an immediate return. 2758 27592015-08-03 21:07:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2760Ignore Continue Later when match already in progress 2761 2762We have to prevent the user from changing the tournament file or parameters 2763for a tourney in progress through pressing 'Continue Later'. 2764 27652015-08-03 20:55:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2766Remember tourney-file changes after Continue Later 2767 2768After leavingthe Tournament dOptions dialog with Continue Later, 2769the tournament file would not be set to the entered value, and re-opening 2770the dialog would keep using the previous value, or a newly generated one. 2771 27722015-08-03 20:39:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2773Correctly remember checkboxes on Continue Later (WB) 2774 2775The WinBoard tournament dialog could be left in an inconsistent state 2776on Continue Later, when the user untickedthe checkboxes for auto-stepping 2777and two games per line, after on an earlier attempt their ticking had 2778already resulted in settng the line/position index to a negative value. 2779Negative values left in the numeric entriesare now reset to 0 when the 2780chackboxes are unticked. 2781 27822015-07-24 23:55:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2783Fix bridge capture of Lions 2784 2785Clearing the kill square for the check test had broken the test for it 2786being empty or containing a Pawn. We now also test for Go Between, 2787which was not done at all. 2788 27892015-07-24 23:48:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2790Fix Shogi promotion popup 2791 2792With the new promotion defaults Shogi was using the Chess promotion 2793popup rather than the Shogi (yes/no) one. 2794 27952015-07-24 23:47:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2796Fix disappearance of a1 on double capture 2797 2798The triple-capture patch did indicate a1 as initial second e.p. victim. 2799 28002015-05-16 23:35:46 -0700 Arun Persaud <arun@nubati.net>: 2801Updated copyright notice to 2015 2802 2803 28042015-04-28 11:15:22 -0400 Joshua Pettus <herecomethej@sbcglobal.net>: 2805make install from macports part 2 2806 2807Oops, forgot a line.. 2808 28092015-04-28 10:05:53 -0400 Joshua Pettus <herecomethej@sbcglobal.net>: 2810Make install from macports more robust 2811 2812better to search for the macports prefix then assume /opt/local 2813 28142015-03-24 16:52:22 -0400 Joshua Pettus <jshpettus@gmail.com>: 2815Change Copyright year in info.plist.in 2816 2817 28182015-03-11 17:42:49 -0400 Joshua Pettus <jshpettus@gmail.com>: 2819renaming fics logo 2820 2821 28222015-03-11 17:38:12 -0400 Joshua Pettus <jshpettus@gmail.com>: 2823Logo Updates 2824 2825 28262015-03-11 17:04:15 -0400 Joshua Pettus <jshpettus@gmail.com>: 2827moving part2 2828 2829 28302015-03-11 16:40:52 -0400 Joshua Pettus <jshpettus@gmail.com>: 2831A little reorganizing 2832 2833 28342015-03-10 16:02:05 -0400 Joshua Pettus <jshpettus@gmail.com>: 2835Remove unused directory 2836 2837 28382015-03-10 15:33:05 -0400 Joshua Pettus <jshpettus@gmail.com>: 2839GTK OSX theme reimplemented 2840 2841This is a new theme that was included with the GIMP OSX app. It is 2842much simpler with no pixbuffs, so there should be no chance of missing 2843images. Also had to reimplement the murrine engine. 2844 28452015-03-10 15:19:53 -0400 Joshua Pettus <jshpettus@gmail.com>: 2846gtkmacintegration localization updates 2847 2848With the update to the gtkmacintegration library, localization strings 2849have been fixed, so there is no need for us to have separate ones, and 2850we can pull from the macports install. 2851 28522015-03-10 15:16:10 -0400 Joshua Pettus <jshpettus@gmail.com>: 2853gtkmacintegration name change 2854 2855with the last update the gtkmacintegration lib was renamed 2856gtkmacintegration-gtk2 to differentiate from gtk3 2857 28582015-03-10 15:14:09 -0400 Joshua Pettus <jshpettus@gmail.com>: 2859OSX master conf changes 2860 2861Make OSX app masterconf more in line with the default one, where it was 2862unnecessary. Also it was a mistake to use the ip address for FICS as 2863they changed it. 2864 28652015-03-10 14:27:20 -0400 Joshua Pettus <jshpettus@gmail.com>: 2866Include Pango Modules 2867 2868Before I was using a special macports variant that had the pango 2869modules built into the library. Now that I know a little bit more, 2870it’s really not necessary to require a special variant here. 2871 28722015-03-10 14:21:36 -0400 Joshua Pettus <jshpettus@gmail.com>: 2873Man and Info Page Fix 2874 2875Terminal.app doesn’t accept command line arguments. Rather then use OSX 2876feature of using .command scripts to launch the man and info pages 2877(which is problematic with gatekeeper), it is much better to open them 2878directly with applescript. Had to move infoProc to xboard.c to do 2879this though. 2880 28812014-12-20 20:47:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2882Implement -positionDir option GTK 2883 2884This volatile option determines where Load Position starts browsing. 2885 28862014-11-17 22:51:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2887Allow promotion choice in variant asean 2888 2889Apparently the rules of this game are changed since the first draft 2890from 2011, and now you cannot just promote to Ferz ('Queen'), but pick 2891any piece. Meaning the Rook has to be the default, being the strongest. 2892 28932014-11-11 14:40:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2894Fix crash on using Browse buttons in Tournament dialog Xaw 2895 2896The Xaw file browser assumes the text entries it is browsing for are 2897all in dialogs of the class TransienDlg, but the Tournament Options 2898dialog has been altered to MasterDlg, to allow it to co-exist with 2899Time Control and Common-Engine dialog (which can be opened through 2900buttons in it). Xaw did not like that, and the true DialogClass is 2901now used when setting the widget text. 2902 29032014-11-10 14:29:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2904Fix -addMasterOption option 2905 2906The comparison of the date stamps in master and user settings file 2907was broken, because the date stamps were declared as unsigned, so that 2908the difference would never be negative. 2909 29102014-11-02 15:52:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2911Fix premature disappearence of Lion victims 2912 2913The check test did not correctly undo a Lion e.p. capture, which 2914would make the victim already disappear after entry of the first leg, 2915which potentially could affect the second leg move generation. 2916(Not in Lions, though, but in Betza castlings it manifested itself.) 2917 29182014-10-30 15:01:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2919Connect OSX Quit menu to ExitEvent 2920 2921The Quit menu item provided by OSX was not equivalent to the original 2922XBoard menu item, as it did not automatically call ExitEvent. (Which 2923closing the window did.) This meant a hard kill, without saving settings 2924or the last game, and not properly shutting down the engine(s). 2925We now catch the OSX 'WillTerminate' event to perform these tasks. 2926 29272014-10-28 22:37:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2928Add USI/UCCI checkbox to Load Engine dialog 2929 2930Assign a default command to the -uxiAdapter when it was not yet defined, 2931as this will be used after ticking the checkbox, and the compile-time 2932default for it was an empty string, and will have found its way in 2933the user settings files of most users (making configuring through 2934the master settings file pointless). 2935 29362015-04-18 11:09:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2937Allow promotion to piece with letter ID in Chu 2938 2939Normally all promoted versions in Chu have ID '+', but it could be 2940useful to allow piece promotion always, as long as the promoted piece 2941participates. 2942 29432015-04-18 11:07:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 2944Implement triple capture (not finished) 2945 2946 29472015-03-13 22:58:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2948Make Claws glyph available in non-Chu variants 2949 2950The variant-dependent replacement glyphs for promotable pieces in Chu 2951are now assigned to pieces that reuse the replaced glyphs to represent 2952promoted pieces, rather than to unused promoted pieces. This means that 2953in Chu they now must be replaced by swapping, which avoids occurrence 2954of duplicats both in Chu and other variants. And thus frees piece types 2955that now can be used for new glyphs. As a result the Nightrider remains 2956available in Chu, and the Claw glyph in other variants. Other freed 2957pieces are for now used for the promotion Golds of variant shogi. 2958 29592015-03-13 21:42:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2960Also allow Princess SVG piece to be diversify 2961 2962The image for the Grasshopper has a copy in the Chu-promoted series. 2963The unpromoted image (not needed in Chu) is now preferentially taken 2964from a Crown image rather than Princess, allowing distinction between 2965the promoted and unpromoted piece in kanji themes for Wa Shogi. 2966Any piece between Grasshopper and chu-promoted Marhall can now in principle 2967use a backup. 2968 29692015-03-11 13:44:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2970Allow Lion double-moves in opening book 2971 2972Double moves can now be encoded in a Polyglot es promoType = 2, and 2973a code for two King steps in the to-square. The moves are retrieved 2974in the Alien Edition protocol format (i.e. comma-separated LAN). 2975HandleMachineMove had to be adapted to handle the two legs coming as one, 2976but otherwise the book code can just send the retrieved line directly 2977to the engine. 2978 For Edit Book the format has to be converted to TSA-like for display, 2979to make the move parser that will read it on saving understand the move 2980as a single one. 2981 29822015-03-10 17:57:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2983Fix reading of pieceToChar string and piece command 2984 2985 29862015-03-09 22:04:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2987Fix printing of book moves for double-digit ranks 2988 2989The book-code move_to_string was not adapted to double digits, 2990and printed ':' in stead of 10. 2991 29922015-03-09 20:35:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 2993Fix display update during Edit Book 2994 2995When moves were deleted from the book, this was only shown after 2996quitting and restarting XBoard, because the stream that was used for 2997reading the book was a different one as the stream writing it. 2998 29992015-03-09 20:26:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3000Remove chu theme file from XBoard install 3001 3002This file should come with the Chu Shogi piece images, not with XBoard. 3003In addition the file was obsolete, and used an erroneous option name. 3004 30052015-03-08 17:46:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3006Fix probing of GUI book for board with more than 10 ranks 3007 3008The move-to-text code was not yet adapted to the convention that rank 3009counting only starts at 0 for boards of exactly 10 ranks. 3010 30112015-03-05 15:58:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3012Implement piece suffixes 3013 3014The piece ID can now be suffixed with an 'ornament', which then 3015is considered part of the piece ID. This expands the number of pieces 3016that can be indicated in FEN or SAN to several times the alphabet. 3017This does not yet work in a promotion suffix, as it is mainly intended 3018for the large Shogi variants, which only use + as promotion suffix. 3019It also does not work on King (which deserves an unadulterated letter). 3020Currently the ornaments ' (single quote) and ! (exclamation point) are 3021defined, (through a macro SUFFIXES in moves.h), increasing the number 3022of piece types that can be represented to 78. 3023 30242015-03-04 09:09:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3025Fix crash XBoard on changing Game List Tags 3026 3027When the Game List was not up, the attempt to immediately update its 3028contents after changing the game-header format through the Game List Tags 3029dialog would result in a segfault. 3030 30312015-03-04 09:08:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3032Fix shift-JIS codes for N, P, +B, +R 3033 3034 30352015-03-03 22:44:32 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3036Change book Zobrist key for Chu promoted pieces 3037 3038Promoted pieces for Chu (i.e. above Lion, with the exception of King) 3039now get keys derived from their base type, by XORing in a square-dependent 3040'promoted' key. This makes it possible to extend the unpromoted series 3041with new pieces without altering the keys for the promoted pieces. 3042So that the current book code works upto 48 unpromoted piece types, 3043rather than 48 piece types total. 3044 30452015-03-03 22:17:26 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3046Fix book encoding of Chu promotion moves 3047 3048The Shogi promotion suffix had promotion code 8, which was not available 3049in Chu at all, due to the large board size. So in stead we use code 1 now. 3050Code 10 (or 2 in Chu) is reserved for encoding Lion moves, which currently 3051do not work at all. 3052 30532015-03-02 22:14:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3054Remove debug printf for kanji 3055 3056 30572015-03-02 22:12:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3058Wrap kif comments in braces 3059 3060The parser assumes that a text that parsed as comment contained 3061enclosing braces, but in kif files we have to apply those ourselves, 3062to prevent a bare comment (starting with '*'!) to appear between the moves. 3063 30642015-03-02 19:59:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3065Improve reading of pieceToCharTable 3066 3067The piece-to-char string can now contain ' and ! suffixes on pieces, 3068which are taken together with the preceding piece ID. An encountered : will 3069cause the assigning to skip to the chu-promoted series of pieces, however 3070these are numbered. 3071 30722015-03-02 19:16:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3073Extend book to 48 piece types and 256 squares 3074 3075Before the Zobrist key could only handle 24 piece types and 128 squares. 3076 30772015-03-02 13:15:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3078Fix reading of startposition FEN starting with * 3079 3080When laoding a position file, a FEN starting with * would not be recognized 3081as FEN, and parsed in an alternative way that did not like the * either, 3082and caused a segfault. 3083 30842015-03-02 12:49:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3085Implement -rankOffset option 3086 3087This option is useful on boards with blacked-out ranks, to force rank 3088number one to be a higher up. 3089 30902015-03-02 12:04:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3091Use PGN result in Game List build to supply tag 3092 3093If a PGN tag was missing (as in loading of non-PGN game collections) 3094the game would be marked as unfinished ('*') in the Game List, even 3095when it contained a result. The kif-format resign messages are now cast 3096in a form that also recognizes the result-detail message. 3097 30982015-02-28 11:05:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3099Implement kifu move disambiguation 3100 3101For sliders the Japanese disambiguation clues cannot be translated 3102to PSN-like disambiguators, so the problem had to be resolved in the 3103Disambiguate callback, at the time when the second piece of the 3104requested type is identified, so that the relative position of the pieces 3105is known. 3106 31072015-02-27 17:13:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3108Make move parser understand kif-format Shogi moves 3109 3110For now only utf-8 kanji are recognized. The recognition of '*' as an 3111unfinished game end had to be suspended for this, based on encountering of 3112bare kanji (from the kif header), and is only regained after reading 3113of a PGN tag! 3114 31152015-02-21 20:08:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3116Do not call illegal moves ambiguos 3117 3118When legality testing is off, an illegal SAN move would be interpreted 3119as if the mentioned piece type could move anywhere, which lead to an 3120'Ambiguous Move' message if there were multiple pieces of that type. 3121This should not be done if the piece moves are known through engine piece commands. 3122 31232015-02-21 20:02:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3124Fix parsing of illegal drops from PGN 3125 3126These were parsed as if the first two characters were the from-square. 3127 31282015-02-20 20:27:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3129Fix spurious promo-suffixes on drop moves 3130 3131The promo-suffix from the previous move would be left on drop moves, 3132and could even be set to the engine. 3133 31342015-02-20 15:46:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3135Let promotion zone be 3 ranks on 8-rank shogi boards 3136 3137For the benefit of Euro-Shogi the rule that the depth of the promotion 3138zone is the board height divided by 3, rounded down (which works so well 3139for mini-, Judkins, Tori and regular Shogi) is given an exception when 3140the numer of ranks is 8. 3141 31422015-02-20 14:07:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3143Fix illegal-drop fix 3144 3145 31462015-02-18 22:54:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3147Suppress lift command on deselecting piece 3148 3149A click on the selected piece deselects it, and thus should not 3150result in a lift command to prompt highlighting of its moves. 3151 31522015-02-18 22:49:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3153Suppress appearance of promotion popup when sweep-selecting 3154 3155In highlight-induced promotions the popup would appear even when it 3156should have been off. 3157 31582015-02-18 22:47:30 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3159Fix illegal drops 3160 3161Even white was dropping black pieces on those! 3162 31632015-02-15 23:17:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3164Fix click-click sweep-select 3165 3166If the up-click of the second click of a sweep-select would occur in the 3167from-square, the whole move would be ignored, and de-select the promoting 3168piece instead. 3169 31702015-02-15 23:12:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3171Fix promotion sweep of black Pawns in Shogi 3172 3173The wrap-around when we run past white King should not be done in 3174toggle mode, where it is guaranteed we won't run out of range. 3175 31762015-02-09 10:09:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3177Fix deselection of piece 3178 3179The patch to allow entering of friendly capture (intended as a kludge 3180for entering non-standard castling) had broken the ability to change 3181the selected piece by clicking another piece, as this was now always 3182interpreted as a friendly capture (which was then rejected as illegal). 3183By testing marker[][] in stead of legal[][] this can be avoided; legal[][] 3184was not a good measure, because in absence of a highlight command it 3185is completely filled with 1, to make everything legal. No friendly squares 3186will ever get marked unless a highlight command does it, though. 3187 31882015-02-09 10:01:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3189Fix highlight-induced promotions 3190 3191A purple square in the highlight color FEN triggered the promotion 3192procedure, but the chosen promotion piece would not be suffixed to 3193the move. 3194 31952015-02-09 10:01:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3196Castling fix 1 3197 3198 31992015-02-06 13:01:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3200Take heed of mnemonic indicator when clipping menu texts 3201 3202An underscore in the menu text should not be counted when deciding where 3203to clip the text to make the menu bar fit the window width. If clipping 3204would occur immediately after an underscore, just clip off the first 3205character to get the mnemonic back in view. (This makes _n from the 3206Engine menu.) 3207 32082015-02-05 23:01:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3209Let Betza jO mean castling with non-edge piece 3210 3211This is useful in Omega Chess, where the Rooks are not on the edge. 3212The number of j tell how many pieces have to be between edge and castling 3213partner. 3214 32152015-02-05 20:09:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3216Castle with nearest rather than corner piece 3217 3218An oversized sideway King step is recognized as castling, but instead 3219of using the piece closest to the board edge on that rank (ignoring dark 3220squares) we now use the piece that the King is looking at in that direction. 3221This fixes castling in Omega Chess. 3222 32232015-02-05 19:44:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3224Allow friend-trampling format also for royal castlings 3225 3226The restriction that the trampling piece should not be King is lifted. 3227That the piece has an O atom in its Betza string is enough to qualify. 3228 32292015-02-05 19:34:32 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3230Recognize castling double-moves from engine 3231 3232An engine could already send double-moves of the Alien protocol, 3233where the same piece moved twice, which were then glued into a single 3234step, with the intermediate square as trampled piece. Now when the 3235second leg is whith a different piece, it keeps the first leg as overall 3236move, and tramples the second mover. This translates castlings sent 3237as two-piece moves to the kludge format of trampling the own 'Rook'. 3238 32392015-02-05 17:35:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3240Fix drops 3241 3242 32432015-02-05 17:33:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3244Print castlings as double move 3245 3246 32472015-02-05 12:24:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3248Fix illegal drops 3249 3250For illegal drops the 'from-square' was subjected to an on-board test, 3251which of course always failed, after which the move was reclassified 3252as an ImpossibleMove after all. (Leading to rejection even when legality 3253testing was off, and error messages like "Could not parse move".) 3254 32552015-02-03 12:49:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3256Fix width of dual board GTK 3257 3258The message field here was too wide, because it was attached to a 3259non-existing table column. 3260 32612015-02-03 10:14:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3262Fix Tab in ICS command mode 3263 3264Tab was not working to open a chat after oborting opening a new one, 3265when only one chat was open. 3266 32672015-02-02 16:29:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3268Fix sending of messages from kibitz or c-shout chat 3269 3270Kibitz messages and c-shouts could be captured in their own chat window. 3271like shouts and whispers, but sending messages from such chats did not 3272get the proper prefixing, but were treated as tells to nonexistent players 3273'kibitzes' and 'c-shouts'. 3274 32752015-01-29 11:20:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3276Ignore Tab in ICS Interaction if no chats assigned 3277 3278Thuis used to open a new chat, but Ctl-N exists for that now. 3279 32802015-01-29 11:12:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3281Use Ctl-E in ICS chat to end chat 3282 3283 32842015-01-29 10:56:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3285Use Ctrl-H in ICS Chat to close chat pane 3286 3287This used to be done by <Esc>, but that now focuses board instead. 3288 32892015-01-28 23:17:23 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3290Let <Esc> transfer focus from Board to ICS Input 3291 3292<Esc> in the input field of the ICS Interaction window transfers focus 3293to the board, but there was no way to transfer focus back without actually 3294typing something in the input field. <Esc> now does that. Unlike typing 3295printables, it does not close the chat pane, though. In addition, <Esc> 3296when the chat pane is open now also transfers focus to the board, rather 3297than closing the chat pane. This makes quick transparent switching between 3298board and Chat / ICS Interaction possible. It is no longer possible to 3299simply hide the chat pane, though. But this was usually done for typing 3300a command, and swicthing to the board with <Esc> and typing the command 3301there has the same effect. 3302 33032015-01-20 12:02:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3304Define mnemonics for main menu bar 3305 3306 33072015-01-20 11:54:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3308Set position dir to handicap positions in shogi theme 3309 3310 33112014-12-21 23:09:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3312Let file selecor remember last used directory (GTK) 3313 3314The file selector now starts in the directory that was last used 3315to load a file of the type we are now browsing for. (Supported types: 3316pgn, fen, trn, bin, png.) 3317 33182014-12-20 20:47:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3319Implement -positionDir option GTK 3320 3321This volatile option determines where Load Position starts browsing. 3322 33232014-11-17 13:00:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3324stash 3325 3326 33272014-11-13 20:23:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3328Fix click-click moving with -monoMouse 3329 3330A to-click should never be interpreted as button 3. 3331 33322014-11-13 18:33:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3333Implement -monoMouse option (XB) 3334 3335With the monoMouse option button-3 is no longer needed in Edit-Position 3336mode, but a button-1 click on an empty square will automatically behave 3337as if it was button 3. It can only be used with -pieceMenu false, 3338as it does not communicate the coordinates of the clicked square. 3339 33402014-11-11 14:40:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3341Fix crash on using Browse buttons in Tournament dialog Xaw 3342 3343The Xaw file browser assumes the text entries it is browsing for are 3344all in dialogs of the class TransienDlg, but the Tournament Options 3345dialog has been altered to MasterDlg, to allow it to co-exist with 3346Time Control and Common-Engine dialog (which can be opened through 3347buttons in it). Xaw did not like that, and the true DialogClass is 3348now used when setting the widget text. 3349 33502014-11-10 14:29:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3351Fix -addMasterOption option 3352 3353The comparison of the date stamps in master and user settings file 3354was broken, because the date stamps were declared as unsigned, so that 3355the difference would never be negative. 3356 33572014-11-03 21:59:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3358Allow creation of DarkSquares in EditPosition mode 3359 3360Dragging an EmptySquare off board will make it a DarkSquare. Dragging 3361anything else off board (incl. DarkSquares) makes it empty, as before. 3362 33632014-11-03 21:56:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3364Let Clear Board respect DarkSquares 3365 3366Usually we will clear the board to set up a new position. Not to 3367redesign the board shape. 3368 33692014-11-03 21:51:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3370Fix sweep promotions for Lance on deeper zones 3371 3372Unlike Pawns, Lances always assumed a zone depth of 1 in deciding on 3373activating sweep promotion. (Because they did not naturally occur in 3374any variant that had a deeper zone.) 3375 33762014-11-03 21:49:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3377Fix two-sided non-royal castling 3378 3379 33802014-11-02 21:44:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3381Fix e.p. capture 3382 3383 33842014-11-02 15:52:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3385Fix premature disappearence of Lion victims 3386 3387The check test did not correctly undo a Lion e.p. capture, which 3388would make the victim already disappear after entry of the first leg, 3389which potentially could affect the second leg move generation. 3390(Not in Lions, though, but in Betza castlings it manifested itself.) 3391 33922014-11-02 15:31:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3393Implement non-royal castling 3394 3395The Betza move generator allows castlings to be specified on non-royal 3396pieces, and indeed the Omega-Chess 'guarding' castles Q with R. To 3397prevent ambiguity this is implemented as a two-leg move QxR-s (with 's' 3398the target square specified in the O atom). This automatically takes care 3399of removal of the 'Rook', so that in ApplyMove() we only have to put it 3400back on the proper side of the 'King'. 3401 34022014-11-02 12:24:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3403Also set e.p. rights on move of Lance 3404 3405The Lance is intended as Pawn alternative (because of its slim shape), 3406except in Superchess (where it represents Amazon) and Chu. (In regular 3407Shogi the Lace is represented by Queen disguised as Lance!) So it would 3408be logical to also make its double-Pushes set e.p. rights. Except in 3409Spartan Chess, which has no e.p. capture. 3410 34112014-11-02 11:29:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3412Allow e.p. capture on triple-Push 3413 3414Some variants (like Omega Chess) have an initial triple-Push on Pawns, 3415wich can then e.p.-captured on both of the squares they skip. To allow 3416the Betza move generator to supply such e.p. captures, a bit flag is 3417kludged into the EP_RANK state indicator on triple pushes, while the 3418main value there is that of the rank directly behind the pushed Pawn. 3419The Betza generator then also matches the square behind it with the 3420e.p.-capture to-square when the falg is set. 3421 ApplyMove() also had to be adapted, to remove the Pawn two squares 3422behind the capturing one, rather than straight behind it, when this 3423flag is set. 3424 34252014-10-31 23:46:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3426Make the promotion zone always 3 deep in Elven Chess 3427 3428The promotion zone in Eleven Chess was treated as in Shogi, and set 3429to the board height divided by 3. It is better to always make it 3. 3430This only makes a difference when the boardHeight is overruled, 3431but Elven Chess is a very useful parent variant when a 3-deep promotion 3432zone is needed. (Makruk would only allow promotion to Ferz, and Grand 3433Chess would need holdings and allow only promotion to captured pieces.) 3434 34352014-10-31 22:59:23 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3436Locate corner piece in presence of DarkSquares 3437 3438The 'Rook' move implied by a castling indicated through an obver-sized 3439King step uses the corner pieces. But the corner isn't necessarily 3440the edge file if the board is not rectangular, but irregularly shaped 3441like in Omega Chess. So we have to ignore the DarkSquares, which are 3442not caounted as belonging to the board. 3443 34442014-10-31 14:26:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3445Allow Betza castling with piece next to DarkSquare 3446 3447In variants like Omega Chess the board edges are not really the first 3448and last file, because of the Wizzard squares. So castling has to be 3449allowed not only with the piece on those files, but also when the square 3450beyond them is not part of the board anymore. 3451 34522014-10-31 13:54:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3453Let Betza generator respect DarkSquares 3454 3455DarkSquares are not pieces, and should not be moved. When landing 3456on them they should be considered as off-board. 3457 34582014-10-30 15:01:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3459Connect OSX Quit menu to ExitEvent 3460 3461The Quit menu item provided by OSX was not equivalent to the original 3462XBoard menu item, as it did not automatically call ExitEvent. (Which 3463closing the window did.) This meant a hard kill, without saving settings 3464or the last game, and not properly shutting down the engine(s). 3465We now catch the OSX 'WillTerminate' event to perform these tasks. 3466 34672014-10-28 22:37:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>: 3468Add USI/UCCI checkbox to Load Engine dialog 3469 3470Assign a default command to the -uxiAdapter when it was not yet defined, 3471as this will be used after ticking the checkbox, and the compile-time 3472default for it was an empty string, and will have found its way in 3473the user settings files of most users (making configuring through 3474the master settings file pointless). 3475 34762015-05-02 20:30:08 -0700 Arun Persaud <arun@nubati.net>: 3477make GTK the default version 3478 3479 34802015-05-02 20:26:48 -0700 Arun Persaud <arun@nubati.net>: 3481updated Dutch translation 3482 3483 34842015-05-02 20:26:38 -0700 Arun Persaud <arun@nubati.net>: 3485updated German translation 3486 3487 34882015-04-26 13:31:29 -0700 Arun Persaud <arun@nubati.net>: 3489fix typo in configure 3490 3491 34922015-04-26 12:49:09 -0700 Arun Persaud <arun@nubati.net>: 3493updated French translation 3494 3495 34962015-04-26 12:49:01 -0700 Arun Persaud <arun@nubati.net>: 3497updated German translation 3498 3499 35002015-04-19 20:26:20 -0700 Arun Persaud <arun@nubati.net>: 3501added French translation 3502 3503 35042015-04-19 20:19:18 -0700 Arun Persaud <arun@nubati.net>: 3505updated German translation 3506 3507 35082014-11-22 09:22:37 -0800 Arun Persaud <arun@nubati.net>: 3509Added Serbian translation 3510 3511 35122014-10-24 22:27:31 -0700 Arun Persaud <arun@nubati.net>: 3513remove OS X theme folder 3514 3515 3516 35172014-10-24 00:04:22 -0700 Joshua Pettus <jshpettus@gmail.com>: 3518removed gtk theme from OSX app 3519 35202014-10-23 23:33:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3521Add persistent Boolean option -fixedSize 3522 3523When set, this option suppresses sizing of the board and clocks when 3524the window is sized by the user. This is achieved by wrapping the entire 3525dialog in a non-expanding hbox. 3526 35272014-10-23 21:23:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3528Also do dual-royal test in variant shogi 3529 3530For the benefit of Sho Shogi we also have to be prepared to find a 3531Crown Prince in variant shogi, so it can be used as a parent variant 3532for Sho Shogi with legality testing on. 3533 35342014-10-23 16:22:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3535Fix promotion in Betza move generator 3536 3537The Betza move generator was geenrating allmoves as NormalMove, but in 3538that case XBoard would not allow the move to have a promotion suffix. 3539Now Pawns and Lances reaching last rank will be assumed to promote. 3540 35412014-10-22 13:06:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3542Attempt to make GTK sizing work with tiling WM 3543 3544The Rezise routine now takes the size of the entire dialog table 3545(for me always equal to the outer-window size), and checks if the 3546actual outer window is smaller. If it is, it shrinks the board to fit, 3547under the assumption that a tiling window manager offers only a limited 3548'viewport' to our dialog, and we want everything to be visible inside that. 3549 35502014-10-22 11:04:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3551Fix -xbuttons window width GTK 3552 3553Because Label options not followed by a SAME_ROW element were only 3554packed into the first two columns of the dialog table, the board window 3555reserved space for a third column behind the message window if there 3556was no button bar. 3557 35582014-10-21 20:37:41 -0700 Arun Persaud <arun@nubati.net>: 3559mac: only use gtk compile flag, if osxapp is enabled 3560 3561 35622014-10-21 22:40:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3563Prevent unknown variant getting button in -ncp mode 3564 3565Normally we fake the engines play the requested variant, for the benefit 3566of engines that do not send a variants feature (e.g. v1 engines). But this 3567should not be done if there is no engine, as it would lead XBoard to 3568believe an unknown variant name is an engine-defined variant supported 3569by a currently loaded engine, and create a button for it in the New Variant 3570dialog. 3571 35722014-10-21 22:07:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3573Fix variant-name recognition 3574 3575StringToVariant did recognize whether the name to recognize had suffuxes 3576compared to the tabulated name, but not if it had prefixes. So 'shoshogi' 3577would be recognized as 'shogi'. 3578 35792014-10-21 21:52:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3580Suppress duplicat autoInstalls 3581 3582If the engine line constructed for -autoInstall already occurs in 3583the engine list, we should not install it again. 3584 35852014-10-21 18:41:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3586Base new square size on board widget allocation GTK 3587 3588No longer pay attention to the size of the top-level window, but base 3589everything on the size of the board widget itself. 3590 35912014-10-21 13:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3592Ignore first configure event 3593 3594The first configure event will be the one that adds the window decorations 3595to the board window, and must not be used to calculate a new square size, 3596but to expand the outer window instead. 3597 35982014-10-21 11:35:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3599Let GTK dialogs open with actual-size Graph widgets 3600 3601The Graph Option size values are now uses as size_request, to give 3602proper dialog sizing at popup. But the size_request is then reset 3603so that free sizing by the user becomes possible. 3604 36052014-10-19 13:16:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3606Fix display of Spin Options with negative range 3607 3608 36092014-10-17 21:35:25 -0700 Arun Persaud <arun@nubati.net>: 3610line numbers in PO got updated 3611 3612 36132014-10-17 21:23:47 -0700 Arun Persaud <arun@nubati.net>: 3614updated ChangeLog, DIFFSTAT and SHORTLOG 3615 3616 36172014-10-17 21:17:56 -0700 Arun Persaud <arun@nubati.net>: 3618updated NEWS 3619 3620 36212014-10-17 21:17:28 -0700 Arun Persaud <arun@nubati.net>: 3622forget a few __APPLE__ ifdefs; changed to OSXAPP 3623 3624 36252014-10-17 00:01:44 -0700 Arun Persaud <arun@nubati.net>: 3626fix typo and prefix 3627 3628AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching? 3629Using just prefix=... seems to work though 3630 36312014-10-16 23:34:22 -0700 Arun Persaud <arun@nubati.net>: 3632USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE 3633 3634 36352014-10-16 21:44:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3636Fix loading of engine-defined PGN games 3637 3638Somehow there could be disagreement over what the official opening 3639position of an engine-defined variant was during loading of the game. 3640It then refused Betza-defined castling, which tests the corner pieces 3641based on this initial position. We now assume the FEN tag, which such 3642a PGN game will always contain, holds the official opening position, 3643so that castling will always be assumed possible (if there is a corner 3644piece). 3645 36462014-10-16 20:29:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3647Preserve parent variant for PGN of engine-defined game 3648 3649Rather than decoding an unknown variant name, (which will result in 3650'normal'), we keep the currently set (parent) variant when an 3651engine-defined variant is currently set that matches the name in 3652the PGN variant tag of the loaded game. 3653 36542014-10-16 17:54:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3655Fix some uninitialized variable bugs 3656 3657The writing of Seirawan castling rights in FEN was still dependent on a 3658now unused variable, and encountering a VariantMen tag in a PGN file 3659could have created the misconception the memory was full. 3660 36612014-10-16 17:41:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3662Update Game List after tag selection changed 3663 3664When the Game List Options dialog changes the tags to be displayed in 3665the Game List lines, we now automatically redo the entire Game List. 3666 36672014-10-16 16:38:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3668Always accept piece commands in variant great 3669 3670Great Shatranj belongs to the variants XBoard does not know the rules of, 3671and should thus always accept engine piece commands. 3672 36732014-10-15 21:28:36 -0700 Arun Persaud <arun@nubati.net>: 3674make all tests for strings in configure use the same scheme 3675 3676 36772014-10-15 21:23:26 -0700 Arun Persaud <arun@nubati.net>: 3678updated Changelog, DIFFSTAT, and SHORTLOG 3679 36802014-10-15 21:06:36 -0700 Arun Persaud <arun@nubati.net>: 3681fix osxapp enable option in configure.ac 3682 3683 36842014-10-15 21:06:00 -0700 Arun Persaud <arun@nubati.net>: 3685remove experimental from gtk build option 3686 3687 36882014-10-15 21:02:38 -0700 Arun Persaud <arun@nubati.net>: 3689only enable osxapp build target on apple systems, clean up configure.ac a tiny bit 3690 3691 36922014-10-15 20:57:28 -0700 Arun Persaud <arun@nubati.net>: 3693update NEWS file 3694 3695 36962014-10-15 23:48:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3697Don't switch to engine-defined variant on game loading 3698 3699When loading a game from PGN the variant tag will have been decoded as 3700'normal' in case of an engine-defined variant, and we certainly would 3701not want to switch to that. Better stay in the variant the user had 3702selected before, and hope for the best. 3703 37042014-10-15 21:50:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3705Implement displaying of variant tag in Game List 3706 3707The variant tag was displayed as an empty string in game-header lines. 3708Processing it during PGN load was not able to handle engine-defined 3709variants anyway; they were recognized as 'normal'. A new field in the 3710GameInfo struct now holds variantName in text form, and this is the 3711primary place from which it is displayed in the Game List. 3712 37132014-10-15 21:06:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3714Update Game List when setting new Game List Tags 3715 3716Using the Game List Tags dialog to alter the gae header lines now 3717automatically causes an update of the Game list according to the new 3718tags specification. 3719 37202014-10-15 20:26:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3721Reset move entry on Clear Board 3722 3723The board markers would stay on when the board was cleared, and a 3724no-longer-present piece would stay selected, leading to deletion of the 3725first piece that you tried to select. 3726 37272014-10-14 09:38:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3728Split Tournament dialog in side-by-side panes 3729 3730This seems to cure a sickness in some Xaw versions, which refused 3731to display text in the text widgets, or make them sensitive for mouse 3732clicks if the last three buttons were added. It also helps keeping 3733the 'OK' button on-screen in the GTK version. 3734 37352014-10-12 19:43:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3736Remember position obtained from setup 3737 3738When the engine sends a setup command, it should be remembered as 3739initialPosition, in order for the castling 'rook' test of the Betza 3740move generator to work. 3741 37422014-09-13 12:35:12 -0700 Joshua Pettus <jshpettus@gmail.com>: 3743Add build script to configure for a XBoard.app for OS X 3744 3745This relies on the the gtk build and adds some special code in 3746gtk/xboard.c so that XBoard can be installed inside the app directory 3747independ on where the app file is located. 3748 37492014-10-12 10:09:51 -0700 Arun Persaud <arun@nubati.net>: 3750replaced hardcoded pngdir with built-in ~~ 3751 3752don't need to create xboard.conf from xboard.conf.in anymore 3753 37542014-10-12 00:18:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3755Some improvement on new Shogi SVG pieces 3756 3757 37582014-10-11 10:55:41 -0700 Arun Persaud <arun@nubati.net>: 3759updated spanish, ukranian, and dutch translation 3760 3761 37622014-10-11 19:42:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3763Fix logos Xaw 3764 3765The patch for logo standard left a typo and an excess line in the Xaw 3766version. This is fixed, and also implements the user-logo cascade for 3767the Xaw version. 3768 37692014-10-11 19:26:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3770Try also /home/<user>/.logo.pgn for user logo 3771 3772The user logo now also has a cascade, first looking in the user's home 3773folder for a file .logo.png, and then in the -logoDir for <user>.png. 3774 37752014-10-11 16:38:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3776Fix ICS logo display 3777 3778 37792014-10-10 18:14:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3780Show current variant on New Variant buttons GTK in bold 3781 3782If an engine-defined variant is selected, we compare its name to the 3783inscription on the button, otherwise we compare the variant numbers. 3784(Test to trigger this is a bit awkward, to not inadvertantly apply it 3785to the ICS Text Menu, which also has colored buttoms.) 3786 37872014-10-10 17:01:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3788Increase number of engine-defined-variants Buttons XB 3789 3790An third column is added to the New Variant dialog when necessary. 3791 37922014-10-09 23:25:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3793Force GTK logo size to quarter board width 3794 3795This is what GTK will do anyway, because clocks and logos are in a hbox 3796that equally divides space, so telling XBoard different just misinforms it. 3797 37982014-10-09 17:08:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3799Replace default Shogi pieces 3800 3801The SVG Shogi pieces are replaced by a new set, made by Joshua Pettus. 3802This set also contains and Elephant and Crown Prince. 3803 38042014-10-09 09:35:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3805Implement new logo standard 3806 3807XBoard now looks in the system directories for plugin logos, 3808/usr/(local/)share/games/plugins/logos, according to the cascade 3809-logoDir, engine dir (-fd,-sd), /usr/local/..., /usr/... 3810 38112014-10-09 08:47:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3812Relocate OS X' LOCALEDIR 3813 3814 38152014-10-08 21:56:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3816Fix check test with multi-leg moves 3817 3818The check test after a multi-leg move was still using the same kill 3819square in the opponent's reply, making it blind to King captures in 3820a second leg. So far we got away with that because the Shogi multi-leg 3821pieces also can reach all their potential victims in a single step, 3822but with engine-defined multi-leg moves there is no guarantee this 3823will always be the case. 3824 38252014-10-08 21:55:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3826Fix infinite loop in cylinder moves 3827 3828 38292014-10-07 19:13:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3830Let t on final leg in Betza notation forbid checking 3831 3832To allow approximate definition of pieces that are too difficult to 3833describe exactly, we can revoke their capture rights on Kings, 3834to prevent imagined moves that happen to threaten a King forces the 3835opponent to evade this imagined check, making most of his moves illegal. 3836Then the piece can be safely replaced by an upward-compatible one, 3837leaving rejection of the extra moves to the engine. 3838 38392014-10-07 18:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3840Implement Betza hr and hr as chiral move sets 3841 3842To easily separate right- and left-handed moves on oblique atoms 3843(which needs opposite use of l and r in their multi-leg continuations), 3844the direction sets hr and hl are added. 3845 38462014-10-07 08:20:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3847Preserve other Betza mode bits on setting default modality 3848 3849 38502014-10-06 20:20:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3851Switch to new Betza orth-diag conversion standard 3852 3853The interconversion from orthogonal to diagonal atoms is now possible 3854for any 4-way atom, based on specification of an 'in-between' direction, 3855irrespective of modality. Also take backward out of default continuation 3856direction-set. 3857 38582014-10-03 10:31:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3859Implement Betza t modifier for hop-own 3860 3861The 't' modifier will restrict any form of hopping as specified by 3862p or g modifiers to friendly pieces. This only works on non-final legs. 3863 38642014-10-02 19:32:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3865Implement directional modifiers on KQ, and let y&g upgrade 3866 3867The Betza y and g modifiers now not only change range, but also upgrade 3868the directional capabilities of the atom to full non-degenerate 8-fold. 3869Directional modifiers can now be used in that symmetry too, to maximally 3870exploit this, and implement 4-fold pieces that make 45-degree turns. 3871Let oblique continuation legs also use the non-degenerate system. 3872 38732014-10-02 15:19:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3874Implement Betza y modifier 3875 3876The non-standard modifier 'y' is the spontaneous counterpart of 'g', 3877changing the range of the atom, and upgrading its directionality. 3878 38792014-10-02 10:21:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3880Implement Betza g modifier for non-final legs 3881 3882The g modifier is implemented as a p that turns a rider into the 3883corresponding leaper when it hops, and vice versa. This is done by 3884stripping off any existing range indicator, and making the range 3885infinite by suffixing '0' when the old range was 1 (whether implied 3886or explicitly written). Except that for sliders/steppers this is done 3887by atom-name conversion after stripping off the range. Limited range 3888thus in general turns into leaper (D -> D0, Dn -> D), but with FWK 3889W3 -> R and R3 -> W, etc. 3890 38912014-10-01 15:32:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3892Implement Betza a modifier 3893 3894This is pretty complex, and might overload the current primitive two-leg 3895legality testing when pieces are defined that can reach squares only in 3896two legs. 3897 38982014-10-01 09:28:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3899Implement Betza j on W,F as skip first square 3900 3901 39022014-10-04 21:56:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3903Always accept piece commands for Falcon and Cobra 3904 3905The wild-card pieces Falcon and Cobra do not have any moves assigned to 3906them, and XBoard would accept any move for them even when legality 3907checking is on. So for these pieces it is always better to trust the 3908engine's piece definition. 3909 39102014-10-04 21:52:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3911Fix pieceToCharTable of Falcon Chess 3912 3913This variant was using the Falcon piece, but defining ID F for the 3914unused Lance instead. 3915 39162014-10-04 19:59:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3917Don't preserve setup position on board-size change 3918 3919Normally the setup command sent by an engine is ignored if the user 3920already has set up a position, to not render it impossible to do the 3921latter. But if the setup command orders a different board size nothing 3922the user has set up can possibly remain valid. 3923 39242014-10-04 19:39:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3925Reset move entry on stepping through game 3926 3927A forward or backward step through the game after selecting a from-square 3928did not erase the latter, so that it became impossible to select a 3929from-square for an opponent move, as it would be interpreted as the 3930to-square for the patially entered move. This was especially annoying 3931with legality testing off, as the legality test there, based on the 3932square markings, does not reset the entry state either, but waits 3933until you do click a legal to-square, so that you had to attempt 3934moving with pieces of the side not to move to get out of this state. 3935Now stepping through another position will reset the move-entry state 3936completely, always considering the first click a from-square selection. 3937 39382014-10-07 20:55:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3939Fix engine-defined variant as startup 3940 3941Non-standard names were all recognized as 'normal' in InitBackend1(). 3942Now if the -variant argument was not "normal", it is assumed to be an 3943engine-defined variant if we run with engine. 3944 39452014-10-07 18:53:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3946Fix clipping of board GTK 3947 3948ResizeBoardWindow now measures the with of the window dressing by 3949brute force, interrogating GTK both for the width of the top-level 3950window and the board widget, and subtracting the two. 3951 39522014-10-08 18:28:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3953Fix writing of Seirawan960 virginity in FEN 3954 3955When variant seirawan was played with Fischer castling, only the 3956castling rights were written, and not the virginity of other pieces. 3957Now all virgin files are dumped in Shredder-FEN style. 3958 39592014-09-29 21:07:17 -0700 Arun Persaud <arun@nubati.net>: 3960update po/pot files 3961 3962 39632014-09-29 21:00:42 -0700 Arun Persaud <arun@nubati.net>: 3964new version number for release 4.8.0 3965 3966 39672014-09-13 14:33:37 -0700 Arun Persaud <arun@nubati.net>: 3968fixed whitespace error in configure.ac for os x 3969 3970 39712014-09-20 10:06:17 -0700 Arun Persaud <arun@nubati.net>: 3972update gettext configuration to not include any generated files in git 3973 3974before we had a somewhat mixed setup, which seems to create problems 3975when a different gettext version was installed on the users machine compared 3976to the version used to generate the files in git. This should solve 3977the problem. The user will now have to generate these files using autopoint, 3978which we call from autogen.sh. 3979 39802014-09-28 22:19:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3981Configure XBoard for -size 49 in master settings 3982 3983Now the code for auto-sizing works, it turns out this does more harm than 3984good in the GTK build, as it takes maximum size that fits the screen as 3985initial size, and the board window then cannot be shrunk below that. 3986So we configure a hard -size 49 for a cold startup. 3987 39882014-09-28 21:27:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3989Implement ff etc. in Betza parser 3990 3991Dupliacated directional modifiers can be needed with oblique moves 3992to unambiguously specify a direction set, e.g. ffrrN. 3993 39942014-09-28 13:40:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 3995Rename PGN Pieces tag to VariantMen 3996 3997Following a suggestion from Steven Edwards, this indeed makes a much 3998clearer name. Also add code to skip the tag on reading, rather than 3999allowing it to end up with the 'extra tags', as the latter could lead 4000to duplication of the tag on subsequent saves. 4001 40022014-09-28 11:18:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4003Suppress use of promo-Gold bitmaps in Tori Shogi (WB) 4004 4005In Tori Shogi the Swallow Pawn does not promote to Tokin, so the use 4006of a Gold General pictogram would only be confusing. So we stick to 4007the regular fairy bitmaps in Tori, which is recognized by the board 4008having 7 ranks in Shogi. 4009 40102014-09-28 10:55:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4011Prevent board-size oscillations 4012 4013It could happen that after resize there was room for enlarging the 4014squares by one pixel, but that this crossed the boundary where the line 4015gaps also become wider, and there is no room for making both squares 4016and line gap. This would cause perpetual oscillations of the window size. 4017Resizing is now suppressed when a 1-pixel square-size increase would also 4018result in a line-gap increase. 4019 40202014-09-28 10:09:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4021Allow use of second-row pieces for non-promoted in drop games 4022 4023Second-row pieces were automatically demoted on capture, but this 4024should really happen only when the piece-to-char table says it is a 4025shogi-promoted piece (assigned a '+' there). Pieces assigned a letter 4026should really stay themselves. 4027 PieceToNumber had to be adapted to skip '+' pieces in order to count 4028correctly for second-row pieces, as did the code in UserMoveEvent() that 4029mapped the from-square onto the piece type. (Why do we do that anyway? 4030The piece type was displayed on the from-square!) 4031 40322014-09-26 20:24:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4033Fix reset of 50-move counter on FRC castling 4034 4035The FxR internal representation was taken a bit too seriously! 4036 40372014-09-26 20:15:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4038Fix abort of machine game on variant mismatch 4039 4040When the second engine did not support the current variant, and we clicked 4041Two Machines, there was an error popup, but the Two Machines menu item 4042stayed checkmarked. Now we explicitly uncheck it, and switch to EditGame 4043mode. 4044 40452014-09-26 19:47:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4046Make unsupported variant on loading 1st engine non-fatal 4047 4048Like in the startup code, when the loaded engine does not play the 4049currently selected variant, we now figure out what the engine does play, 4050and switch to that. The error message still pops up, but not non-fatal. 4051 40522014-09-25 23:37:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4053Print PGN Piece tag listing engine-defined pieces 4054 4055A newly defined PGN tag is printed, which summarizes all non-standard 4056pieces. Black copies of identically named white pieces are suppressed. 4057In the future also non-standard naming should be reported here. 4058 40592014-09-25 19:11:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4060Always accept piece commands in partly supported variants 4061 4062Normally piece commands are ignored when legality checking is on, as 4063XBoard's idea of legality should obviously overrule the engine's. 4064In variants that are not or only partly supported, however, XBoard has 4065no own idea of what is legal, so it is better to take the engine's 4066advice than enforcing wrong rules. 4067 40682014-09-25 12:29:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4069Size seek graph to also cover board rim WinBoard 4070 4071The seek graph always used the plain board size, but in WB it is 4072possible to diplay a rim around the board, and the seekgraph would 4073then be positioned in the upper-left corner of the rim, leaving the 4074lower and right board edge and rim uncovered. Its size is now increased 4075to fill the entire window (as leaving a rim around it seems not useful). 4076 40772014-09-25 11:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4078Reparse ambiguous move under built-in rules 4079 4080When a move parses as ambiguous under engine-defined piece locomotion, 4081we re-parse it with XBoard's native idea of the pieces, just in case 4082it is a move from a game that was saved without the engine having 4083redefined the pieces. This keeps games created before the introduction 4084of the 'piece' command loadable. 4085 40862014-09-25 11:14:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4087Prevent multi-path moves from parsing as ambiguous 4088 4089In Cylinder Chess the MovesFromString() generator might generate duplicate 4090moves, one wrapping, the other direct. When they were both counted as 4091matching the SAN input move, Disambiguate() would think it an ambiguous 4092move. So a move that came from the same square as the one we already 4093have must not be counted. 4094 40952014-09-24 21:47:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4096Fix cross-edge e.p. capture in Cylinder Chess 4097 4098ApplyMove() did not remove the e.p. victim when an edge-crossing e.p. 4099capture was made, because e.p. rights are only set to neighboring files 4100(after checking there is a Pawn there to capture). The e.p. heuristic 4101has now been changed to also assume e.p. on file-changing Pawn moves 4102that span a large number of files, assuming that these will be wrapping 4103moves. Eventually we should change to better e.p. logic that can be 4104integrated with engine-configured move generation, as the current system 4105would fail for any Pawn that captures more than just neighbor ranks. 4106 41072014-09-24 19:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4108Implement Betza o modifier for cylinder boards 4109 4110 41112014-09-24 17:02:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4112Improve virginity test for engine-defined pieces 4113 4114Two squares in the board are now reserved for flags that indicate 4115whether back-rank pieces have been touched. This allows MovesFromString() 4116to accurately test virginity of these pieces, rather than having to assume 4117it when the piece matches that in the opening position. For other ranks 4118the latter test is still used, as these are normally (irreversible) Pawns, 4119which cannot return there (and in drop games, when they would, would again 4120be considered virgin enough for the purpose of double-pushing!). 4121 41222014-09-24 13:20:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4123Implement Betza p and g modifiers in piece command 4124 4125 41262014-09-24 08:28:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4127Repair piece defs with showTargetSquares off 4128 4129The proxy legality checking based on marking of target square was 4130rejecting all moves when target squares were not highlighted. 4131 41322014-09-23 21:53:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4133Allow definition of castling in piece command 4134 4135Castling is defined by the O atom, with a suffix indicating the number 4136of steps the King must step in the direction of the corner. Kings keep 4137their normal castling unless overruled by this. Can currently only be 4138used on the variant's royal piece, as XBoard's ApplyMove() is not smart 4139enough to understand displacing the corner piece is implied when it is 4140used on other pieces. 4141 41422014-09-23 21:49:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4143Update description of piece command in protocol specs 4144 4145 41462014-09-23 14:52:16 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4147Improve SAN of Pawn moves and allow Betza e.p. definition 4148 4149The move descriptions in 'piece' commands can now use 'i' and 'n' 4150modifiers to define a blockable double push. ('n' only work for moves 4151of stride 2!) The test for initial moves now is based on comparison with 4152the opening position, rather than on a way-to-generous heuristic. (This 4153still does not prove in generak the piece did not move, though, but it 4154does for Pawns.) A new 'e' modifier stands for e.p. capture; to implement 4155this the rank and file of the e.p. square are now stored in the board. 4156(EP_STATUS was holding the file of the moved Pawn, which in Berolina Chess 4157is not the file of the e.p. square!) 4158 The generation of SAN moves for Pawns can now reliably distinguish between 4159captures and non-captures even in Berolina, when the move generator informs 4160it whether the move was e.p. capture. 4161 41622014-09-22 22:48:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4163Retune -stickyWindows GTK 4164 4165This still does not work well, and in particular windows refuse to stick 4166to the top of the board window. 4167 41682014-09-22 21:59:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4169Fix detection of screen size GTK 4170 4171A gdk call that can get the screen without there first being a window 4172mapped to it is used now. This fixes initial sizing of the board window 4173on a cold start. 4174 41752014-09-22 21:57:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4176Configure a size for the Eval Graph 4177 4178If no size for the Eval Graph window is configured in the master 4179settings file, the window will pop up as 2x4 pixels. 4180 41812014-09-22 20:39:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4182Prevent crash on specifying non-existent texture XB 4183 4184By setting the texture width to 0 when the texture could not be loaded, 4185XBoard will never attempt to draw it. 4186 41872014-09-22 20:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4188Configure some themes in XBoard master settings 4189 4190The -themeNames option is set to contain some themes that could be 4191defined with the default pieces and textures that come with XBoard. 4192 41932014-09-22 18:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4194Remove debug printf 4195 4196 41972014-09-21 16:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4198Control Eval Graph with mouse 4199 4200Let mousewheel control evalZoom, and right-click toggle between 4201normal view and differential view ('blunder graph'). 4202 42032014-09-21 16:10:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4204Add extra font field to Option struct 4205 4206Storing the font in the textValue field was too kludgy, as this field 4207is already heavily used in the various Option types, for storing handles, 4208or defining colors and callbacks. A 'font' field is now added at the end, 4209so that it can be optionally initialized in the rare case it is needed. 4210 42112014-09-21 13:44:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4212Repair damage done by merging with v4.7.x 4213 4214 42152014-09-21 08:36:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4216Sort fail lows and fail highs below others 4217 4218Every more recent line should always float up aove lines that were 4219indicated to be fail lows or fail highs through ? or ! PV suffixes. 4220 42212014-09-20 12:58:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4222Describe the new texture conventions in manual 4223 4224The exact rules for how textures are scaled in response to their 4225filename is described in the manual. 4226 42272014-09-19 10:22:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4228Force exactly overlayed texture scaling through filename 4229 4230A filename suffix -NxM.png on a texture image will cause XBoard to scale 4231the image as if it were the image of a complete board of N files and M 4232ranks, to make the square size equal to that of the current board, 4233and adjust the cutting parameters such that contiguous squares are cut 4234out of it. (If the current board format is larger than NxM, the remaining 4235space will be padded with white!) 4236 If N=M=0, N and M are assumed to correspond to the current board size, 4237and the bitmap will be scaled to fit the height of the board. 4238 If no suffix is present, the old cut-and-tile algorithm is used. It will 4239be assumed the texture bitmap is intended for a single square, unless the 4240pathname contains a file that starts with "xq", in which case it is assumed 4241that the file contains a Xiangqi board. 4242 42432014-09-18 23:30:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4244Allow two Pawns per file in Tori Shogi 4245 4246When the board has 7 ranks it is assumed to be Tori Shogi, and the 4247requirement for maximally one Pawn per file is relaxed to two. 4248 42492014-09-18 23:08:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4250Test legality even when off if engine defined pieces 4251 4252After reception of a piece command XBoard will mark target squares 4253even when legality testing is off, and now also will require the lifted 4254piece to land on a marked square (like when the engine highlighted them 4255through a highlight command). 4256 A problem is that this does not work for drops, as drops do not mark 4257target squares. So drops are always accepted. Which of course is bad 4258for Pawn drops. But there really is no way yet for an engine to specify 4259how pieces can be dropped, similar to the 'piece' command. 4260 42612014-09-17 22:32:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4262Fix texture scaling 4263 4264 42652014-09-17 13:41:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4266Implement engine-defined pieces 4267 4268When legality testing is off, XBoard now listens to 'piece' commands 4269to redefine its move generator. After such a piece command is received, 4270target-square marking also can be used when legality testing is off. 4271The engine keeps in charge of legality testing, though. 4272 Only a very basic version of Betza notation is currently understood for 4273the move description: mode modifiers have to appear in the order mcd, 4274and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not 4275implemented at all. A leading i modifier limits the moves to the first 4276two ranks, which is no good at all. (But XBoard does not keep track of 4277which pieces have moved, and this at least would work for Pawns in a 4278FIDE-like setup, in particular Berolina.) 4279 42802014-09-17 09:44:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4281Scale texture bitmaps that are not large enough 4282 4283Texture bitmaps are now sized up by an integer factor to be at least 4284as large as the board (if they seem intended for a full XQ board, which is 4285assumed when they are larger than 256x256) or the square. This necessitated 4286the textures to be re-initialized in InitDrawingSizes whenever the window 4287size changes. 4288 42892014-09-16 19:04:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4290Ignore color arguments not starting with # 4291 4292Old settings files from xpm-using version might still contain color 4293designations like 'white' or 'red'. Since Cairo would interpret these 4294as black, it is better to ignore them, so the default color is used. 4295 42962014-09-15 15:30:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4297Implement -autoInstall option 4298 4299When -autoInstall is a non-empty string, XBoard will scan the system's 4300plugin specs directories for UCI and WB protocol, to see if new engines 4301were added since the last settings save. If so, they are added to the 4302list of installed engines. 4303 The variants listed in the plugin-spec files are currently ignored, 4304but the option is already configured to install engines for all variants. 4305 43062014-09-14 22:47:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4307Fix typo 4308 4309 43102014-09-14 21:41:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4311Make inlined functions static 4312 4313Clang apparently chokes on non-static inline functions, 4314and they were not used from other files anyway. 4315 43162014-09-09 20:29:15 -0700 Arun Persaud <arun@nubati.net>: 4317updated spanish translation, added new polish translation 4318 4319 43202014-09-13 09:12:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4321Look for logo in engine dir first (GTK) 4322 4323When setting engine logos, we look for a file logo.png in the engine 4324directory, before trying <enginename>.png in the -logoDir. This is useful 4325on OS X. Fix bug that checks for existence of -fd/sd rather than -logoDir, 4326when using the latter (also in Xaw). 4327 43282014-09-11 23:10:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4329Fix checkmarking of OS X menu items 4330 4331The routine MarkMenuItem() was moved to xboard.c, where it can see 4332the OSX-specific #defines, and calls to sync_menu_bar were added 4333to it, and to EnableNamendMenuItem(). 4334 43352014-09-11 22:48:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4336Fix crash of tournament dialog GTK 4337 4338The font/color disambiguation of the Option.textField in Label and 4339ulti-line TextBox options cannot stand it if unused elements are 4340initialized as "" rather than NULL. 4341 43422014-09-11 19:17:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4343Let OS X display dock icon 4344 4345 43462014-09-11 12:41:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4347Fix Xaw button color error 4348 4349The textValue field, now also used to indicate font, was used in two 4350places when popping up buttons, and the font patch only addressed one. 4351 43522014-09-11 10:23:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4353Make SVGDIR a variable 4354 4355Replace all occurrences of SVGDIR in the source by svgDir, a char array 4356that is initialized to SVGDIR, so that it can be altered at run time. 4357This is needed to make portable apps. Where SVGDIR was used in string 4358concatenation, the code had to be re-written to use snprintf to do the 4359concatenation at run time, through a new function LoadIconFile. 4360The extension of image files used there is now made dependent on the 4361__APPLE__ switch, so that it can use .png in OS X (which does not seem 4362to understand SVG icons). 4363 43642014-09-10 21:20:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4365Fix warning in dead code Show 4366 4367 43682014-09-10 20:49:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4369Reorder variants, to comply with Polyglot book specs 4370 4371XBoard's variant number is used as a key to access Polyglot opening 4372books, and thus cannot be changed without consequences. (As it was when 4373we introduced ASEAN and Chu Shogi.) 4374 We also renamed Chu Chess to Elven Chess (under which name it is now 4375described on chessvariants.org). 4376 43772014-09-10 19:52:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4378Reserve piece command in protocol specs 4379 4380 43812014-09-10 18:54:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4382suppress Alien Edition standard variants 4383 4384Variants that are standard in the Alien Edition should not be 4385recognized as engine-defined variants: the engines that announce 4386them will not respond with the required setup command, so allowing 4387the user to select them just leads to trouble. 4388 43892014-09-10 13:51:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4390Fix SetWidgetFont GTK 4391 4392This was testing for an empty font spec in the wrong way, with as a side 4393effect that some pointers to font strings would be interpreted as colors. 4394 43952014-09-10 15:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4396Update protocol specs 4397 4398 43992014-09-09 21:43:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4400Let message field and button bar use GTK -messageFont 4401 4402The -messageFont spec (using the default coordFont pixel size, like the 4403others) is now used to modify the fonts of message field and buttons 4404in the button bar. They pass a pointer to the appData font variable in 4405their Option's textField. This conflicts with the use of this field in 4406buttons for specifying a color, as done in the New Variant buttons. 4407This is resolved by checking if the first byte of the pointed-to value 4408is a #. The Xaw version must ignore the textField if it does not 4409specify a color. 4410 44112014-09-09 20:51:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4412Fix GTK fonts 4413 4414 44152014-09-09 19:57:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4416Use coordFont default pixel size for other fonts 4417 4418The message-font is way too large for the dialogs. A better solution 4419would be to redo the entire table of SIZE_DEFAULTS in xboard.h, as 4420this file is front-end-specific anyway. 4421 44222014-09-09 19:39:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4423Use -gameListFont in Game List 4424 4425Not implemented in a very generic way, but hacked into the code that 4426added the handler. There aren't many other listboxes that would need 4427adjustable font. 4428 44292014-09-09 16:49:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4430Fix Chat window for Xaw build 4431 4432The ICS output field and Hide button are removed from the ICS Interaction 4433window, to make it similar to the old Chat window. This required adding 4434some tests in the handlers of this window, to prevent segfaults due to 4435accessing it. 4436 44372014-09-09 15:53:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4438Fix infinite-regression problem on OS X 4439 4440Apparently the OpenFile handler can already be called during 4441gtkosx_application_ready (or gtk_signal_connect), so we have to make 4442sure 'suppress' is set before we call those. 4443 44442014-09-09 10:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4445Correct for .Xresources form->paneA renaming in manual 4446 4447In the Xaw build the name of the form widget of dialog.layout.form... 4448hierarchy was changed to paneA, paneB, ... when allowing multi-pane 4449dialogs through the Break Option (such as the Engine Output window). 4450 44512014-09-09 10:36:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4452Use GTK fonts in Engine Output and Move History 4453 4454 44552014-09-08 20:42:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4456Include some conditional OS X fixes 4457 4458DATADIR must be corrected to ~~ in the OS X app, and the info command 4459must be started in a different way. 4460 44612014-09-08 20:12:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4462Fix WB DoEvents error 4463 4464 44652014-09-08 19:06:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4466Limit auto-extending to click on first move of PV 4467 4468Even when auto-exted on clicks on the tail of a PV will no longer cause 4469any moves to be added to the game. Only clicks on or before the first 4470move can do that now. 4471 44722014-09-08 16:20:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4473Animate multi-leg in auto-play and forward event 4474 4475Replaying multi-leg moves is now also done by animating both legs. 4476In addition, the highlights are set on final and intermediate square, 4477rather than from-square. 4478(There seems to be a great deal of code duplication here. Why doesn't 4479AutoPlayOneMove simply call ForwardInner?) 4480 44812014-09-08 14:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4482Fix key bindings for non-menu functions 4483 4484The accelerator keystrokes for next game, previous game and debug mode, 4485which don't have menu items, and are grouped in the menu table 'noMenu', 4486were not treated in the building of the translation table, as 'noMenu' 4487does not occur on the menu bar. An extra iteration is done now to 4488treat this menu group. 4489 44902014-09-08 14:24:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4491Fix Xaw key bindings 4492 4493The routine to automatically construct the translation table for 4494accelerator keys did not respect the rule that more specific keystrokes 4495(like :Meta<Key>Home:) have to be defined before more general ones 4496(like :<Key>Home:). As a result Alt+Home would activate the Revert 4497item, intended for plain Home. 4498 44992014-09-08 14:20:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4500Define default font names 4501 4502 45032014-09-08 09:25:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4504Fix MSVC problems 4505 4506Book.c did not include config.h, and thus missed the redefinition of 4507snprintf (which is not known in MSVC). The use of 'inline' in parser.c 4508also needed an MSVC redefinition, now added to winboard/config.h. 4509 45102014-09-08 09:22:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4511Fix GTK font patch 4512 4513 45142014-09-07 23:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4515Replace strcasecmp by StrCaseCmp 4516 4517The MicroSoft compiler does not know strcasecmp, so we better use 4518our own function for this everywhere. 4519 45202014-09-07 23:28:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4521Let GTK build pay attention to font arguments 4522 4523Multi-line text edits now use the initial value of the Option.textValue 4524field as a pointer to a (char*) holding a font name, to be used for 4525the text displayed in it. (After which they overwrite the field with 4526the textView handle.) The font options -tagsFont, -commentFont, icsFont, 4527-moveHistoryFont and -gameListFont are now activated in the GTK build, 4528to control the corresponding memos. 4529 45302014-09-07 13:58:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4531Fix auto-display comment option in General Options 4532 4533This options had the same ID as auto-Queen, making it ignored. 4534 45352014-09-07 13:43:48 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4536Call DoEvents during time-consuming operations 4537 4538Processing of a game file for reading it, searching positions, saving 4539selected games or creating a book from them can take minutes. To keep 4540the application responsive during that time, the main loops of those 4541tasks calls DoEvents(). A possible risk is that the user can now do 4542too much, and will initiate actions that interfere with the tast in 4543progress. 4544 45452014-09-07 13:32:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4546Fix GameListHighlight WB 4547 4548The routine to highlight a game line in the Game List listbox of WinBoard 4549used an extremely inefficient linear search to find the game amongst the 4550selected games. This has now been replaced by bisection, after finding 4551an upper limit to the number of entries in the listbox by doubling 4552a trial size. 4553 45542014-09-07 12:10:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4555Provide DoEvents function in front-ends 4556 4557A routine to process all pending events in a non-blocking way is now 4558provided in the Xaw, GTK+ and WinBoard front-ends, so that time-consuming 4559tasks (such as PGN loading or opening-book creation) can call it to keep 4560the user control over the application alive. 4561 45622014-09-06 23:13:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4563Fix syntax error in bitbase code 4564 4565 45662014-09-06 22:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4567Describe Save Selected Games menu in manual 4568 4569 45702014-09-06 22:29:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4571Let Save Games as Book only use selected games 4572 4573The book-creation code now only takes games into account that are 4574selected for display in the Game List. 4575 45762014-09-06 22:20:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4577Rewrite key-binding section of manual 4578 4579This section still wrongly described the key-binding procedure from 4580before the rewrite of the XBoard front-end. 4581 45822014-09-06 13:21:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4583Connect scroll event to Graph Option in GTK 4584 4585The mouse wheel is now detected in graphics widgets, and passed to 4586the user handler as button 4/5 mouse events. 4587 45882014-09-06 13:15:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4589Make sure node count is positive 4590 4591Engines that print the node count as an int overflow into negative values 4592when the count exceeds 2G. This is really an engine bug, but as it 4593interferes extremely annoyingly with the alignment of the Thinking Output 4594XBoard now repairs it by adding 4G to undo the overflow. 4595 45962014-09-05 14:03:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4597Connect mousewheel to Forward/BackwardEvent (XB) 4598 4599The mouse buttons 4 and 5 are now processed in the handler for the 4600board widget. 4601 46022014-09-05 13:41:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4603Fix size of time in Engine Output window 4604 4605When the thinking time exceeds an hour, the format hr:min:sec is now used, 4606in stead of min:sec.cents. This prevents the field from extending beyond 4607the tab stop when thr hours kick in, and should work upto 100 hrs. 4608(Going beyond that at the moment does not seem useful.) 4609 46102014-09-04 22:57:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4611Verify if font-spec looks like one in Xaw 4612 4613To make XBoard resistant to mixed use of Xaw and GTK builds, which 4614would not understand each others font specs stored in the settings 4615file (they have in common), we now determine if the value looks like 4616an X-font. If it doesn't, the Xaw version ignores it. The GTK build already 4617ignored it if it did lool like an X-font spec. 4618 46192014-09-04 17:03:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4620Fix alignment in Engine Output window 4621 4622Numbers above 1000M would become too wide for their field. This is 4623solved by introducing the abbreviation 'G'. Values below 10M or 10G 4624now get an extra digit in their fraction, so that the precision is 4625at least 1%. 4626 46272014-09-01 14:44:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4628Add Save Selected Games menu item 4629 4630A menu item to save all selected games in the Game List on a single 4631file is added. 4632 46332014-09-01 12:03:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4634Add final piece count to search criteria 4635 4636The Load Options dialog now has a text field in which a range can be 4637entered (like 8-10). Position search will then only select games that 4638had their final number of pieces in this range. 4639 46402014-08-29 21:15:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4641Fix castling rights on using -lgf 4642 4643The dummy InitPosition to force loading pieces was taking place after 4644InitBackend2(), while the latter could have already loaded a game 4645from an -lgf argument (which would then be spoiled by the InitPosition). 4646It has been moved to before InitBackend2() now. 4647 46482014-07-29 15:03:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4649Fix crash on double-click in Game List Tags 4650 4651A double-click in the Game List Tags listbox has no function, but it 4652crashed XBoard, because the textValue field of teh ListBox Option definition, 4653supposed to contain a pointer to the user-supplied handler, contained a 4654pointer to an empty string. 4655 46562014-07-02 14:34:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4657Fix typing of null moves 4658 4659Entering a null move through the move type-in could fail because the 4660to-square coordinates (not used in its encoding) could have invalid values, 4661which would reject the move in an early stage of UserMoveEvent(). 4662Null moves are now exempted from this vaidity test, while variants where 4663null moves are legal now accept them in any gameMode. 4664 46652014-07-02 14:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4666Fix adjusting clocks in Xaw version 4667 4668The handler attached to Label options failed to flip the sign of the 4669option number when a button other than Button1 was pressed, so that time 4670would always be subtracted on Shift + ClockClick and never added. 4671Shift now also suppresses interpretation as null move when playing. 4672(In Analyze / EditGame mode it is still null move starting a variation.) 4673 46742014-07-02 12:37:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4675Fix null-move entry during play 4676 4677Null moving by clicking the clock was only accepted in Edit Game and Analyze 4678mode, while in Chu Shogi and spin-offs it is also allowed during play. 4679An F_NULL_MOVE flag was introduced to make it easy to test for such variants, 4680and Machine White/Black mode now also interpret clock clicks as a null move 4681if the opponent's flag has not yet fallen. 4682 46832014-04-09 09:53:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4684Let EditPosition double-click on piece promote it 4685 4686For pieces with Shogi-like promotion (i.e. if the promoted piece has 4687pieceToChar defined as '+'), let a second click on it in Edit Position 4688mode promote or demote it (as the case requires) when the piece menu is off, 4689rather than remove it (as was the old behavior. 4690 46912014-04-09 09:19:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4692Make EditPosition pallette work in Asian variants 4693 4694Construction of the pallette position was not working in variants that 4695did not have Pawns start on 2nd rank, or that had multiple ranks of pieces. 4696Now the algorithm is applied to all ranks. 4697 46982014-04-05 23:00:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 4699Fix crash on opening Tags window Xaw 4700 4701Suppressing the optional book button made the Xaw generic popup crash, 4702because the following button had the SAME_ROW modality, and was thus 4703positioned w.r.t. a non-existent widget. 4704 47052014-04-05 20:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4706Fix writing of Chu-Shogi FENs 4707 4708Promoted pieces were getting the wrong ID letter, of the piece demoted 4709by 11, rather than 22. 4710 47112014-04-01 18:20:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4712Allow pseudo-engines to adjust the clocks 4713 4714Implement new options -first/secondPseudo, which declare the corresponding 4715engine to be a pseudo-engine, which will then be granted super-powers 4716through some new engine->GUI commands. For instance, to adjust the time 4717remaining on the GUI clocks through wtime and btime commands (using msec). 4718 47192014-04-01 12:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4720Fix piece inscriptions 4721 4722 47232014-04-01 11:16:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4724Fix reading Chu Shogi FENs 4725 4726The X (for Phoenix) was interpreted a 10 empty squares. 4727 47282014-03-17 23:26:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4729Fix loading positions in engine-defined variant 4730 4731Paste Position did not work when an engine-defined variant had redefined 4732the pieceToCharTable, as the position would be interpreted and sent to the 4733engine before receiving the setup command. Copying the pieceToCharTable 4734received from an earlier game to appData cures this, because it will then 4735be used by InitPosition, which would reset the table to default otherwise. 4736 Another problem was that setupSpoiledMachineBlack would not be reset 4737after a game with no moves, leading to a spurious 'go' command to the engine. 4738 47392014-03-17 23:05:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4740Render inscriptions on Chu-promoted pieces in red 4741 4742 47432014-03-17 22:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4744Allow writing text on pieces 4745 4746A new persistent string option -inscriptions allows the user to define 4747characters to be written on the various piece types. The string is 4748interpreted as UTF-8. This option is useful for on-the-fly synthesis 4749of Shogi pieces, where the string can contain the various kanji in 4750the canonical pieceToCharTable order. Except that only a single color 4751has to be given. 4752 47532014-03-12 22:08:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4754Fix initial sizing of board 4755 4756Previous patches had destroyed the ability to obey the -size option. 4757 47582014-03-10 21:15:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4759Fix width of menu bar 4760 4761The truncated name might not have been terminated with '\0'. 4762TinyLayout now specifies the number of characters kept in the menu names. 4763In the OS X version truncating is never needed, as the menu bar is 4764at the top of the screen, independent of board size. 4765 47662014-03-09 20:38:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4767Fix warnings fonts patch 4768 4769 47702014-03-02 23:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4771Implement (clock-)font handling in GTK 4772 4773The options -clockFont, -coordFont and -messageFont are activated, 4774and supposed to have string values like "Sans Bold 12". The default 4775values have the point size as 'wild-card' %d, however "Sans Bold %d", 4776and are expanded by a printf with the point size taken from the defaults 4777table. The expanded versions are saved back into the settings file, 4778prefixed with a size tag, as usual. 4779 So far -clockFont is the only font that is actually applied while 4780writing. 4781 The 'clock kludge' was interfering with the initial sizing, as for some 4782sizes the initial clock-widget height happened to be equal to the final 4783height. It was therefore abandoned, and we seem to be able to live without 4784it. 4785 Sizes smaller than 49 were dominated (for 8-wide boards) by the menu bar. 4786Therefore tinyLayout now uses single-letter menu labels. 4787 47882014-03-02 20:45:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4789Also search indirection files in user's .xboard tree 4790 4791 47922014-03-02 18:53:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4793Fix error Engine Output text highlighting 4794 4795In wengineoutput.c higeTextStart and End where decalred both static and 4796extern, which somecompilers justifiably don't like. 4797 47982014-03-01 16:09:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4799Fix Board-dialog bug WB 4800 4801The drawing code for the sample square did ot restore the correct brush. 4802 48032014-02-28 21:48:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4804Fix various warnings 4805 4806Mostly written but never read errors. Also removed a debug printf that was 4807causing a format warning. 4808 48092014-02-26 16:34:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4810Kludge repair of expose after startup resize 4811 4812Redraw of the main board after resize is delegated to DragProc, which is 4813scheduled after a delay, to make sure the user is done sizing (mainly to 4814reposition docked windows). But at startup the program-requested resize when 4815an engine does not support variant normal and needs a different board format 4816takes so long that the finale size expose occurs after the DragProc timeout. 4817As a result, the board was never drawn on the resized canvas. 4818 This is quite hard to fix in a satisfactory way. For now the suppression 4819of board redrawing during resize is disabled during the first 10 seconds 4820after startup, as any resize during that time is likely to be the result 4821of a program request. 4822 48232014-02-26 13:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4824Use first engine as default for second 4825 4826Rather than having the same fixed default for both engines, we noww only 4827have a fixed default for the first, and use the actual first as default 4828for the second. One advantage is that this guarantees the second engine 4829plays the same variants as the first by default. 4830 48312014-02-23 23:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4832Allow adding played move to book 4833 4834A button is added in the Edit Book dialog to prime XBoard for adding the 4835next move entered through the user interface to the book window, without 4836actually playing it. 4837 48382014-02-23 22:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4839Play move right-clicked in Edit Book dialog 4840 4841A handler for button-3 down-clicks is added to the Edit Tags dialog, 4842which fakes the clicked word was typed in the move type-in box. 4843 48442014-02-23 19:23:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4845Fix pop-down of ChatDlg and TextMenuDlg from menu 4846 4847Unlike other windows these two would not react to clicking the menu item 4848once they were up. Now they pop down in that case. 4849 48502014-02-21 11:10:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4851Preserve window width on board-format change 4852 4853When a variant switch would cause recalculation of the board window, 4854we now first recalculate square size to keep the window width fixed. 4855Also adapt initial width on high boards. 4856 48572014-02-18 22:37:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4858Equip Board Options dialog with themes listbox 4859 4860The option -themeNames is made persistent for XBoard, and its value is 4861displayed in a listbox added to the View -> Board dialog. The user 4862can select themes from this, and manipulate the contents similar to 4863the engine list in Load Engine. A textedit allows the user to define a 4864theme name for the current settings, and doing so adds the theme to the 4865-themeNames list. 4866 48672014-02-07 11:22:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4868Implement copy function in ICS Text Menu 4869 4870A command consisting of the word $copy will place the clicked word on 4871the clipboard. When there was already text selected during the click, 4872that selected text will be used for $copy and $name, rather than the 4873right-clicked word. 4874 48752014-02-07 09:48:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4876When ICS Console open EOF from keyboard is no error 4877 4878In case the user started without a terminal, we just close the input source, 4879and suppress future writing to the xterm. 4880 48812014-02-06 18:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4882Leave xterm at start of new line after quitting XBoard 4883 4884 48852014-02-06 18:36:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4886Also display channel tell in ICS Console during private chat 4887 4888Channel tells of players for which a chat wa opened were displayed in that 4889chat, as well as in the channel chatbox, if the latter was open. But when 4890there was no channel chatbox it would not appear as colorized channel tell 4891in the console. This is now fixed, and in the private chat box such a 4892message is indicated as 'broadcast'. 4893 48942014-02-05 23:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4895Write broadcasts also to private chatbox of talker 4896 4897The shouts or channel chatboxes capture messages first, but if a private 4898chat with the talker is opened, it now goes there too. Prefixed with 4899the type of broadcast. 4900 49012014-03-02 13:18:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4902Fix Xaw Chat Console 4903 4904 49052014-02-05 22:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4906Let Ctrl-O key open chat for last talker 4907 4908 49092014-02-05 22:15:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4910Add End Chat button 4911 4912This button clears the current chat, so that it becomes free for 4913assignement to another partner. 4914 49152014-02-05 21:59:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4916Ctrl-N in chat opens empty chat 4917 4918This key isequivalent to pressing the left-most New Chat button. 4919If no unused chat present, it the command will be ignored. 4920 49212014-02-05 21:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4922Preserve unfinished input lines during chat switch 4923 4924This is problematic, as apparently we cannot write in widgets that are 4925active with key hits, so attempting to write it back in response to Tab 4926did not work. This is now done with a delay, for lack of a better method. 4927 49282014-02-04 13:57:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4929Recognize Esc and Tab in ICS Console input 4930 4931Esc is used to close the chat, or transfer focus to the board window. 4932Tab is used to navigate between chats (or open the first). Priority 4933is given to dirty chats. 4934 49352014-02-03 20:35:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4936Let ICS Console pop up GTK in stead of ICS Input Box 4937 4938 49392014-02-03 19:45:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4940Add context menu to ICS console XB-GTK 4941 4942A right-click handler is added to the output memos of the ICS Interaction 4943window. It pops up the ICS text menu. It is remembered whether the menu 4944was already up; if not, it will be popped down after a command is selected 4945from it. Like the WinBoard context menu, the commands will be able to use 4946the clicked word. 4947The -icsMenu 'command' $chat is now recognized as a special case, not to 4948be sent to the ICS, but executed by XBoard. It will assign one of the 4949five chats to the clicked name. If no empty chat is available, the last 4950chat will be used (but not cleared). 4951 The -icsMenu in the master config file is now configured to contain 4952this command, but unfortunately this will not become effective for users 4953that already have a settings file. 4954The Text Menu now puts $input commands in ICS Console Input field when the 4955ICS Input Box is not up. 4956 The text placed in the input field for completion (as per $input directive) 4957turned out to be selected in GTK, so that when you stated typing, it was 4958erased again! 4959 By making the Text menu dialog subject to WindowPlacement control, 4960and interrogating the poition of the ICS Console window, the Text Menu 4961can be popped up such that the mouse pointer is on the bottom-left button. 4962 49632014-02-02 21:17:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4964Integrate ICS output into Chat Window 4965 4966An extra pane has been added to the Chat Window to display the ICS output. 4967In GTK this output is colorized just as in the xterm. For Xaw this is not 4968possible. This pane is always visible, and the chat output can be hidden, 4969to double its size. Entered input will go to the selected chat (when not 4970hidden) as a tell or shout, or to the ICS as a command. The Chat-Partner 4971field is hidden together with the chat pane and the Hide button. Each of 4972the five chats now has a dedicated button; for unused chats (empty Chat- 4973Partner field) these now gets the text 'New Chat' inscribed on it. 4974Focussing is made more intelligent (to the Partner field when shown and 4975empty, otherwise to the input field). 4976The Up and Down arrows now work in the input field to recall old input. 4977 ScrollToCursor() was broken in GTK, because a mark was made for only 4978a single buffer. Now each buffer has its own end mark. 4979 Another problem was that using ScrollToCursow immediately after a memo 4980was shrunk (because a neighboring one expanded) it would still use the 4981old memo size, so that the bottom part remained out of view. Delaying it 498250 ms solved that problem. 4983 A new option -icsUp was added to store the visibility in the settings. 4984It is updated only in ICS mode. The ICS Console pops up automatically 4985when the stored parameters say so. It is also made sticky. 4986 Unlike the xterm the textView does not extend background color to unwritten 4987positions behind the line. A separate GTK call is now added to set the 4988unwritten part to the same color as the background in normal text. 4989 A control was added in the ICS Options dialog for setting the colors 4990of normal text (-colorNormal). 4991 49922014-02-02 17:27:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4993Add logo-size control XBoard 4994 4995This is mainly for the benefit of OS X useres who cannot find their 4996settings file. It requires a restart to become effective, which is 4997really sub-standard. 4998 49992014-02-02 17:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5000Add Edit Engine List menu item to XBoard 5001 5002In OS X the settings file is hard to find... 5003 50042014-02-02 16:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5005Fix warnings 5006 5007Some unread variables are commented out, rather than removed, because they 5008can be useful for future development. 5009 50102014-02-02 16:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5011Fix moves of Spartan Captain 5012 5013The rewrite of the move generator did no longer pay attention to rookRange, 5014so that the Spartan Captain moved like a Rook. 5015 50162014-02-02 16:18:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5017Add Option type 'Skip' 5018 5019The value -1 used to suppress rendering of option controls was drawing 5020error messages, because enums are unsigned. So a new member Skip was added 5021to the enum. 5022 50232014-02-02 14:40:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5024Detect Fischer castling in FENs 5025 5026Castling rights with unorthodox piece placement imply Fischer castling. 5027Make sure shuffling is done after detecting this, because it means K & R 5028can also be shuffled (as long as K remains between both R). 5029 50302014-02-02 14:09:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5031Allow shuffling indicators in FEN 5032 5033If the back ranks are enclosed by < > in a FEN, the route to shuffle 5034initial positions is invoked on it. 5035 50362014-02-02 13:51:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5037Allow wild-cards in FEN 5038 5039A question mark in a FEN will now be interpreted as a piece randomly 5040chosen from the holdings. (From which it will be removed.) Intended 5041for use in symmetric black/white pairs; when used on asymetric locations 5042or with non-identical holdings the results will be undefined. 5043 50442014-02-02 10:40:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5045Fix Seirawan reverse-castling animation 5046 5047In Chess960 animation of castlings is suppressed, because the move is encoded 5048as KxR, so that the to-square in general is not the final destination of the 5049King. So it is just confusing to the eye to see the King slide to the Rook, 5050and then jump to an entirely different square. In S-Chess castlings can 5051similarly be encoded as RxK (to indicate gating at the Rook square), and 5052animation of those moves should be suppressed for the same reason. But it 5053wasn't, and in Fischer castlings denoted as RxK this even caused the Rook 5054to disappear when it didn't need to moved. 5055 Perhaps one day a smart method of animating Fischer castlings can be 5056designed. (E.g. remove Rook, animate King move to true to-square, place Rook? 5057But what if the King doesn't move at all? Animate Rook then? Normal castlings 5058now animate the King, and then just displace the Rook.) 5059 50602014-02-02 10:22:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5061Make Fischer castling generally available 5062 5063A new volatile option -fischerCastlings allows every variant to be played 5064with Fischer castling, which so far was only allowed in variants FRC/CRC. 5065This only makes sense in shuffle variants, where King and Rooks might not 5066be in their orthodox locations. But even when they are, it has consequences 5067for the user interface, which will require dragging King on Rook as the only 5068way to enter castling. Like -shuffleOpenings the setting will be cleared 5069as soon as you switch variant (unless you switch to FRC/CRC, where they 5070Fischer castling is on by default). It can be set from the New Shuffle dialog. 5071 50722014-01-19 22:41:52 -0800 Arun Persaud <arun@nubati.net>: 5073updated po/pot files 5074 5075 50762014-01-19 22:19:10 -0800 Arun Persaud <arun@nubati.net>: 5077new version number for developer release 5078 5079 50802014-01-19 22:15:33 -0800 Arun Persaud <arun@nubati.net>: 5081updated Dutch translation 5082 5083 50842014-01-19 20:44:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5085Put ponder checkbox in Common Engine dialog WB 5086 5087This is yet another duplicate of the one in General Options and Adjudiactions. 5088 50892014-01-19 20:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5090Expand %s in -openCommand to DATADIR and fix OSX settings-file name 5091 5092This can be used in OS X to biggy-back a cd to a directory in the App 5093on the open command. 5094 50952014-01-18 23:42:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5096Add some checkboxes in General Options dialog WB 5097 5098Checkboxes are added for -variations, -memoHeaders and -autoExtend. 5099 51002014-01-18 23:26:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5101Fix warning in CheckTest 5102 5103 51042014-01-18 22:40:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5105Fix printing of engine-output headers 5106 5107They were not printed on analyis of the first position after opening 5108the Engine Output window. 5109 51102014-01-16 23:07:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5111Fix sticky windows on Win8 5112 5113 51142014-01-16 22:54:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5115Drag touching edges together (WB) 5116 5117When an auxiliary window is dragged by an edge, the snap code now checks 5118if that edge was touching another window. If so, that other window is sized 5119to keep touching the dragged edge. Unless it was also touching the main 5120window. 5121 51222014-01-15 22:35:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5123Implement new mate-score standard 5124 5125Matescores are now indicated in the protocol as +/- 100000+DTM, 5126and in the Engine Output window as #DTM or #-DTM. 5127 51282014-01-15 21:28:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5129Put fail-high/fail-low indicators in protocol specs 5130 5131 51322014-01-15 20:43:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5133switch to new tbhits protocol 5134 5135The extended info is now expected as 3 bare integers, the last one 5136separated from the PV by at least one tab character. 5137The protocol extension is described in the CECP specs document. 5138 51392014-01-14 22:37:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5140Fix sorting of Engine Output 5141 5142The moveKey of the top line was never stored, so that more recent 5143lower scores could not pass it even if they had the same move. 5144 51452014-01-14 22:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5146Handle fali-low & fail high 5147 5148A ? or ! at the end of the PV are now also written behind the score. 5149 51502014-01-14 20:31:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5151Implement extended thinking output 5152 5153The PV field can now start with three quantities, selective depth, 5154engine speed and tablebase hits, disguised as PGN comment. XBoard will 5155strip that off, and allow them to be displayed in separate columns of 5156the engine-output window. 5157 51582014-01-14 14:46:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5159Allow hide/show of columns in Engine Output 5160 5161A new persistent Boolean option -memoHeaders enables a new feature: 5162text headers are shown above the depth, score, nodes, time columns in the 5163engine output. Right-clicking them will subsequently hide the corresponding 5164data, and move the column header to above the PV in a 'not shown' list, 5165where it can be clicked again to re-open the column. 5166Configure maseter settings to switch -memoHeaders on by default. 5167 51682014-01-14 09:55:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5169Fix ManProc for OS X 5170 5171 51722014-01-14 10:02:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5173Fix access to ~~/themes/conf for OS X 5174 5175In OS X DATADIR is a variable. 5176 51772014-01-13 19:23:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5178Add 'Continue later' button to Tournament dialog XB 5179 5180To do GenericReadout without triggering a call to the OK function, 5181we introduced a new value for the option-number parameter, -2. 5182 51832014-01-13 17:32:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5184Fix Tournament Options dialog 5185 5186Deleting a Label option had renumbered the remaining Options, breaking 5187the dialog and causing a crash when an engine was selected. A considyency 5188check is now added to catch this condition, and throw an error popup 5189when we mess up again. 5190 51912014-01-13 17:09:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5192Allow popup of TC and Common Engine from Tournament dialog 5193 5194A new dialog class MasterDlg was added, similar to TransientDlg, 5195but to allow two dialogs to be up simultaneously. The Tournament Options 5196dialog was migrated to this class, so it can now get buttons to pop up 5197the Time Control and Common Engine dialog, like WinBoard. It even has 5198a button for the General options dialog. 5199Special care had to be taken to prevent popdown of the MasterDlg when 5200a Transient child is still up (similar to browser or error childs). 5201 52022014-01-13 16:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5203Add --show-config special option 5204 5205This prints a list of configure parameters, and then exits. If a second 5206argument is given, it only prints the value of that config parameter, 5207so that tricks like cp *.svg `xboard --show-config Datadir`/themes/chu 5208can be used in install scripts of packages with piece images. 5209 52102014-01-13 14:25:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5211Overhaul kill code 5212 5213Engines were not always forcefully killed in XBoard, which could make 5214the tournament manager hang when an engine became unresponsive to "quit". 5215The various levels of killing are now revised, and the -delayAfterQuit 5216is absorbed in DestroyChildProcess(). There is a hard killing mode 9, 5217which immediately sends SIGKILL, intended for engines that have already 5218proven to malfunction or could not start at all. In other cases SIGTERM 5219is sent according to specs, but a SIGKILL is scheduled -delayAfterQuit + 1 5220sec later just in case the SIGTERM would be ignored. 5221 52222014-01-13 13:38:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5223Fix name of master settings file in OS X 5224 5225The name needs to be relative to the bundle path, but ~~ expansion 5226did not work for compiled-in defaults, as the expansion takes place 5227when parsing an option. The dataDir is now also kept in an array rather 5228than as a pointer, to allow it to appear in statically initialized tables. 5229 52302014-01-08 16:25:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5231Fix Chu promotion of L, HM and GB 5232 5233The promotion popup would not be shown for HM and GB with legality testing 5234on because the piece types used for them were wild-card pieces. The Lance 5235was treated as a Pawn in HasPrmotionChoice(). 5236 52372014-01-08 16:09:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5238Remove redefine of DATADIR that leaked in from v4.7.x 5239 52402014-01-05 12:52:46 -0800 Arun Persaud <arun@nubati.net>: 5241updated po/pot files 5242 5243 52442014-01-05 12:51:50 -0800 Arun Persaud <arun@nubati.net>: 5245new version number for release 4.7.3 5246 5247 52482014-01-05 10:58:48 -0800 Arun Persaud <arun@nubati.net>: 5249updated copyright to 2014 in menu.c 5250 5251 52522014-01-05 10:37:56 -0800 Arun Persaud <arun@nubati.net>: 5253removed .DS_Store file from git 5254 5255 52562014-01-05 10:34:08 -0800 Arun Persaud <arun@nubati.net>: 5257Updated copyright notice to 2014 5258 5259 52602014-01-05 10:27:53 -0800 Arun Persaud <arun@nubati.net>: 5261cleanup some trailing whitespaces 5262 5263 52642013-12-29 13:46:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5265Fix crash on use of dialog Browse buttons GTK 5266 5267The code to set a filter did not expect multiple extensions, and would 5268cause a buffer overrun when there were. 5269 52702013-12-27 20:12:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5271Make building of Windows .hlp file optional 5272 5273By using && and || operators in the build recipe, the building of WinBoard 5274with Cygwin is now not aborted whe the Help Compiler is not installed. 5275 52762014-01-05 11:47:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5277Use __APPLE__ compile switch for OS X 5278 5279It seems that on Apple machines the compiler will always define the 5280symbol __APPLE__, so this is now used instead of OSX, which had to 5281be defined with a -DOSX compiler flag. The gtkmacintegration header 5282is now using <> in stead of "" in its #include. (Strange enough both 5283were working.) 5284 52852014-01-04 12:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5286Expand ~~/ to bundle path (OSX) 5287 5288DATADIR is #defined in WinBoard as "~~" to make the expansion a no-op 5289there. Same for Linux compiles. For OS X it is #defined as a variable, 5290obtained from GTK-OSX at startup. 5291 52922013-12-29 23:27:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5293Activate ManProc in GTK 5294 5295 52962013-12-29 22:14:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5297Remove use of strndup 5298 5299The use of strndup was actually unsafe, as the length was passed using 5300an ordinary strlen. strndup was not availableon OS X 10.6, and is now 5301replaced by an ordinary strdup, which should be save enough. 5302 53032013-12-29 22:09:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5304Put some OSX code into gtk version 5305 5306Under control of #ifdef OSX code is added to integrate the GTK front-end 5307into OS X. This involves moving the menu bar to outside the window, and 5308catching the signal that OS X sends to running applications when opening 5309another instance was requested. Som files are renamed to conform to the 5310file tree of the OS X App package. 5311 53122013-12-27 21:47:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5313Cure weirdness when dragging outside of board 5314 5315Dragging outside the board (when people maximized the window) did not 5316properly restore background, (leaving a trail of dragged piece). Filling 5317the canvas with white when it is creatd cured this. The problem most likely 5318was that unitialized cairo surfaces had transparancy, and writing back 5319transparancy doesn't helpmuch to erase things. 5320 53212013-12-09 14:52:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5322Fix sorting of lines in Engine Output 5323 5324Lines tat were fail-lows or fail-ighs should get the scores on the basis 5325of wich they are sorted corrected to that of te line (for the same move) 5326superceding them, so that other moves can rise to above them, when they 5327score higher than the corrected score. 5328 53292013-12-05 20:08:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5330Make filler variant button inactive 5331 5332 53332013-12-05 17:50:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5334Fix packing of FRC castlings 5335 5336The routine for packing moves to the internal database format was not 5337working for FRC castlings, totally messing up position search for FRC 5338and CRC. 5339 53402013-12-05 16:23:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5341Fix Xaw file-browser New Directory 5342 5343Prevent people from using the error messages that will be printed here 5344as directory name by pressing New Directory a second time after first 5345pressing it with an empty or existing name. 5346 53472013-12-05 16:14:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5348Widen Xaw text entries for larger square sizes 5349 5350Presumably people will use larger fonts if they use larger board squares. 5351(And in any case te default fonts would be larger.) This means they need 5352more space to see what is the current value of text options. 5353 53542013-12-05 15:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5355Remove width limiting of shuffle checkbox 5356 5357 53582013-11-28 13:30:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5359Allow castling and e.p. to be edited in opening book 5360 5361 53622013-09-16 22:32:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5363Repair FRC A-side castling legality testing 5364 5365XBoard allowed A-side castling when a rook started on the a-file, 5366and the b-file was blocked. 5367 53682013-09-16 22:27:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5369Repair XBoard from node-count patch 5370 5371u64 was #defined in backend.h, which unfortunately was almost alwats 5372(Not sure why WinBoard did not suffer from this!) This, and related 5373definitions have now been moved to common.h (which is always #included 5374first). 5375 53762013-09-15 20:13:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5377WinBoard multi-monitor support 5378 5379A patch provided by Tim Kosse 5380 53812013-09-15 19:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5382Fix node count range 5383 5384The node count was still clipped to 32 bit because one of the structs 5385it passes through (FrontEndProgramStats) had the nodes field declared 5386as an unsigned long. 5387 53882013-09-15 19:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5389Fix adjudication of Giveaway stalemates 5390 5391The case where the side-to-move would win by stalemate was not treated 5392in the Adjudicate switch. 5393 53942013-08-30 17:33:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5395Fix buffer overflow in parser 5396 5397When a line ended with a comment, the parser had to read a line ahead 5398to check if there was a PGNresult following, without being able to 5399throw away the previous line yet. This could lead to buffer overflow 5400in a long game where every line ended in a comment. The buffer now is 5401cleansed of already parsed data when starting on a new syntactical unit. 5402 54032013-08-27 22:55:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5404Fix -zippyVariants option 5405 5406Due to the change of cps->variants from (char []) to (char *), copying 5407zippyVariants to it on behalf of v1 engines would no longer work. This 5408is fixed by using ASSIGN() in stead of safeStrCpy(). 5409 54102013-08-26 18:25:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5411Fix initial board sizing WB 5412 5413The initial board size was based on the assumption the board would be 8x8. 5414This could push auxiliary windows off screen if the board was smaller, 5415after which EnsureOnScreen would undock them and park them in the upper- 5416right corner before the board assumed its true size. InitPos() is now called 5417before the initial sizing to et the board format correctly, InitDrawingSizes() 5418had to be made resitant to calling before a board size was picked for this 5419(because InitPos() might call that too). 5420 ActivateTheme() now uses the new board size, not the previous one (as was 5421indicated by size -2), so that -boardSize specifications inside a theme 5422will take effect. 5423 Board size petite should not be forbidden for Shogi; all pieces exist there. 5424 54252013-08-26 14:40:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5426Fix grabbing of selected piece 5427 5428A second static click on a selected piece should deselect it, but an attempt 5429to drag an already selected piece should not 'bounce off'. It was already 5430possible to move a selected piece to another square, but the dragging was 5431not animated. This is now fixed, by only skipping the code to start dragging 5432when the second click is part of the only-move double-click for only capture. 5433(Before it was skipped on any second click.) 5434 54352013-08-26 13:35:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5436Allow entry of negative numbers in spin control (WB) 5437 5438Windows numeric controls do not accept negative numbers, so in case the 5439range of a spin option can go negative, the style ES_NUMBER should not be 5440set on the control. 5441 54422013-08-26 11:37:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5443Allow drops / promotions/ deferrals to be edited into book 5444 5445For no real reason only NormalMove would be accepted when parsing the list 5446of book moves. 5447 54482013-08-26 11:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5449Fix GUI book after setup position 5450 5451The routine to send move to the engine would automatically append a 'go' 5452is a preious setboard had put the engine in force mode, but this should 5453not happen on a book hit, where the engine should even be put in force mode 5454if it was not yet there. 5455 54562013-07-05 18:32:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5457Fix book creation 5458 5459Due to duplicate use of the same file pointer variable the game file would be 5460closed before any games were read from it. 5461 54622013-05-20 11:14:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5463Make PGN parser immune to unprotected time stamps 5464 5465The parser choked on time stamps of the form dd:dd or dd:dd:dd if one 5466of the fields happened to be 00, because it wouldmistake that for a 5467non-compliant king-side castling. By excluding this interpretation when 5468the 00 is immediately preceded or followed by ':' this is now prevented. 5469 54702013-05-05 08:03:00 -0700 Arun Persaud <arun@nubati.net>: 5471updated po files for new release (make distcheck) 5472 5473 54742013-05-05 07:57:22 -0700 Arun Persaud <arun@nubati.net>: 5475new version number for release 4.7.1 5476 5477 54782013-05-05 07:53:54 -0700 Arun Persaud <arun@nubati.net>: 5479updated Changelog, NEWS, etc. 5480 5481 54822013-05-02 22:47:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5483Update zippy.README 5484 5485It is explained how to generate multi-line commands for -zipyGameEnd. 5486 54872013-04-01 20:43:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5488Fix Xaw file browser 5489 5490The 'next page' entry of the Xaw file browser contained a \177 character 5491to keep at sorted at the bottom. This caused trouble for gettext. 5492Now the sorting range is adapted so the 'next page' is never part of it. 5493 More seriously, the listbox fill code had a wrong cast when testing for 5494an empty listbox on the first element, so that it only tested the low byte 5495of the pointer, in stead of the entire pointer for NULLness. As a result 5496the contents of the listboxes could suddenly disappear when even when it 5497was non-empty, because the first filename was allocated at an unlucky address. 5498 54992013-03-22 19:23:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5500Make Chat Box window obey -topLevel option 5501 5502It was always popping up as a dialog of the main board, covering it. 5503One could argue it should always be to-level. 5504 55052013-03-19 13:20:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5506Fix scrolling of Chat Box 5507 5508Seems the problem is that scroll_to_iter does not work until after some time, 5509needed to calculate line heights. Use scroll_to_mark instead, after clumsily 5510adding a text_mark. 5511 55122013-03-17 10:33:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5513Fix GTK SetInsertPos 5514 5515SetInsertPos() was not yet ported to GTK, with as a result that the cursor 5516was positioned at the start of a line recalled in the ICS Input Box, 5517rather than at the end. The code also called SetInsertPos to force scrolling 5518to that point in the text (which in Xaw is an automatic side effect). So for 5519multi-line text edits this function calls ScrollToCursor(). For some reason 5520this does not work when replacing texts in the Chat Box memo, when switching 5521chat, although it does work in the same memo when a line is added to the 5522existing text. 5523 55242013-03-07 21:38:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5525Print score of final position in Analyze Game 5526 5527The score/depth of the final position of the analyed game is added 5528(as an explicit comment) behind the PV of the forelast position. 5529To make this work, a new 'addBraces' mode (3) had to be added to 5530AppendComment, which suppresses stripping of the score/depth from 5531the comment. 5532 55332013-03-12 18:50:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5534Fix horrible bug in reading scores from PGN 5535 5536Reading scores like -0.94 flipped the sign, because the integer part 5537-0 would read as 0, and thus was no reason for sign flipping. 5538 55392013-03-10 12:43:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5540Fix disappearence of pieces that were moved illegally 5541 5542Dragging damages the from-square, but it is not marked as such, because 5543selective board redraws to update highlights and such would draw the piece 5544that is really still there, making it flash on the from-square before 5545the position after the move is drawn. This, however, backfires when the 5546move was illegal, as then there is no draw of a new position, and the 5547from-square stays empty. For now this is solved by making DisplayMoveError() 5548order a total redraw. (As this is rare, only done in case of an error, 5549and might even throw up a pop-up, the performance cost of this is acceptable.) 5550 55512013-03-20 17:50:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5552Fix quoting of book name in tourney file 5553 5554The argument of -polyglotBook was written to the tourney file unquoted, 5555which effectively made it disappear if it was an empty or blank string. 5556 55572013-03-07 18:11:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5558Provide compatibility with Alien Edition setup command 5559 5560The setup command of the Alien Edition has a board-size specifier 5561(possibly as prefix on a parent-variant name) between pieceToCharTable 5562and FEN. The regular version would choke on that, precluding engines 5563designed for the Alien protocol extension to have their setup processed 5564when running under regular XBoard. This patch makes it skip the extra info. 5565 55662013-03-07 17:52:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5567Fix saving of analyzed game 5568 5569Anotated games after batch-mode Analyze Game were not auto-saved, 5570because the GameEnds() call supposed to do that was called with a NULL 5571argument for resultDetails. Now it is called with the resultDetails as 5572pre-existing in the gameInfo, or an empty string if none exist. This bug 5573was masked by the fact that in standard game ends (mate, etc.) the 5574analyzing engine would declare game end and supply a message. 5575 Also makes a distinction between Analyze Game and regular Analyze mode 5576when resuming analysis after loading a game; only the former now would 5577trigger a batch analysis. 5578 55792013-03-07 17:48:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5580Fix spurious popup after batch-mode Analyze Game 5581 5582A batch analysis of games was not properly terminated, because the game 5583mode was tested after it had already been changed. No oldGameMode is 5584tested in stead. 5585 55862013-03-02 22:21:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5587Let XBoard -autoBox option also affect move type-in 5588 5589 55902013-03-02 22:17:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5591Fix GTK box popup 5592 5593Key values > 255 are used for PgUp, PgDown etc., so to pop up only on 5594printables needs a two-sided test. 5595 55962013-03-01 12:50:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5597Fix fatal error on unsupported board size 5598 5599When a board size unsupported by the engine was requested through the 5600New Variant dialog, this was discovered while the dialog was still up, 5601causing the error message to pop up as a child of the New Variant dialog, 5602so that it would immediately be taken down as the latter closed. 5603As a result it could not be confirmed, so that XBoard would not exit, and 5604was left in a pathologic state (ignoring window-close). This is fixed 5605by performing Reset (which detects the error) after PopDown of New Variant. 5606 56072013-03-01 12:39:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5608Accept setup command for non-standard board size 5609 5610The code to test if board-size is standard for the current variant 5611has been moved to a subroutine, to allow its calling when receiving 5612a "setup" command from the engine. 5613 56142013-03-01 11:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5615Fix buffer overflow in feature parsing 5616 5617String features (variants, egt, myname and option) relied on a buf[MSG_SIZ] 5618for processing their value. The Nebiyu engine had combobox options that 5619required more than that. All string features are now stored in allocated 5620memory rather than in static arrays, and StringFeature allocates a buffer 5621of sufficient size for them. Only limitation now is the low-level input 5622buffer in the InputSource threads, whih is a static buffer of 4096 5623(=INPUT_SOURCE_BUF_SIZE) characters. 5624 56252013-02-27 23:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5626Fix vertical sizing of GTK board 5627 5628The clipping of the boad at the bottom was due to resizing of the clock 5629height when we first write it with a big font. This patch delays calculation 5630of the final size until after the clock height changes. 5631 56322013-02-26 21:13:32 -0800 Arun Persaud <arun@nubati.net>: 5633Updated German translation 5634 5635 56362013-02-26 20:27:24 -0800 Arun Persaud <arun@nubati.net>: 5637Updated Ukrainian translations 5638 5639 56402013-02-26 17:59:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5641Fix of argument error 5642 5643Oops. Pevious patch for skipping unknown multi-line arguments 5644was still buggy. 5645 56462013-02-26 17:44:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5647Let popping up of WinBoard chatbox for channel open it 5648 5649WinBoard now issues a +ch command for a channel when you pop up a chatbox 5650for that channel. A work-around is added for the fact that the public 5651FICS seems to ignore the first such command. 5652 56532013-02-26 17:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5654Make skipping of unknown option smarter 5655 5656To make XBoard better resistant to the presence of disbanded or future 5657options in its settings file, encountering those is no longer a fatal error. 5658But the error recovery only consisted of skipping the rest of the line. 5659This fails badly on string options with a multi-line value, which is 5660enclosed by {braces}. We now detect that case, to skip to } instead. 5661 56622013-02-26 17:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5663Add -backupSettingsFile option 5664 5665For better configurability of WinBoard, an option is added to optionally 5666read a settings file, namely if no other settings file (other than the 5667master file) was read so far. This can be used to import settings from 5668a previous version, without destroying its settings file. 5669 56702013-02-26 16:55:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5671Repair WinBoard compile error 5672 5673__GITVERSION was not defined in WinBoard, as it was only defined with a 5674compiler flag by ./configure, which WinBoard does not use. 5675 56762013-02-26 16:47:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5677Work-around for Xt selection bug 5678 5679In some Xt implementations calling extend-end with 0 params causes a crash, 5680although the mmanual specifies this should default to a call with 'PRIMARY'. 5681The default selection is now explicitly mentioned in all extend-end calls. 5682 56832013-02-24 09:31:57 -0800 Christoph Moench-Tegeder <cmt@burggraben.net>: 5684fix bug #38401: xboard.texi doesn't build with texinfo-5.0 (tiny change) 5685 5686xboard-4.7.0's documentation is not buildable with texinfo-5.0, it fails with a lot of error messages from makeinfo like 5687./xboard.texi:1026: @itemx must follow @item 5688makeinfo seems right, @itemx is not used as described in the texinfo manual. 5689Attached patch puts each item of the "Options" menu in it's own @subsection and formats the description of each item as a @table as neccessary. This way, xboard builds again and the manual doesn't look too bad. 5690 56912013-02-24 09:09:54 -0800 Arun Persaud <arun@nubati.net>: 5692updated po/pot files 5693 5694 56952013-02-24 09:04:48 -0800 Arun Persaud <arun@nubati.net>: 5696new version number for developer release 5697 5698 56992013-02-20 21:28:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5700Try to make life more bearable in Xaw menus 5701 5702The alignment still sucks, but not as much as before. 5703 57042013-02-20 19:26:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5705Fix -topLevel option 5706 5707This option was copletely ignored, after the refactorig. 5708 57092013-02-20 18:16:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5710Fix testing for valid window placement Xaw 5711 5712 57132013-02-20 12:15:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5714Suppress printing of status line in dual-board mode 5715 5716 57172013-02-20 11:56:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5718Fix sizing of slave board GTK 5719 5720For lack of a known method to specify a default size for Graph widgets, 5721we have to use the same system as for the main board: create with 0x0 size, 5722and measure the size of the outer window to determine margins. 5723After every popup we then resize to the required board size plus these 5724margins. (Awful...) 5725 57262013-02-20 10:08:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5727Better handling of undefined window parameters 5728 5729Repositioning and resizing a newly created dialog was based on the width 5730parameter of the stored sizing info being valid. Now it is separately 5731tested if the position is valid, so that sizing and moving can be done 5732independently. This allows us to store position info, but not size info 5733for the slave board, so that it automatically will use the size of the 5734main board when first opened. 5735 57362013-02-19 19:14:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5737Limit debug print to debug mode 5738 5739 57402013-02-19 19:14:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5741Fix repositioning of GTK windows 5742 5743After 'hide' and 'show' GTK would not position the window in the same place, 5744but center it on the parent. Now we reposition the window after 'show' based 5745on the WindowPlacement data (if available). 5746 57472013-02-19 18:52:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5748Remember window params of slave board 5749 5750The slave board now has been assigned a WindowPlacement, which is also 5751saved in the settings file, through new options -slaveX/Y/W/H. 5752 57532013-02-19 17:48:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5754Fix repairing of arrow damage 5755 5756The '2' bit in damage[][] to indicate the arrow was erroneously cleared, 5757rather than kept. 5758 57592013-02-18 19:55:20 -0800 Arun Persaud <arun@nubati.net>: 5760fix OK-response in gtk dialogs, see c7f8df124 5761 5762the fix in c7f8df124 needs to be applied to both of those if cases 5763 57642013-02-18 17:11:32 -0800 Arun Persaud <arun@nubati.net>: 5765removed two more translations from debug output 5766 5767 57682013-02-18 17:09:30 -0800 Arun Persaud <arun@nubati.net>: 5769fixed segfault of g_markup_printf_escaped which needs utf-8 strings 5770 5771defined text-domain as utf-8 solved this 5772 57732013-02-18 13:38:51 -0800 Arun Persaud <arun@nubati.net>: 5774fixed gtk-warning 5775 5776 57772013-02-18 10:06:36 -0800 Arun Persaud <arun@nubati.net>: 5778removed some translation calls for messages in the debug log 5779 5780 57812013-02-18 09:46:53 -0800 Arun Persaud <arun@nubati.net>: 5782add keyboard shortcuts back into Xaw version 5783 5784 57852013-02-17 14:13:30 -0800 Arun Persaud <arun@nubati.net>: 5786in debug mode also print the git-version if available during build 5787 5788 57892013-02-18 21:19:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5790Print game-list timing messages only in debug mode 5791 5792 57932013-02-18 21:01:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5794Fix title of top-level windows 5795 5796 57972013-02-18 18:51:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5798Cure GTK warning in top-level windows 5799 5800There is no OK button in top-level windows, so the 'response' signal is 5801not defined, and should not be connected. 5802 58032013-02-18 18:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5804Fix graying of Revert menu item 5805 5806The new code was checkmarking it in stead of enabling it! 5807 58082013-02-18 11:38:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5809Add -onlyOwnGames option 5810 5811This suppresses auto-saving of ICS observed games. 5812 58132013-02-18 11:17:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5814Allow display of 50-move counter in zippy mode 5815 5816No chance it could be considered cheating there. 5817 58182013-02-18 10:48:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5819Add new vertical pixel fudge 5820 5821With the new GTK window type the board is 13 pixels too small. 5822 58232013-02-18 10:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5824Don't add PV moves on board clicking in AnalyzeMode 5825 5826Playing PV moves by right-clicking the PV was only intended for clicks 5827in the engine Output window, selecting from multi-PV analysis output, 5828where by default it plays only the first move. PV walkig by right-clicking 5829the board, however, would start the walk at the end even in AnalyzeMode, 5830and thus add the entire PV. Which is probably not useful. So adding moves 5831in that case has now completely been suppressed, so it can be used for 5832harmless viewing of the latest PV. 5833 The behavior has also been made subject to a persistent Boolean option 5834-appendPV, configured to true, with a checkbox in General Options. 5835 A checkbox has also been added there for controlling the -variations option, 5836which is now also configured to true. 5837 58382013-02-18 10:25:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5839Remove checkbox for 'Move Sound' 5840 5841This function is better controlled from the Sounds dialog. 5842 58432013-02-18 09:59:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5844Make switching between board windows absolute 5845 5846Selecting the window in which to draw the board when the slave board for 5847-dualBoard was up was done by a toggle. For unknown reason this could cause 5848a situation where the drawing took place in the other window than the 5849intended one. The code is made more robust by explicitly specifying which 5850window to draw in, based on the partnerUp flag. 5851 58522013-02-18 09:50:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5853Warn about experimental nature of dual board 5854 5855The message field, which for now is unused, now contains a warning message. 5856 58572013-02-17 10:49:21 -0800 Arun Persaud <arun@nubati.net>: 5858add close buttons to gtk windows 5859 5860use windows instead of dialogs for toplevel elements 5861 58622013-02-16 19:02:52 -0800 Arun Persaud <arun@nubati.net>: 5863keyboard accelerators for both front ends. 5864 5865moved them out of the string definition, so that gtk can add them automatically. 5866Also wrote a function that loads them for X11. 5867 5868TODO: add them again when creating X11 menu names 5869 58702013-02-15 11:03:02 -0800 Arun Persaud <arun@nubati.net>: 5871added rotated shogi pieces for -flipback option and moved them to the themes directory 5872 5873 58742013-02-14 17:27:27 -0800 Arun Persaud <arun@nubati.net>: 5875add test for pkg-config 5876 5877exit configure in case we can't find it. 5878 58792013-02-14 13:02:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5880Only perform e.p. capture if there are rights 5881 5882The heuristic for e.p. capture was such that any non-forward move with 5883a Pawn to an empty square would delete the piece behind its new location 5884(Xiangqi exempted). This is now limited to cases where EP_STATUS indicates 5885that the deleted piece was a Pawn that performed a double-push on the 5886previous move. (Or if there is unknown EP_STATUS.) 5887 This makes XBoard more generally suitable for use with variants that have 5888non-conventional Pawn moves (with legality testing off). To guarantee this 5889will not have any unexpected effects in normal Chess, this patch will only 5890be active if legality testing is off. 5891 58922013-02-11 16:25:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5893Unreserve tourney game on exit during engine load 5894 5895While waiting for the feature timeout we are not yet in TwoMachines mode, 5896so quitting XBoard at that stage would not unreserve the upcoming game. 5897A global flag 'startingEngine' similar to 'waitingForGame' now signals 5898this condition. 5899 59002013-02-10 13:40:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5901Better fix of feature timeout 5902 5903The previous fix of the 2nd engine's done=1 aborting the 1st engine's 5904feature timeout by starting the game caused problems with v1 engines, 5905or other engines that would never send done=1. It is now fixed by 5906explicitly testing for a pending feature timeout after resurrecting 5907the 1st engine, rather than having TwoMachinesEventIfReady wait for 5908initDone to be set by reception of done=1. 5909 Also refrain from freezing the UI between match games, as in TwoMachines 5910mode the UI is mostly disabled anyway. 5911 59122013-02-08 16:24:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5913Connect Ctrl key in WinBoard 5914 5915The Control key is now checked during move entry, for excluding moves 5916during analysis, or for copying pieces when editing a positions. But the 5917WB front-end did not read it out yet! 5918 59192013-02-08 16:23:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5920Fix Makefile for install of Xiangqi pieces 5921 5922 59232013-02-08 15:35:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5924Add Xiangqi piece images to project 5925 5926Let the images install in themes/xiangqi. 5927 59282013-02-08 15:14:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5929Revive -flipBlack option 5930 5931The -flipBlack option in the cairo version is now implemented the same 5932way as it was in XBoard, swapping white and black pieces in filpView mode. 5933This requires a set black piece images that are the upside-down versions 5934of the white ones. 5935 59362013-02-07 13:55:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5937Remove empty-square SVG images from project 5938 5939 59402013-02-06 19:00:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5941Add desktop stuff for .xop MIME type. 5942 5943Icons and desktop file were missing, as was the automake code to package them. 5944 59452013-02-06 16:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5946Update NEWS file 5947 5948 59492013-02-06 14:48:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5950Add boolean -autoBox option 5951 5952This option controls the automatic popup of the ICS Input Box on typing 5953a printable character, which was annoing to some. The option can be 5954set from the ICS Options dialog. 5955 59562013-02-06 10:56:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5957Draw both coords in a1 5958 5959The lower-left board square needed two inscriptions, but DrawOneSquare() 5960only allowed one, so that the file ID would not be written. Now two strings 5961can be passed, and when align > 1 to indicate the alignment of the top 5962string, it is still checked if a bottom string is present as well, which 5963then is drawn with alignment 1 (= bottom right). 5964 The rank coord or piece count can now also be double digit. 5965 59662013-02-05 23:03:42 -0800 Arun Persaud <arun@nubati.net>: 5967updated po files for new release (make distcheck) 5968 59692013-02-05 23:02:07 -0800 Arun Persaud <arun@nubati.net>: 5970updated Changelog, NEWS, etc. 5971 59722013-02-05 22:52:42 -0800 Arun Persaud <arun@nubati.net>: 5973new version number for release of 4.7.0 5974 59752013-02-05 11:56:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5976Let initial setting of Twice checkbox reflect current state 5977 5978The Twice checkbox in the Tournament dialog of WinBoard was by default 5979starting unticked. It is more convenient to have it preserve the current 5980state, however, based on the -lpi or -lgi value. Like the auto-incremet 5981checkbox already did. 5982 59832013-02-04 22:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5984Put GTK warning in about-box 5985 5986 59872013-02-04 21:59:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5988Fix warnings of build server 5989 5990 59912013-02-02 15:58:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5992Fix GTK error auto-raising board 5993 5994The variable mainwindow is not set in the gtk2 version. Unfortunately 5995it is still used to determine default board size... 5996 59972013-02-01 19:42:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5998Update Dutch WB translation 5999 6000 60012013-02-01 19:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6002Add some new strings to WB translation template 6003 6004 60052013-02-01 19:34:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6006Assign shortcut char to WB menu item 6007 6008The new Save games as Book item did not have a shortcut yet. 6009 60102013-02-01 19:31:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6011Let WinBoard start in its installation folder 6012 6013The current directory in WinBoard was not automatically the same as the 6014installDir returned by SearchPath. Especially not if used without shortcut 6015by file association. 6016 60172013-02-01 19:29:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6018Fix warning in WinBoard 6019 6020 60212013-01-30 14:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6022Fix expose of to-square with grid off 6023 6024The code relied on drawHighlight to request an expose evet for the entire 6025square, but when lineGap = 0, drawHighlight is a no-op. 6026 60272013-01-29 08:39:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6028Fix library order 6029 6030On OS X dialog windows could not get focus if -lXaw appeared after 6031-lX11 -lXt in the linker command. This was cured by moving 6032@FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter 6033of the automake file. 6034 60352013-01-28 17:38:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6036Preserve PGN tags when loading engine 6037 6038Switching to EditGame mode would normally erase the tags, but when analyzing 6039a loaded game this would be undesirable. When the engine is playing, keeping 6040the tags is dubious, but it is not obvious what to put in a new name tag, 6041so we leave that for now. 6042 60432013-01-28 17:23:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6044Preserve mode on engine loading (sometimes) 6045 6046That the mode always switched to EditGame after engine loading was 6047particularly annoying at the start of a game (where leaving BeginningOfGame 6048mode would disablethe Time Control dialog, and the engine would not 6049automatically reply if you start playing) and AnalyzeMode. These two 6050modes are now preserved, BeginningOfGame by refraining from calling 6051EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode 6052be calling AnalyzeModeEvent() after the engine is loaded and repositioned. 6053 60542013-01-28 14:14:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6055Catch unknown engine in tourney games 6056 6057When an XBoard instance is playing on a tourney it can happen that it is 6058using a settings file with an engine list not yet containing a certain 6059participant, because that participant was just installed in the instance 6060that created the tourney file, but it did not save those modifications yet. 6061This error is now caught, and leads to an error popup and stopping of the 6062tourney play. This error was made non-fatal to allow the user to decide 6063if he wants to quit with or without saving the settings (which, after all, 6064does not seem up-to-date). 6065 60662013-01-26 18:08:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6067Adjudicate pawn-drop mate as loss in Shogi 6068 6069Mating with a Pawn drop is illegal in Shogi, but rather than burdoning 6070the legality-testing by this complex rule, we simply invert the result 6071for such a mate. After all, Shogi customs are such that everything illegal 6072leads to an immediate loss. 6073 60742013-01-25 10:05:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6075Adjudicate perpetual checks as loss also in Shogi 6076 6077The Xiangqi code for recognizing perpetual checks is now also activated for 6078Shogi, but in this case we bail out before checking for perpetual chases. 6079The mini-Shogi case is then recognized as a win for gote. 6080 60812013-01-25 09:55:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6082Stalemate is a win in Shogi 6083 6084In regular Shogi this never occurs, but in the mini variants it happens 6085often enough. 6086 60872013-01-22 20:49:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6088Fix engine timeout problem in match mode 6089 6090Reload of a reuse=0 engine would cause a done=1 event which would be 6091abort the feature timeout of the other engine in the first game. 6092 60932013-01-22 20:32:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6094Enforce -popupMoveErrors 6095 6096One move error was using DisplayError(), in stead of DisplayMoveError(), 6097and thus did not obey the -popupMoveErrors option. 6098 60992013-01-21 15:30:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6100Update texi file 6101 6102 61032013-01-21 10:26:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6104Fix some warnings 6105 6106 61072013-01-20 19:09:05 -0800 Arun Persaud <arun@nubati.net>: 6108Updated German translation 6109 6110 61112013-01-19 17:54:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6112Do delayed board draw also with -stickyWindows false 6113 6114Only CoDrag needs to be suppressed on a configure event with 6115-stickyWindows false, not the board redraw. 6116 61172013-01-18 11:11:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6118Let tellothers command add comment to PGN in local mode 6119 6120 61212012-12-30 15:19:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6122Allow use of ~ in pieceToChar for shadow pieces in any variant 6123 6124The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and 6125Bughouse. But this is not necessary, and in fact undesirable, as it made 6126it impossible to implement Crazyhouse960, which combines shadow promotions 6127with Fischer castling (only available in variant fischerandom)s, and thus 6128has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable. 6129 61302012-12-30 15:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6131Resend engine-defined options after reuse=0 reload 6132 6133When the engine process is re-spawned for a new game under -xreuse setting, 6134any alteration of engine settings brought about through the Engine Settings 6135dialogs would be lost, and revert to the engine's default. This is now fixed 6136by re-sending all options (known from the previous load of the same engine) 6137with the current settings immediately after "protover 2", and ignoring the 6138engine's option features. Rather than clearing the option list, and 6139redefining it from the option features. 6140 61412012-12-30 14:58:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6142Implement aborting of games on engine request. 6143 6144A new game-end command is added. For bakward compatibility it is disguised 6145as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails 6146are recognized as special, and rather than ending the game in a draw (which 6147GUIs not implementing this), the game will be completely 'expunged' from 6148the match or tourney it is part of, leaving no trace in the saveGameFile. 6149 61502012-12-30 14:54:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6151Store some more tourney params in tourney file 6152 6153The hash and threads settings, as well as ponder and book options are now 6154also saved in the tourney file, so that tournaments can be played in 6155parallel where these parameters differ, and no mess up can occur on 6156restarting a touney after doing something else. 6157 61582012-12-23 11:26:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6159Do not automatically save aborted games in tourney PGN 6160 6161When the game result is 'unfinished', we prompt for a filename rather 6162then using the specified saveGameFile if a tourney is in progress. 6163 61642013-01-19 08:35:52 -0800 Arun Persaud <arun@nubati.net>: 6165fix configure bug that showed up on OS X (couldn't find X11/Dialog.h) 6166 6167X_CFLAGS (set by AC_PATH_XTRA) was not used in Makefile.am. It was used in tests for X11/Dialog.h, etc. so configure worked, but make didn't. 6168 61692013-01-18 22:26:13 -0800 Arun Persaud <arun@nubati.net>: 6170Updated Ukrainian translations 6171 6172 61732013-01-09 07:57:43 -0800 Arun Persaud <arun@nubati.net>: 6174removed trailing whitespace 6175 6176 61772013-01-09 07:49:20 -0800 Arun Persaud <arun@nubati.net>: 6178Updated copyright notice to 2013 6179 6180 61812012-12-22 22:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6182Do not move to forwadMostMove when unpausing AnalyzeMode 6183 6184 61852012-12-22 22:44:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6186Use Ctrl key in AnalyzeMode to exclude entered move 6187 6188 61892012-12-22 20:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6190Implement insufficient mating material for Knightmate 6191 6192KBK is draw with Royal Knight. With exo-pieces also KNK and KFK. 6193 61942012-12-22 20:25:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6195Fix rep-draw detection in drop games 6196 6197In games like Crazyhouse every move is reversible, as captured pieces 6198can eventually change sides again, and be dropped back on the board. 6199So we have to search back a full 100 ply for repetitions, passing captures 6200and Pawn moves. 6201 62022012-12-11 22:33:07 -0800 Arun Persaud <arun@nubati.net>: 6203updated po/pot files 6204 6205 62062012-12-11 22:18:05 -0800 Arun Persaud <arun@nubati.net>: 6207new version number for developer release 6208 6209 62102012-12-10 14:48:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6211Prefer pause mode on pondering engine over 'easy' 6212 6213If the thinking engine is stopped after its move because it does not 6214support pause, is is still better to use pause on the pondering engine 6215than to switch of its pondering with 'easy', as the latter might not 6216be instantaneous. Also switch off pondering in the thinking engine before 6217it gives the move, just in case it does not respond immediately to 6218easy / hard. 6219 62202012-12-10 13:40:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6221Update WinBoard translation template 6222 6223 62242012-12-10 13:35:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6225Fix min-Shogi promotion zone 6226 6227In integer arithmetic N*2/3 is not the same as N - N/3, with as a result 6228that the white promotion zone was 2 ranks deep on 5x5 boards. This only 6229happened in LegalityTest, but because this would classify all moves to 62304th rank an non-promotions, they would be printed with a faulty 6231deferral (=) sign as promochar in SAN. 6232 62332012-12-10 13:32:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6234Do not clear PGN tags on Analyze File 6235 6236 62372012-12-10 13:28:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6238Fix -fSAN in AnalyzeFile mode 6239 6240The exception that a PV relates to currentMove rather than forwardMostMove 6241applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore, 6242PvToSan did not properly restore the pushed game tail in this case. 6243 62442012-12-08 16:02:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6245Improve scaling of border bitmap (WB) 6246 6247The StretchBlt mode is set from dither to delete. 6248 62492012-12-05 16:34:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6250Implement use of pause / resume protocol commands 6251 6252Engines that implement feature pause=1 will be paused during their move 6253on a pause event; pondering engines will be controlled either through 6254'pause' or (if they don't support that) 'easy', which both should work 6255instantaneously. If the thinking engine does not support 'pause', the pausing 6256will be deferred to when it produces its move, and is implemented by not 6257relaying the move, and switch off pondering for both. 6258 62592012-12-03 12:58:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6260Fix Loop-Chess promotions 6261 6262Loop Chess is not a supported variant, but hould be playable as Crazyhouse 6263with an altered pieceToCharTable, not defining the shadow promotion pieces. 6264But with legality testing on promotion to shadow piece would take place 6265even if the shadow piece was not defined. 6266 62672012-12-02 22:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6268Fix move highlighting with animation off 6269 6270In WB the moving of SetHighlights to after the animation had broken the 6271highlighting of engine moves, because it was also moved after DrawPosition. 6272While it is DrawPosition that actually draws the highlights. Now it has been 6273moved to just before DrawPosition. 6274 62752012-12-02 11:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6276Start browsing in currently-selected folder (WB) 6277 6278The folder-browse dialog always started at My Computer, while file browsing 6279started in the globally last-used folder (which might not be related at all 6280to the file entry we are now browsing for). 6281 62822012-11-29 23:38:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6283Implement book-creation functions 6284 6285A new menu item triggers conversion of the currently loaded PGN file 6286to a Polyglot book, saved with the GUI-book filename. A (volatile) option 6287-mcBookMode alters the probing algorithm to build a book from scratch by 6288playing games (and using a form of learning). 6289 62902012-11-29 22:23:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6291Use colors in Board-Options dialog also for font pieces (WB) 6292 6293The piece color settings now control the pieceColor or fontPieceColor 6294settings, depending on the setting of -usePieceFont. 6295 62962012-11-29 22:14:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6297Implement auto-creation of ICS logon file 6298 6299Under control of the new option -autoCreateLogon (which can be set from 6300the ICS Options dialog) the first two lines in response to the ICS "login:" 6301pompt will be saved on a newly created logon file (if logon from such 6302an existing file failed). 6303 63042012-11-29 21:56:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6305Add Themes dialog (WB) 6306 6307This dialog, done by the generic popup, contains controls for many settings 6308that so far could only be controlled by options. It also introduces the 6309concept of 'themes', sets of options stored in the multi-line option 6310-themeNames. 6311 Add some dummy routines to suppress compile errors in functions that 6312cannot be called yet in XBoard. 6313 63142012-11-29 21:32:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6315Allow external piece bitmaps and board border (WB) 6316 6317The -pieceImageDirectory is now also used for WinBoard, to indicate 6318a directory of .bmp files, used to replace the built-ins. The outline 6319and solid bitmaps can be full-color. This allows winBoard to use the 6320WinBoard-zeta graphics. A new option -border can indicate a bitmap file 6321used to draw a half-square-wide border around the board. 6322 A white background has to be drawn underneath the black pieces, to avoid 6323color-interference with the board, just like happens for the white pieces. 6324These backgrounds now always use bright white, rather than -withePieceColor. 6325 6326We still have to work on the scaling of the zeta (600x600) bitmaps to 6327the actual board size, as for some bitmaps the stratchblt is ugly. 6328 63292012-11-29 21:05:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6330Add 'Continue Later' button in Tournament dialog (WB) 6331 6332This button makes it possible to accept the values specified in the 6333dialog without immediately starting the tournament (as OK does), 6334so you can re-open the dialog later, and OK it then. 6335 63362012-11-29 20:25:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6337Load opponent logo based on handle in ICS play (WB) 6338 6339The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp, 6340etc. If no logo for the handle is found there, the logo of the ICS is 6341displayed as usual. 6342 63432012-11-19 20:35:05 -0800 Daniel Dugovic <dandydand@gmail.com>: 6344Fix configure script for --enable-zippy (tiny change) 6345 6346reported and patch by Daniel. 6347 6348edited by Arun Persaud: 6349- also fixed #ifndef ZIPPY -> #if !ZIPPY 6350- didn't change #if -> #ifdef 6351 63522012-11-10 00:12:34 -0800 Arun Persaud <arun@nubati.net>: 6353don't define X_LIBS when using gtk-frontend 6354 6355 63562012-11-07 22:16:09 -0800 Arun Persaud <arun@nubati.net>: 6357updated po/pot files; added new frontend files 6358 6359 63602012-11-07 22:14:20 -0800 Arun Persaud <arun@nubati.net>: 6361fix configure script for --with-Xaw and --with-gtk 6362 6363made Xaw the default and included xaw or gtk sources as extras 6364in case the other frontend is selected for make distcheck 6365 63662012-11-07 21:13:38 -0800 Arun Persaud <arun@nubati.net>: 6367new version number for developer release 6368 6369 63702012-10-31 09:55:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6371Draw frames around memos and listboxes 6372 6373 63742012-10-30 17:39:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6375Adapt lineGap during sizing 6376 6377 63782012-10-30 15:04:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6379Fix clock highlighting 6380 6381 63822012-10-30 10:59:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6383Fix Chat Box 6384 6385The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary 6386handler for special keys in one-liner text edits. 6387 63882012-10-29 19:46:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6389Pay attention to NO_CANCEL dialog flag 6390 6391 63922012-10-29 14:18:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6393Fix clock clicking with GtkEventBox 6394 6395Like in WinBoard the button-3 case is now handled in the primary 6396event handler (and communicated to it in a kludgy way). It would be 6397better if this was absorbed in ClockClick(). 6398 63992012-10-28 22:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6400Fix logo placement 6401 6402Graphs were not recognized as possible SAME_ROW elements. A Graph requesting 6403FIXED_H (which only the logos did) is now packed into a (borderless) aspect 6404frame. 6405 64062012-10-25 23:04:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6407Add window positioning 6408 6409Sticky windows now sort of works, but needs unexplained fudge factors. 6410Reopening a persistent dialog centers it on the board, and disobeys 6411the positioning command. The WindowPlacement of the BoardWindow was 6412again added (it was commented out during development). 6413 64142012-10-22 22:41:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6415Make board sizing work through subtracting fixed height 6416 6417There is now no attempt to give a size to the board drawing area, so it 6418can later be sized as small as we want. The frame width is determined 6419by subtracting the nominal board size from the actual window size, 6420(because the clocks will have that width, and the board will startas 1x1), 6421while the vertical margin is determined as the difference between the 6422bactual window height, the drawing-area height minus a fudge of 25 pixels 6423to compesate for the erroneously allocated blank space below the board. 6424 64252012-10-22 21:09:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6426Fix warnings 6427 6428The highTextStart/End are now declared in engineoutput.h, shared between 6429nengineoutput.c and xengineoutput.c. Unused variables were removed. 6430Also fix warnings in xboard.c and xoptions.c. 6431 64322012-10-22 17:40:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6433Delete emptied front-end files, and move rest to gtk directory 6434 6435Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist 6436and xhistory have been completely cleared off content, and were removed. 6437 64382012-10-27 00:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6439Add copy-paste 6440 6441The code from gtk-xt could be used with almost no modification. 6442 64432012-10-21 09:09:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6444Some experimenting with sizing 6445 6446Does not work as intended yet. 6447 64482012-10-21 23:04:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6449Add task-bar icon 6450 6451Funny enough it was necessary to swap the two svg icons to make this work! 6452 64532012-10-20 10:29:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6454Make some tall dialogs multi-column 6455 6456A dummy button was added to the last row of New Variant to make the 6457number even. A legality-test warning as put in the New Variant dialog 6458Fix width of tourney-file in Match dialog 6459 64602012-10-20 21:14:33 -0700 Arun Persaud <arun@nubati.net>: 6461updated some icons to SVG 6462 6463 64642012-10-20 19:57:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6465Add displaying of icons 6466 6467A new Option type, 'Icon', was added for this as in GTK Icons and Labels 6468need different types of widget. The icons are now svg, so we could 6469remove the icon pixmaps. 6470 64712012-10-20 14:25:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6472Fix button bar 6473 6474 64752012-10-20 14:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6476Add BarBegin, BarEnd options 6477 6478This makes the button bar display correctly. Also fix v-sizing of menu bar. 6479 64802012-10-20 10:01:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6481Add listbox double-click callback 6482 6483This function was formerly performed by WheelProc. 6484 64852012-10-19 17:29:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6486Add hiding / showing second Engine Output pane 6487 6488The handle of the GTK table for the second engine is stored in the 6489EndMark handle by GenericPopUp, so it can be used later to hise/show 6490that table. 6491 64922012-10-19 17:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6493Use different tables for different dialog columns 6494 6495Making the same table wider (in steps of 3) to get multiple columns 6496does not work, because it forces options to align vertically. This 6497wrecks dialogs like Load Engine, where one column contains a very 6498high option (listbox). Now differnt tables are created for each column, 6499packed in a new itermediate hbox. In case of the Engine Output window, 6500a vbox is used instead to cause vertical stacking. 6501 Only multi-line text-edits and listboxes are now allowed to take up 6502vertical space changes, while only the middle colum of the table 6503can take up horizontal size changes. Within packing boxes space is 6504equally distributed. 6505 The labels above the particiant-selection widgets had not the same width 6506as the textview / listbox, leading to misplacement of the second label. 6507 For Engine Settings the spontaneous breaking into columns did not 6508involve a SAME_ROW flag, so the 'columns' were stacked vertically. 6509In addition the columns were too tall for GTK. They are now 20 options max. 6510 65112012-10-19 13:46:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6512Deselect first char in Move Type-in and ICS Input Box 6513 6514After popup the Move Type-In had the typed character in it, but it was 6515selected, so that typing a second character would erase it again. 6516Same for the ICS Input Box. A prototype for CursorAtEnd is now also added. 6517 65182012-10-19 13:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6519Close Move Type-in on Enter 6520 6521The code is squeezed into the ICSKeyEvent callback. 6522 65232012-10-18 21:57:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6524Add access routines to checkboxes and FocusOnWidget 6525 6526The <Enter> handler of the filter field needs it to return focus to 6527the listbox. 6528 65292012-10-18 21:42:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6530Add game-list callbacks 6531 6532The callbacks for listbox and filter text are treated by the same callback, 6533which does both key presses and button double-clicks. 6534Giving focus back to the listbox after filtering does not yet work! 6535 65362012-10-18 16:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6537Add optional callback to Label Options 6538 6539For some reason this does not work. The callback isn't called! 6540 65412012-10-18 13:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6542Add type-in event to board for popping up box 6543 6544 65452012-10-18 13:12:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6546Add Shift detection 6547 6548The state of Shift and Ctrl was only probed on button clicks, so it 6549is now read out of the button-event struct in the relevant button handlers. 6550For backwad compatibility, they store it in a global, so the routine 6551ShiftKeys can take them from there. 6552 65532012-10-18 12:35:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6554Remove some unneeded low-level X11 code 6555 6556Things like tabbing between controls, mouse-wheel scolling etc. are all 6557automatic in GTK, and thuse don't need to be ported. 6558 65592012-10-18 10:12:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6560Add file browser 6561 6562The gtk-xt code for browsing in response to menu items rather than dialog 6563browse buttons) was grafted. It seems desirable to merge the two browsing 6564functions, though. Pass extra params used by Xaw to FileNamePopUpGTK. 6565The code was altered to use DelayedLoad. 6566 65672012-10-18 09:54:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6568Fix ListBox, and add some support routines 6569 6570The srolled-window for the listbox used a uninitialized variable for its 6571width, causing a crash. Now it pays attention to the Option.max and .value 6572size hints. The access routines were copied from gtk-xt. HighlightWithScroll 6573could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls. 6574 65752012-10-17 20:01:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6576Connect CommentClick handler 6577 6578This can make use of generic memo callback, so it could be entirely 6579backend. Therefore it was moved to dialogs.h. As it shared a global with 6580some other back-end popup routines to remember the current move, these 6581could now be moved out of xboard.c too. (Well, not so for the X11 front-end, 6582so it has now been put in a header. :-( ) 6583 65842012-10-17 19:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6585Fix animation 6586 6587Because FrameDelay does block the event loop, even though it releaes the 6588CPU, expose events start to lag behind the actual drawing. By combining 6589expose events for overlapping squares, rather than decompose them into 65903 rectangles, this problem seems to go away. But only if there is an 6591extra exposure on the squares to be drawn also non-overlapping frames 6592will be properly drawn (?!). 6593 65942012-10-17 14:40:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6595Implement highlighting in engine output by through generic method 6596 6597HighlightMove was made generally available for all text. It is now just a 6598wrapper for the generic HighlightText, and could be moved to the back-end. 6599(This requires the initialization to be widget specific, and the flag 6600indicating it has been done is now stored in the Option.min field.) 6601 66022012-10-17 14:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6603Let engine-output memos use new generic callback 6604 6605 66062012-10-17 13:53:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6607Add scrolling of Move History 6608 6609To have access to the textview, its handle is now stored in the 6610Option.textValue field. 6611 66122012-10-17 13:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6613Add highlighting in move list 6614 6615For now it is assumed the normal background will be white (for clearing 6616the highlight). 6617 66182012-10-16 19:44:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6619Make generic memo-event handler, and connect history callback 6620 6621Large text widgets can now define a user handler in their Option.choice 6622field. If they do, agneric callback is added tothem, which catches mouse 6623events. Button release and pointer motion pass their coordinate and type 6624to the specified user routine. Button presses in addition retrieve 6625the text from the widget, set the cursor in it to the clicked point, 6626and convert it to a character position, also passed to the user. 6627 The user is responsible for ignoring events he is not interested in. 6628 66292012-10-16 15:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6630Add key-handler for ICS Input Box 6631 6632In contrast to the X11 code, all intercepted keys are now treated by 6633the same callback. The ICS Input Box callback triggers on Up, Down and 6634Return key, and refers to these symbolically. 6635 66362012-10-16 15:05:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6637Highlight Pause button 6638 6639 66402012-10-16 13:52:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6641Better cleansing of xboard.c from X11 types 6642 6643The #includes for X11 files were still in there. 6644 66452012-10-16 13:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6646Add text insertion in engine-output memos 6647 6648 66492012-10-16 09:34:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6650Append recent engines to engine menu 6651 6652This is now entirely moved to the back-end, by doing it in the table 6653from which the menus are later generated. The special callback for engine 6654items is abandoned, and the euProc for such items is left NULL to flag 6655that RecentEngineEvent should be invoked with the applicable engine number. 6656To calculate the latter a global variable firstEngineItem is dynamically 6657set to the length of the regular engine menu. 6658 66592012-10-15 22:17:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6660Transfer more gtk-xt code, and add some new 6661 6662Add input-source handling 6663Graft color picker (<Enter> callbeack in the text field is still missing!) 6664Handle contents of label widgets (store handles in Option for access) 6665Add printing of clocks 6666Add printing of window title 6667Pay attention to BORDER attribute of Label Options (pack in frame) 6668Delete ReadBitmap code (also remove #including of bitmap files for icons) 6669Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll) 6670Support vertical stacking in Break Option (no table widening when !SAME_ROW) 6671Make default horizontal scroll policy automatic (for engine-output window) 6672Fix disabling of unused spinners in TC dialog 6673 66742012-10-15 20:47:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6675Connect dialog Browse buttons to GTK browser 6676 6677 66782012-10-15 19:52:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6679Implement menu checkmarking and enabling 6680 6681odes in the (later over-written) handle field specify which items 6682are to be checkmarked, and by what style button. 6683 66842012-10-15 16:18:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6685Attach expose handler and connect to mouse events 6686 6687The GraphExposeProc is conected to the Graph widgets. A gdk draw routine 6688is used to copy the buffer bitmap to the display. It is also connected 6689to button and motion-notify events. 6690 In this version the board can be fully operated with the mouse. 6691 66922012-10-14 22:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6693Transfer most available gtk-xt code to xoptions.c 6694 6695GenericPopUp and PopDown are grafted from gtk-xt into gtk2. 6696The version compiles, but segfaults before doing anything, with error 6697messages about unexpected cases in GenericPopup for Graph and PopUp Options 6698of the main board. The spin options need special treatment in GetWidgtText. 6699 67002012-10-15 11:41:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6701Give LoadListBox two extra parameters 6702 6703It often occurs that we just want to swap two elements, and reloading 6704the entire listbox would be a very inefficient way to do this in widget 6705sets that allow access to a single element. 6706 67072012-10-14 20:36:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6708Remove all X11 code by #ifdeffing it out 6709 6710With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling 6711X11-free version. The disabled sections can then be replaced by code 6712for another widget set, the X11 version still showing what it was supposed 6713to do. 6714 67152012-10-14 17:37:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6716Move timer functions to new file xtimer.c 6717 6718The timers for the clocks, periodic analysis events and ScheduleDelayedEvent 6719go into a separate file. 6720 67212012-10-14 15:31:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6722Make xevalgraph.c backend 6723 6724The only front-end stuff left in xevalgraph.c was an unnecessary reading 6725of the window size (which could be obtained from the WindowPlaceent struct), 6726and drawing (all cairo now). The drawing was moved to draw.c, and the 6727remaining part renamed nevalgraph.c. 6728 6729An attempt to list them in a less chaotic way. 6730 67312012-10-14 14:34:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6732Cleanse back-end code of all references to X11 types 6733 6734When compiling for X11, common.h #included X11/Intrinsics.h so that 6735X11-specific data types could still be used throughout the back-end part 6736not shared with WinBoard. By temporarily disabling this, error messages 6737could be generated on all such occurrences, and were then solved. This 6738included the following: 6739 The InputSource struct is not uses in usystem.c at all, and its definition 6740could be moved to xboard.c. InputSourceRef, which logically should heve been 6741defined as (InputSource *), is in reality (void *), so the back-end can 6742pass it around. 6743 Some non-platform-dependent stuff of general interest had prototypes 6744(or external vars) in xboard.h. This is now moved to a new header xboard2.h, 6745to allow it to be shared without bringing in X11 dependence. 6746 The EngineOutputProc was defined inconsistently, but the header was not 6747sufficiently shared to flag this error. This has been repaired now, by moving 6748the template to menus.h. 6749 67502012-10-14 13:39:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6751Remove xedittags.c, .h from project 6752 6753The tiny bit of code that was left was absorbed in dialogs.c, the one 6754prototype to menus.h. 6755 67562012-10-14 12:53:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6757Remove inclusion of frontend.h from backendz.h 6758 6759This did not seem to serve any purpose at all. 6760 67612012-10-14 12:49:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6762Split xhistory.c in front-end and middle-end part 6763 6764 67652012-10-14 12:21:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6766Move MarkMenuItem to xoptions.c 6767 6768This to make xoptions.c completely independent from the inclusion of 6769frontend.h. The prototype is moved to menus.h. 6770 Loose end: DrawPosition in board.c does not see the prototype. 6771Very suspect that it wants to see it. Why would it have to correct the 6772flipView setting??? Better se to it that it is correct to start with! 6773 67742012-10-14 12:14:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6775move testing for no options to back-end 6776 6777The test if an engine has options and display a note instead of 6778the Engine Settings dialog when this is not the case is moved 6779to outside of GenericPopUp, to make the later independent of calling 6780other routines. 6781 67822012-10-14 11:20:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6783Remove some unnecessary header includes 6784 6785 67862012-10-14 10:47:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6787Move ICS-engine analyze and AnalyzeGame code to shared back-end 6788 6789This code was still duplicated between WB and XB in the front-ends. 6790Because of its incorporation in AnalyzeModeEvent the 'middle-end' 6791function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made 6792to return an int to flag its success, and keep the JAWS code based 6793on it out of XBoard. 6794 The AnalyzeGame code is now incorporated in AnalyzeFileEvent(). 6795 67962012-10-26 10:28:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6797Add configure switches for Xaw vs GTK. 6798 6799This patch is an adapted version of the one Arun made at the end of the 6800gtk2 branch. It uses the exact same version of his configure.ac, but the 6801Makefile.am is adapted to the situation in master at the beginning of it, 6802after duplication of the X11 front-end files in the xaw directory for 6803preserving them, while the versions that will be modified to GTK front-end 6804are still in the xboard directory. 6805 68062012-10-25 11:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6807Prepare xoptions.c for middle-end changes 6808 6809Some changes that can be pre-empted, such as the splitting of Label 6810into Label and Icon Option type, and some dummy wrappers are already 6811implemented, so they can be used when needed by GTK. 6812 68132012-10-25 09:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6814Preserve copies of the X11 front-end in xboard directory 6815 6816The X11 front-end has been moved to the xaw directory, but copies 6817are retained for modifying them to gtk versions. 6818 68192012-10-24 08:55:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6820Move X11 front-end to directory xaw 6821 6822 68232012-10-31 18:18:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6824Fix initial enables in TC dialog 6825 6826 68272012-10-30 14:47:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6828Fix image extension used for browsing to .pgn 6829 6830 68312012-10-28 21:39:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6832Fix WinBoard compile error on enum PEN 6833 6834 68352012-10-30 11:20:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6836Fix crash in promotion popup 6837 6838There were not enough entries for Capablanca Chess with legality-testing off, 6839where King is also presented as a choice. 6840 68412012-10-28 18:19:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6842Fix message in New Variant dialog 6843 6844Even in -ncp mode the message was referring to the 'current engine'. 6845 68462012-10-28 18:16:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6847Fix crash on animation after resizing 6848 6849The animate buffers were still holding pointers to a discarded cairo surface. 6850 68512012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6852Fix variant-dependent pieces 6853 6854The code to select the actually used piece images from the available ones 6855(from InitDrawingSizes) is now made into a subroutine, and also called 6856after resizing the pieces. 6857 68582012-10-26 10:18:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6859Replace marble texture pixmaps by png 6860 6861 68622012-10-26 10:13:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6863Replace xiangqi board pixmaps by png images 6864 6865 68662012-10-26 10:08:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6867Remove the texture pixmaps from project 6868 6869These were already replaced by png textures. 6870 68712012-10-23 15:02:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6872Fix re-rendering of svg on resize 6873 6874The previously prepared bitmaps were retained if we resized, rather then 6875rendering the svg atthe new size. 6876 68772012-10-21 15:48:30 -0700 Arun Persaud <arun@nubati.net>: 6878update po/pot files 6879 6880 68812012-10-21 15:47:12 -0700 Arun Persaud <arun@nubati.net>: 6882new version number for developer release 6883 6884 68852012-10-21 11:10:36 -0700 Arun Persaud <arun@nubati.net>: 6886we still need a few bitmaps, so the directory needs to be included in Makefile.am 6887 6888make distcheck complained about this 6889 68902012-10-21 15:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6891Rename svg shogi pieces, so they become usable 6892 6893Only white pieces are present. For black they would have to be flipped. 6894 68952012-10-21 15:54:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6896Fix bug in resizing on variant switch 6897 6898The fix of the garbage pixels had unfortunately broken this. 6899 69002012-10-21 15:15:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6901Fix bug in fallback mechanism 6902 6903After failure to load a piece from a specified -pieceImageDirectory 6904the default theme was not tried, because the cairo function to load 6905from a pgn file returns a valid handle even if the file does not exist. 6906 69072012-10-21 14:58:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6908Get svg error message 6909 6910 69112012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6912Fix variant-dependent pieces 6913 6914The code to select the actually used piece images from the available ones 6915(from InitDrawingSizes) is now made into a subroutine, and also called 6916after resizing the pieces. 6917 69182012-10-16 12:08:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6919Remove caveat on available pieces fromNew Variant dialog 6920 6921In the cairo version all pieces are available at all board sizes. 6922 69232012-10-21 11:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6924Remove some unused images from png directory 6925 6926Currently only the three board texture files are used. But the piece 6927images are still left, because they might be useful if we ever want 6928to mae XBoard configurable for not using librsvg. 6929 69302012-10-21 10:40:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6931Fix bug in resizing 6932 6933The nominal size of the window was not set in the correct Option struct. 6934 69352012-10-21 09:58:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6936Prevent odd-width line shift in length direction 6937 6938 69392012-10-21 09:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6940Print missing-pieces error message to console 6941 6942The GUI might not yet be up at this point.In addition, suppress 6943the rest of the code, because it could give segfaults. 6944 69452012-10-21 09:30:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6946Fix garbage pixels on the right of the board 6947 6948The extra pixel that is requested in sizing the board window back to 6949an available size because we ofte get one less pixel than we ask for 6950can lead to a line of garbage pixels next to the board. This is combatted 6951by limiting expose events to the true board area, remembering that in the 6952Graph Option rather than the actual window size, and suppressing resizing 6953when the latter only exceeds the stored width by more than 1 pixel. 6954 69552012-10-15 10:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6956Trim board-window size 6957 6958The board window will sometimes be a pixel larger than requested. 6959The ReSize routine will now reset the size values in the Graph Option 6960to what they were supposed to be, to prevent expose events will 6961draw nonsense in the extra space. 6962 69632012-10-13 23:26:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6964Adapt docs for svg/png in stead of bitmap/pixmap 6965 6966 69672012-10-13 09:35:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6968Spontaeous changes in gettext stuff 6969 6970 69712012-10-13 08:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6972Move Shogi svg pieces to own directory 6973 6974 69752012-10-13 07:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6976Remove unnecessary Xt colors and call to MakeColors 6977 6978 69792012-10-13 07:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6980Code cleanup: move expose redraw to draw.c 6981 6982 69832012-10-13 07:37:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6984Suppress warning for InitDrawingHandle 6985 6986 69872012-10-13 07:33:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6988Make fallbackPieceImageDirectory hardcoded 6989 6990 69912012-10-13 07:18:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6992Increase drag delay too 200 msec 6993 6994On my slow laptop it can take more than 100 msec to reallocate bitmaps 6995in the generic expose, with as a consequence that the DelayedDrag event 6996is not processed before the timeout expires. The timeout event then triggers 6997a redraw, which again takes so long that the timeout expires before the 6998event to reset the timer could be processed, and this just perpetuates 6999itself, leading to a large series of queued redraws, and a long waiting time 7000for an image to appear after the sizing stops. 7001 70022012-10-13 07:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7003Fix segfault on faulty command-line option 7004 7005 70062012-10-12 14:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7007Suppress anti-aliasing in -monoMode 7008 7009In the color-substitution code, always use bi-level alpha and color. 7010 70112012-10-12 13:34:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7012Remove piece pixmaps from project 7013 7014 70152012-10-12 11:47:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7016Implement proper fallback cascade 7017 7018Try in order cached svg, cached bitmap, user png, user svg, default svg. 7019 70202012-10-12 11:06:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7021Cache svg handles 7022 7023 70242012-10-12 10:45:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7025Install svg pieces in themes/default 7026 7027The svg pieces are installed with the XBoard data in the directory 7028.../xboard/themes/default . A new option -fallbackPieceImageDirectory 7029is added, and is configured in the master settings file to point to 7030these pieces. This options, which replaces -svgDirectory, is volatile, 7031and the menu control to set it is removed. The -pngDirectory option 7032is renamed to -pieceImageDirectory (-pid). 7033 70342012-10-12 10:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7035Remove bitmaps from project 7036 7037 70382012-10-12 09:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7039Install the wood textures as png 7040 7041The xboard.conf has to be edited to set these as default textures, 7042in stead of the .xpm files. 7043 70442012-10-12 09:50:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7045Add hatched board texture 7046 7047A png file with hatching is added, so it can be used for dark squares 7048in a monochrome theme. It is installed in a new data directory 7049.../xboard/themes/textures. 7050 70512012-10-11 22:21:06 -0700 Arun Persaud <arun@nubati.net>: 7052added a black and white theme to replace the mono option 7053 7054 70552012-10-11 20:56:42 -0700 Arun Persaud <arun@nubati.net>: 7056added SVGs to dist files in automake 7057 7058 70592012-10-11 19:44:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7060Fix exposure of atomic captures 7061 7062The grid lines had to be repaired too, so damage marker 2 had to be used. 7063 70642012-10-11 19:13:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7065Fix animation with textures off 7066 7067The blank square was not shifted to (0,0) when drawing the animation buffer. 7068 70692012-10-11 19:08:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7070Fix 1-pixel offset of grid lines on some cairo implementations 7071 7072 70732012-10-11 09:51:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7074Solve odd lineGap problem 7075 7076Not all cairo versions seem to round the same when an odd-width line 7077is to be drawn at integer coordinates. So now we explicitly ask it 7078to be drawn centered on half-odd-integer coordinates. 7079 70802012-10-09 18:52:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7081Add -trueColors option 7082 7083 70842012-10-09 14:56:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7085Always render svg pieces anew on size change 7086 7087The svg pieces are now unconditionally rendered to supply the pngPieceImage 7088master source otherwise read from png file. This is then fed into the 7089original png code (so that if for some reason it fails, we fall back on png 7090pieces, and finally on built-in pixmaps). 7091 70922012-10-09 14:06:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7093Fix rsvg version in configure.ac 7094 7095 70962012-10-08 19:54:19 -0700 Arun Persaud <arun@nubati.net>: 7097initial svg rendering 7098 7099 71002012-10-08 18:34:05 -0700 Arun Persaud <arun@nubati.net>: 7101added cairo and librsvg to configure process 7102 7103 71042012-10-08 18:32:55 -0700 Arun Persaud <arun@nubati.net>: 7105added SVGs 7106 7107converted from inkscape SVG to plain SVG before adding 7108 71092012-10-10 21:19:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7110Adapt Eval Graph code to new drawing system 7111 7112The eval graph now triggers an expose after drawing, and gets its size 7113from the Option fields. 7114 71152012-10-10 20:37:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7116Fix expose requests seek graph 7117 7118 71192012-10-10 20:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7120Make draw handle for board globally available 7121 7122 71232012-10-10 19:45:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7124Let expose requests pay proper attenton to widget 7125 7126So far, expose requests were always assumed to be for the board widget, 7127preventing display of the labels. 7128 71292012-10-10 18:45:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7130Fix initial display of logos 7131 7132The logos were selected and printed during the initialization, 7133before the main event loop was started. So the expose events during 7134widget creation, which created the drawing surfaces, were only processed 7135after the initial drawing of logos, so that there was nothing to draw on! 7136 71372012-10-10 17:25:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7138Fix alignment of highlight expose 7139 7140 71412012-10-10 17:19:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7142remove NewSurfaces 7143 7144 71452012-10-09 13:57:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7146Make expose handler generic 7147 7148The Graph Option now returns two handles in hitherto unused fields of its 7149Option struct: Option.choice is a cairo handle of a memory buffer the user 7150must draw to, while Option.textValue is the handle to the widget. 7151Expose events copy the memory buffer to the display for the exposed area. 7152A routine DrawExpose() is supplied to let the user generate expose events. 7153 71542012-10-06 21:30:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7155Reload piece images when pngDirectory is changed 7156 7157The OK function of the board options dialog now tests for a change 7158in pngDirectory and passes a parameter to InitDrawingParams to tell 7159it to destroy the old images. This cause a reload on scaling the pieces. 7160 71612012-10-06 20:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7162Suppress redraw during sizing 7163 7164 71652012-10-06 20:10:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7166Fix bug in resize trigger 7167 7168Even if the square size does not change, the window has to be shrunk 7169back to fit the board. 7170 71712012-10-06 19:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7172Make Piececolor options work on png pieces 7173 7174The scaled, antialiased bitmaps are now colored according to the option 7175settings. This is done by decomposing every pixel in a white, black and 7176transparency component, which is possible because the opacity is 7177directly give in the alpha channel, and black originally was a hard zero. 7178So what you se in the red channel must be white (as the original white 7179was #FFFFCC), and the rest of the opacity must be due to black. 7180 The color to be replaced (white for the white pieces, black for the black 7181pieces) is then replaced by the original weight of this color times the 7182color from the option. 7183 71842012-10-06 17:53:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7185Plug resource leak on rezising with pixmaps 7186 7187 71882012-10-06 16:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7189Fall back on built-in pixmaps if png pieces unreadable 7190 7191 71922012-10-06 14:21:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7193Do coordinate text alignment with cairo 7194 7195 71962012-10-06 13:40:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7197Some cleanup 7198 7199 72002012-10-06 12:14:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7201Clean up drawing code 7202 7203Now all routines only draw through cairo, the destination surface can 7204be passed to them, making it possible to do the duplicate drawing 7205to the memory board image in a cleaner way. 7206 72072012-10-06 11:37:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7208Check in draw.c, draw.h 7209 7210 72112012-10-06 11:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7212Remove all bitmap & pixmap drawing 7213 7214All Xt code for drawing the board is now removed, as are the 7215-pixmapDirectory and -bitmapdirectory option. This version is now 7216completely dependent on cairo for handling of all graphics anywhere. 7217(The build-in pixmaps are still left, though, for later use as an 7218alterative cairo source when no png files are found.) 7219 72202012-10-06 10:29:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7221Separate off drawing routines from xboard.c 7222 7223A new source file draw.c is created to hold all code associated with 7224board drawing. The routines for loading bitmaps and creating colors 7225were left in xboard.c, though, as they are also used for handling 7226icons and colors of widgets. 7227 72282012-10-05 19:53:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7229Fix erasing dots in seek graph 7230 7231The cairo dots were just a little bit bigger than the old ones, so they 7232were not properly erased, but left a remnant. 7233 72342012-10-05 19:25:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7235Cleanup CairoOverlayPiece 7236 7237 72382012-10-05 19:22:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7239Draw arrow also on backup image 7240 7241 72422012-10-05 19:16:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7243Fix highlight clearing 7244 7245 72462012-10-05 18:59:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7247Remove acceleration trick 7248 7249 72502012-10-05 18:54:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7251Implement variant-dependent png piece symbols 7252 7253 72542012-10-05 18:42:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7255Fix clearing of markers dots with promo popup 7256 7257 72582012-10-05 18:32:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7259Also render coordinates to backup board 7260 7261 72622012-10-05 18:30:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7263Remove debug print 7264 7265 72662012-10-05 18:29:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7267Let cairo also do evenly colored squares. 7268 7269 72702012-10-05 17:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7271Make dragged piece for excluding moves transparent 7272 7273 72742012-10-05 17:42:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7275Fix DrawSeekText 7276 7277 72782012-10-05 17:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7279Redo coordinate / piece-count printing ith cairo 7280 7281 72822012-10-05 15:40:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7283Also use cairo on slave board 7284 7285With dual-board observing the drawing should be redirected to the 7286slave board, so SwitchWindow should also switch the xlib-surface to 7287one for the slave window. 7288 72892012-10-05 15:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7290Cure flashing of piece on from-square 7291 7292In a drag-drop move the piece was flashed on the from square after the 7293user dropped it on the to-square, because highlights were set before the 7294move had updated the board. And highlighting with arrow can cause a redraw 7295of the last board. Same with setting or clearing marker dots. 7296 72972012-10-05 14:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7298Specify proper condition for using cairo animation 7299 7300 73012012-10-05 14:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7302Allow resizing of board window 7303 7304In full png mode the size of the board window is no longer locked. 7305After resizing, the square size is calculated as the largest one that 7306would fit the window, and the window is then shrunk around it. To prevent 7307excessive redrawing during sizing, the redraw is delayed by putting it 7308in DragProc. 7309 73102012-10-05 10:41:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7311Switch to using 64x64 png images 7312 7313The bitmap scaling works better when the needed factors are not too large, 7314as the svg rendering's anti-aliasing did not blur more than 1 pixel. 7315So after shrinking too much the images are not effectively anti-aliased 7316anymore. 7317 73182012-10-05 10:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7319Maintain in-memory copy of the board image 7320 7321As reading back from the xlib-surface proves incredibly slow (cairo probably 7322converts the entire image from Xt format to cairo format when we set it 7323as a source, even though we only want to read a few dozen pixels), we now 7324keep an exact copy of the board image as a cairo bitmap in memory. This 7325restores the speed of the animation, but unfortunately leads to awful code. 7326 73272012-10-04 22:15:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7328Do animation with cairo 7329 7330Unfortunately this is incredibly slow. 7331 73322012-10-04 18:36:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7333Allow back-texture files to be PNG, (drawn with cairo) 7334 7335 73362012-10-04 15:10:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7337Add png pieces 7338 7339A new directory with 256x256 png piece images is added to the source tree. 7340 73412012-10-04 15:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7342Add mode to draw PNG piece images through cairo 7343 7344The PNG images have to be supplied as files in a -pngDirectory (a new 7345option) with a 256x256 bitmap. They are then scaled by cairo to the 7346desired square size. This does not work very well for the smaller sizes. 7347 73482012-10-03 14:45:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7349Redo marker dots with cairo 7350 7351 73522012-10-03 14:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7353Redo highlights with cairo 7354 7355 73562012-10-03 14:07:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7357Make convenience routine SetPen globally available 7358 7359The routine to set a pen as specified by a color string that was used 7360in xevalgraph is moved to xboard.c, where there also is lots of demand 7361for it. The arrow drawing now uses it for setting the highlightSquareColor. 7362 73632012-10-03 12:28:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7364Redo grid with cairo 7365 7366 73672012-10-03 12:00:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7368Redo arrow highlighting with cairo 7369 7370 73712012-10-03 11:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7372Redo seek graph with cairo 7373 7374New front-end services DrawSeekOpen() and DrawSeekClose() have been 7375added, and are called from the back-end to enclose any drawing activity. 7376In WinBoard these had to be defined as dummies. 7377 73782012-10-02 15:31:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7379Redo logos with cairo 7380 7381The logos must now be .png files, and are internally handled as their 7382filenames. (So no preparation of a drawable from it at startup.) 7383Cairo allows them to be scaled to the requested logoSize. 7384 73852012-10-02 14:02:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7386Fix Eval Graph resolution problems 7387 7388Anti-aliasing had to be switched off to get a crisp graph. A second problem 7389was that the dashed lines were drawn in both directions, with interfering 7390dashes. 7391 73922012-10-02 10:54:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7393Redo Eval Graph drawing with cairo 7394 7395 73962012-10-21 10:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7397Fix button-border-width bug in monoMode 7398 7399The kludge of signalling we are dealing wih a button rather than a label 7400was wrongly implemented in case of momoMode. 7401 74022012-10-21 10:14:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7403Reserve more space for button bar 7404 7405In some board sizes the button bar was wider than the code guessed, 7406so the window width would be determined by the message + buttons row rather 7407than the board. 7408 74092012-10-21 11:24:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7410Fix WinBoard compile errors 7411 7412 74132012-10-13 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7414Fix non-NLS compile error for XFontStruct 7415 7416 74172012-10-12 12:04:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7418Fix browsing for path 7419 7420A pathname was still prefixed with the cuurent directory. 7421 74222012-10-07 21:00:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7423Use Pause state in AnalyzeMode to imply move exclusion 7424 7425The pause state was not used in AnalyzeMode so far. Now it is used to 7426imply all entered moves are for exclusion/inclusion. 7427 74282012-09-30 18:55:13 -0700 Arun Persaud <arun@nubati.net>: 7429new version number for developer release 7430 7431 74322012-09-30 22:16:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7433Fix broken -ics and -cp options 7434 7435The patch to specify engines and ICS by nickame broke the use of the 7436regular options to do this, because they could also reset them. Now 7437this is fixed by only setting them (through |= in stead of =). 7438 74392012-09-30 22:01:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7440Update texi file 7441 7442The description of exclude-moves, multi-game ananalysis and duo-analysis 7443is added. 7444 74452012-09-30 10:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7446Resolve conflict between -mps and -inc options 7447 7448The age-old problem that a persistent valid -inc value will cause -mps 7449to be ignored is solved by the kludge of storing these two as a single 7450option (-mps) in the settings file, and declaring the other (-inc) volatile. 7451The range of negative numbers (invalid as -mps value) was available for 7452that, and now is used to store the negated value of -inc in msec. 7453For backward compatibility, specification of -inc causes interpretation 7454of -mps in the old way. The forcing of -inc to -1 in the master settings file 7455could be safely removed because of this change, so that the time increment 7456now is a persistent option. 7457 74582012-09-29 23:13:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7459Allow entry of fractional increment in WB time-control dialog 7460 7461The numeric edit is changed to a general text edit, and code is added 7462to convert the text it contains to and from float, with proper error check. 7463 74642012-09-29 23:05:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7465Preconfigure -icsNames in xboard.conf 7466 7467Although XBoard has no startup dialog with an ICS combobox, the -icsNames 7468option is now used to select lines from with the -is option, and in 7469interpretation of positional arguments. The most common ICS are configured 7470together with a short nickname, so that commands like "xboard fics" will work. 7471 74722012-09-29 22:58:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7473Allow ICS nickname as positional argument 7474 7475If an argument is encountered that is not preceded by an option name, 7476it is now first checked if it corresponds to the nickname of an ICS 7477in -icsNames. If so, it is assumed to be the value of an -is option, 7478selecting -ics mode with that ICS and all the options installed with it. 7479 74802012-09-28 20:28:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7481Cure some sick behavior in XBoard Engine Output right-clicks 7482 7483When a PV-walk is in progress, the PV is highlighted by selecting it, 7484and this focuses the attention of the scroll bar on it, so it remains in 7485view. But after release, that line was kept in view, rather than scrolling 7486back to the top of the window (where the header line bust be available 7487for clicking) 7488 74892012-09-28 13:28:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7490Allow Analyze Game to auto-step through entire game file 7491 7492If the game index is set to auto-increment (-lgi -1), the Analyze Game 7493function will automatically load the next game of the current game file 7494(starting to auto-play/annotate that) when the end of the current game is 7495reached. This flushes the annotated game if auto-saving was set, 7496so that eventually all games in the file will be annotatd and saved. 7497 The game index is automatically set to auto-increment when we load 7498a file while in Analyze Game mode, but switching this mode on while a game 7499is already loaded will stop at the end of that game, as usual (if -lgi was 7500not explicitly set). 7501 75022012-09-28 13:24:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7503Let second engine move in lockstep during dual analysis 7504 7505When the second engine is also analysing (as indicated by its stat variable 7506second.analyzing), we send all moves / undos / positions / in&excludes that 7507go to the first engine also to second. 7508 75092012-09-27 19:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7510Allow second engine to analyze too 7511 7512Clicking the Analysis menu when analysis is already in progress will 7513now toggle the secon engine to analyze the same position. For now, 7514this lasts only until the position changes (or you leave analyze mode), 7515after which the second engine is always switched off, and the Engine 7516Output window returns to single pane. Each pane now has its own header 7517line; the exclude header is suppressed in the second pane. 7518 75192012-09-27 18:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7520Add options -fe, -se, -is to load installed engines/ics from list 7521 7522The volatile string options -fe, -se ('first/second engine') load the first 7523and second engine of the given nickname in the -firstChessProgramNames list, 7524including all options that were installed with it (similar to when in 7525WinBoard the that engine line had been selected through the Startup Dialog's 7526combobox). The option -is is similarly used to retrieve the line for an 7527ICS in the -icsNames list. 7528 75292012-09-27 18:02:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7530Add check on validity of tourney participants 7531 7532Before allowing OK of the Tournament Options dialog, it is now checked 7533whether all participants (which are given as nicknames) can be found 7534in the list of installed engines, so that no problems will occurr with 7535non-existing engines during the tourney (if typos crept in after hand- 7536editing the list). 7537 75382012-09-25 16:21:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7539Implement --help option 7540 7541The list of options is printed before exiting. Some attempt is made 7542to do it in a nice way. 7543 75442012-09-23 20:10:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7545Implement variant seirawan in -serverMoves option 7546 7547Write the gating moves such that the ChessLive! viewer will understand them. 7548 75492012-09-23 20:05:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7550Workaround for FICS bug 7551 7552FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move. 7553This broke 'Upload to examine', because that uploaded in SAN. In case the 7554SAN starts with Bx or bx, it now uses long algebraic (with = before the 7555promo char). 7556 75572012-09-20 18:17:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7558Define XOP mime type for XBoard 7559 7560Supply a white-knight icon for this mime type, called application/x-xboard-opt, 7561and a sesktop file to associate it with running XBoard with this settings file. 7562 75632012-09-20 17:24:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7564Pay attention to extension of 'positional' arguments 7565 7566An argument without preceding option name was assumed to be an -lgf argument. 7567This patch still does that by default, but if the argument ends in .fen, .epd, 7568.trn, .ini or .xop it is considered an -lpf, -tf or -opt argument. 7569 In addition, an implied -lpf or -lgf argument also imply the option -viewer, 7570which inserts the -viewerOptions string into the command line, and proesses it 7571as options. A new option -tourneyOptions is similarly inserted for an implied 7572-tf argument. These strings should contain all options needed to start XBoard 7573fully configured as game viewer or tourney playing agent on the mentioned file. 7574 75752012-09-20 15:29:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7576Let windows stick to right display edge (WB) 7577 7578Auxiliary windows docked to the board window from below or to the right, which are 7579pushed out of view when the board window resizes, will be trimmed to just touch the 7580diplay edge (if sufficient width or height remains). When the board window shrinks, 7581auxiliary windows touching the edge will be resized so they remain touching it. 7582 75832012-09-20 15:20:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7584Round board size to one where piece images available (WB) 7585 7586When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not 7587available, the size is temporarily rounded to one of the sizes where they are. 7588 75892012-07-03 17:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7590Fix bug in Edit Position 7591 7592Due to = in stead of == the variant was always set to S-Chess in 7593EditPositionDone(). 7594 75952012-08-28 21:24:51 -0700 Daniel Macks <dmacks@netspace.org>: 7596bug #37210: Mishandling of X11 -I flags (tiny change) 7597 7598AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"' 7599 76002012-06-02 14:31:18 -0700 Arun Persaud <arun@nubati.net>: 7601bug #36229: changed ICS_* from define to enum 7602 7603 76042012-05-28 13:58:00 -0700 Arun Persaud <arun@nubati.net>: 7605bug #36229: changed STATE_* from define to enum 7606 7607enabling better compiler checks 7608 76092012-05-28 13:50:50 -0700 Arun Persaud <arun@nubati.net>: 7610bug #36229: changed PEN_* from define to enum 7611 7612This should allow better checks by the compiler 7613 76142012-05-28 13:01:15 -0700 Arun Persaud <arun@nubati.net>: 7615fix bug #36228: reserved identifier violation 7616 7617variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards. 7618See link in bug report. 7619 76202012-05-28 12:36:37 -0700 Arun Persaud <arun@nubati.net>: 7621Updated German translation 7622 7623 76242012-04-30 20:06:00 -0700 Arun Persaud <arun@nubati.net>: 7625new version number for developer release 7626 7627 76282012-04-24 11:23:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7629Decapitalize promoChar in move parser 7630 7631 76322012-04-23 14:12:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7633Keep track of virginity of back-rank pieces in variant seirawan 7634 7635The forelast rank of the Board array is now used in VariantSChess to 7636contain flags that indicate virginity of the back-rank pieces, one bit 7637for white, the other for black. Legality checking of gatings now makes 7638use of this info. FENs mention all virgin pieces not implied by castling 7639rights in the castling field, by printing the corresponding file IDs, 7640as long as holdings are non-empty. The FEN reader now also understands 7641this format. EditPositionDone fakes virginity for all pieces that are 7642on their starting square. 7643 76442012-04-17 19:49:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7645Suppress clear-board message after pasting FEN 7646 7647The message field is now always cleared when you leave EditPosition mode. 7648 76492012-04-17 19:45:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7650Fix faking of castling rights after editing position with holdings 7651 7652The queen-side rook was always imagined at X=0, which is in the holdings 7653when these exist, so that Q-side castling in such games was never allowed 7654after EditPosition. 7655 76562012-04-20 10:29:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7657Fix WB Engine Settings window 7658 7659The listbox patch has broken this window, by making it only list the 7660first option of the engine, by switching to the next column based on a >= 7661test rather than == test. Fixed by using 1000 as invalid value for the 7662break point, rather than -1. 7663 76642012-04-20 00:01:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7665Fix key binding of DebugProc 7666 7667The name used for binding was DebugProc, while the ite was named Debug. 7668 76692012-04-16 20:51:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7670Fix ICS Text Menu popup 7671 7672The space for the option names needed to be allocated. 7673 76742012-04-16 20:37:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7675Fix disabling of Load Engine menu 7676 7677 76782012-04-15 22:53:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7679Port chat boxes to XBoard 7680 7681A new menu item Open Chat Window is added to the View menu. It opens a 7682window that can handle 5 chats. A row of buttons on top selects which is 7683the foreground chat partner, to which we type, and whose incoming messages 7684will be displayed in the memo. The leftmost 'button' is not really a button, 7685but a text edit, and the active partner is displayed there (so it can be 7686altered). Selecting another chat partner through a button, moves that partner 7687to the text-edit, and reshuffles the buttons. Incoming messages in a chat 7688that is not foreground make the corresponding button color orange. 7689 76902012-04-16 20:27:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7691Allow chaining of single-line text-edits to top 7692 7693For the benefit of the chat window, a text-edit plus leading description 7694can now also be chained to the top edge of a dialog. The chaining of the 7695(degenerate) multi-line ICS Input Box and Move Type-In was entirely to the 7696bottom, which has now been corrected. 7697 76982012-04-12 09:30:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7699Add logo widgets in main board window 7700 7701New options -logoSize and -logoDir are added. The former enables logo display, 7702when non-zero and not too big. The latter is used by -autoLogo. The options 7703 -firstLogo and -secondLogo also work. Problem is that the clock height 7704is larger than the logo height, and for now a nasty trick in GenericPopUp 7705is used to position the next element (message field) w.r.t. the clocks, 7706rather than the last element of the row above (the logo): in case of a 7707SAME_ROW Graph element, 'last' is kept at the previous element. 7708 77092012-04-19 10:48:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7710Fix crash on time forfeit with -st option 7711 7712When fixed time per move was set from the command line, the time-control 7713strings were not set. This let to a crash when an engine forfeited. 7714The GetTimeQuota function is now made resistant to a NULL pointer here. 7715 77162012-04-19 10:39:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7717Solve WinBoard name clashes, fix zippy-analyze menu graying 7718 7719Some of the function names used in the refactored X11 front-end collided 7720with Windows system names from winboard.h, or with names of internal routines 7721in WinBoard front-end files (so they could not be declared in frontend.h). 7722These were renamed. Some prototypes in engineoutput.h contained X11 types, 7723and they were moved to xboard.h. 7724 In addition, two menu-item names were corrected to two-part names. 7725 77262012-04-18 12:00:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7727Offer primitive paging in file browser 7728 7729If there are more than 1000 files that would have to be displayed, 7730the number will be limited to 999, and a 'next page' entry will appear 7731at the bottom. Clicking that will give you the next group. 7732 This is an emergency measure only, as it interferes with sorting 7733(grouping is based on order inside the directory, i.e. kind of arbitrary, 7734and sorting is only done within a group.) There is no such thing for the 7735folder list yet. There is no way to go back to a previous page, other 7736than closing and re-opening the browser, or selecting another file type. 7737 77382012-04-18 11:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7739Add pixmap as file type known to browser 7740 7741Users can browse for a pixmap to set the board texture. 7742 77432012-04-17 15:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7744Fix warning about signedness 7745 7746Note: the promoChar in ExcludeMoves was explicitly defined to make 7747sure the kludge promoChar = -1 for indicating best move works. But it 7748should be equivalent to casting the promoChar to (signed char) just 7749before the comparison. 7750 77512012-04-17 15:44:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7752Fix warnings about character index 7753 7754 77552012-04-17 15:37:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7756Move ManProc to xboard.c 7757 7758It calls ManInner, which requires X11 data types, even if the values are NULL. 7759 77602012-04-17 15:27:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7761Move FileNamePopUp to dialogs.c 7762 7763 77642012-04-17 15:15:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7765Fix readout of numeric combobox 7766 7767As currently no numeric comboboxes are used, this bug was silent. 7768 77692012-04-17 15:10:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7770Shuffle prototypes to correct header, or add them there 7771 7772 77732012-04-17 14:15:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7774Fix MenuNameToItem 7775 7776This function could crash when called with ann argument that did not 7777contain a period, while the idea was that it should handle this as if the 7778item is in noMenu (for user-specified key binding to non-menu funtions). 7779 77802012-04-16 19:43:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7781Fix click-click under-promotion animation save 7782 7783 77842012-04-17 11:02:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7785Define TOPLEVEL in winboard.c 7786 7787 77882012-04-17 10:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7789Add two new strings to WinBoard language file 7790 7791 77922012-04-17 10:51:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7793Fix second-engine variant test 7794 7795The test whether the second engine supports the selected variant took place 7796before the second engine was loaded, thus always coming to the conclusion 7797that the variant was not supported, and aborting the TwoMachines command. 7798The test is now moved to after second-engine loading (but before its 7799initialization, where non-supporting would become a fatal error). 7800 78012012-04-16 12:11:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7802Fix clearing of ICS input box after send 7803 7804 78052012-04-16 19:08:10 -0700 Arun Persaud <arun@nubati.net>: 7806enable -Wall -Wno-parentheses for all compilers that understand them 7807 7808 78092012-04-16 13:18:37 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7810Remove 5 unused variables from zippy code 7811 7812 78132012-04-16 13:14:06 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7814Remove unused static function ShowTC 7815 7816 78172012-04-16 13:10:58 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7818Remove unused static function MenuBarSelect 7819 7820 78212012-04-16 13:07:01 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7822Remove unused variable first_entry from function find_key 7823 7824 78252012-04-16 13:01:09 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7826Remove unused variable tm from function SaveGamePGN 7827 7828 78292012-04-16 12:56:46 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7830Remove unused variable delayedKing from function QuickScan 7831 7832 78332012-04-16 12:52:57 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7834Remove unused variable pdown from function UserMoveEvent 7835 7836 78372012-04-15 04:25:59 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7838Change some double literals to floats. 7839 7840To avoid unnecessary implicit promotions of float variables to double. 7841 78422012-04-15 11:12:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7843Remove debug printf 7844 7845 78462012-04-14 22:43:03 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 7847Translate "NPS" also in engine output window 7848 7849 78502012-04-14 16:19:34 -0700 Arun Persaud <arun@nubati.net>: 7851removed unused variables (-Wunused-variable) 7852 7853 78542012-04-14 15:37:05 -0700 Arun Persaud <arun@nubati.net>: 7855added m4 directory to search path for aclocal. As suggested by Michel Van den Bergh 7856 7857 78582012-04-14 23:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7859Fix Eval Graph scale in drop games 7860 7861 78622012-04-14 23:16:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7863Fix ArrowDamage out-of-bounds access on drop moves 7864 7865 78662012-04-14 21:33:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7867Implement automatic partner observe 7868 7869Starting a game, or starting to observe one, now automatically issues a 7870'pobserve' command if dual-board is switched on, so that the partner game 7871will pop up in the secondary board (assuming it is bughouse). 7872 The secondary board now displays the players in the title. (This (lightly) 7873breaks WinBoard again.) When the primary game ends, the secondary board 7874closes automatically. Initial sizing of the board is repaired, and now uses 7875the actual current board size, rather than the initial size of the main board. 7876 78772012-04-14 15:43:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7878Fix crash due to empty PV 7879 7880Reception of a stat01 command before the first PV could cause a crash, 7881as apparently the parser cannot handle this. 7882 78832012-04-14 13:27:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7884Suppress testing for availability in bughouse drops 7885 7886Give up on testing legality of bughouse drop moves; this only causes problems, 7887because the move list sent by the ICS is not accompanied by holdings updates. 7888So XBoard parses it thinking the holdings are empty, making every drop move 7889an ImpossibleMove. Bughouse can only be played on ICS, and we might as well 7890trust the ICS that it will only pass us legal moves. A user should not be 7891able to enter illegal drops; unavailable pieces cannot be grabbed from the 7892holdings, and typing is diverted to the ICS directly (which would reject the 7893illegal drop without XBoard even knowing about it). 7894 Also improve switching to bh/zh, based on drop move in initial board. 7895 78962012-04-14 09:11:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7897Fix some compile errors / warnings 7898 7899 79002012-04-13 19:06:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7901Fix promotionPopDown on new move entry 7902 7903The promotion popup is non-modal, and old XBoard versions popped it down 7904as soon as the user clicked the board, so he could just enter a new move 7905to abort the promotion. This was broken in the new version, because the code 7906to do the PopDown and abort in HandleUserMove had not been ported. 7907 79082012-04-13 18:38:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7909Use in-place sweep-selection for click-click under-promotion 7910 7911With detour under-promotion a piece cycles through all possible choices 7912during backwards dragging. But in a click-click move there is no dragging. 7913This used to be solved by letting the second click start a drag event of 7914the default promotion choice, which you could accept by immediately 7915releasing the mouse button, or drag around to change it first. 7916 The dragging in this case seemed a little unnatural, because the to-square 7917was already indicated by the down-click. So it has been changed now to the 7918promo choice appearing on the down-clicked to-square, followed by 7919EditPosition-like sweep-selection on that square when one wants to under- 7920promote. The move is always accepted no matter where the up-click takes 7921place, except when it takes place on the from-square (which offers a last- 7922resort abort possibiliy). 7923 Note that click-click promotion is essential in variants where it is not 7924obvious from the from-square alone that a promotion is imminent, but where 7925it depends on the to-square. (Such as Shogi.) There drag-drop detour under- 7926promotion is not possible. 7927 79282012-04-13 16:05:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7929Improve arrow drawing 7930 7931The arrow is now erased together with the border highlights, by marking 7932the damage it did, and then doing a selected redraw of the board to let 7933the damaged square be re-drawn. Highlights of a previous move are now 7934cleared on the down-click that selects a new piece, so there never is an 7935arrow to infavorably interact with animation of dragging. 7936 79372012-04-13 14:57:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7938Also do selective redraw with showTargetSquares on 7939 7940The XBoard DrawPosition now also keeps track of the previous marker state, 7941and redraws squares for which thi shas changed. As a result, the routine 7942MarkTargetSquares does no longer have to force to complete redraw. 7943(Breaks WinBoard?) 7944 79452012-04-13 00:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7946Fix click-click sweep promotions to empty square 7947 7948These did not work, because DragPieceBegin would fail on an EmptySquare. 7949 79502012-04-12 23:58:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7951Move clearing of target squares to after drag end 7952 7953A dragged piece that would partly overshoot its destination into a square 7954with a marker would effectively protect that marker from erasing, when the 7955erasing was done before the piece was released, because redrawal after the 7956move only would draw the target square. (Unlike erasing, which forces a full 7957redraw.) 7958 79592012-04-12 23:49:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7960Fix double promotion popup 7961 7962Only the up-click of a click-click move gives a promotion popup now. 7963 79642012-04-12 23:32:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7965Fix promotion popup 7966 7967The new GenericPopUp did not like it if the first button had 'SAME_ROW' set. 7968 79692012-04-12 17:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7970Allow clearing of marker dots in any mode 7971 7972There might already be dots when you change to a mode where there should 7973be none, and you don't want them to stay on forever in that case... 7974 79752012-04-12 17:00:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7976Fix redraw of secondary board on flipping view 7977 7978 79792012-04-12 10:30:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7980Let clocks of secondary board count down 7981 7982The back-end now remembers what is the active clock, and the time left on it. 7983This is then decremented and updated together with the clocks of your own 7984game, using the partnerUp flag to divert the clock display to the secondary. 7985 79862012-04-12 09:47:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7987Fix 3 forgotten symbolic widget references 7988 7989 79902012-04-11 19:24:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7991Add sound files to browser menu 7992 7993 79942012-04-11 13:04:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7995Add New Directory button to file browser 7996 7997 79982012-04-11 09:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7999Detect engine exit during startup 8000 8001The case where engine startup failure does not result in a fatal protocol 8002message, like "No such file", but where it simply exits, is now also covered. 8003 80042012-04-10 22:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8005Suppress popup for fatal error after tellusererror 8006 8007For cooperating better with Polyglot, and allowing more to-the-point 8008error messaging, the (awful) default message will be suppressed if the 8009dying engine already provided an explanation for its demise to the user. 8010 80112012-04-10 20:28:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8012Fix Engine Output icon heights in international versions 8013 8014The text in a label option could not be an empty string, or it would be 8015'translated' to something of enormous size. So it is set to a space now. 8016 80172012-04-10 20:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8018Fix internationalization 8019 8020The internationalization was broken by moving the XtSetLanguageProc 8021to behind 'bindtextdomain'. 8022 80232012-04-10 20:03:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8024Make reference to board widgets symbolic 8025 8026 80272012-04-10 18:39:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8028Don't strip path from engine name if directory given 8029 8030 80312012-04-10 17:54:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8032Fix vertical chaining of Buttons and browser ListBoxes 8033 8034 80352012-04-10 15:53:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8036Fix auto-play 8037 8038The 'narrow search' modification had broken auto-play, because all selected 8039games were marked as matching position 0, so that they would all start in 8040thr opening position. 8041 80422012-04-10 13:30:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8043updated po/pot files 8044 8045 80462012-04-10 11:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8047new version number for developer release 8048 8049 80502012-04-10 13:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8051Update POTFILES.in 8052 8053 80542012-04-10 13:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8055Fix Makefile EXTRA_DIST 8056 8057 80582012-04-02 17:53:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8059Use Ctrl key in EditPosition mode to copy pieces 8060 8061 80622012-03-28 23:51:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8063Fix bug in FRC castling for position search 8064 8065In FRC it is essential that both pieces are taken off the board before 8066any of them is put back, lest they obliterate each other. 8067 80682012-03-28 12:25:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8069Fix bug on loading engine 8070 8071A newly loaded engine was put at the end of the game, rather than at the 8072current position, (which is required in EditGame mode). 8073 80742012-04-06 17:02:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8075Add 'Narrow' function to position search 8076 8077 80782012-04-06 10:52:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8079Reorganize main() a bit 8080 8081The font stuff goes into a separate routine, and the X11 stuff is 8082moved backwards as far as possible. 8083 80842012-04-04 21:55:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8085Give the dual-board option a separate board window 8086 8087The second board window pops up whenever an alien board is received 8088during your game. Moves in it are highlighted by an arrow, irrespective 8089of the 'Highlight with Arrow' setting. The clocks are displayed, but do 8090not count down. 8091 80922012-04-05 11:23:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8093Port engine grouping to Match Options dialog 8094 8095 80962012-04-05 15:18:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8097Change default directory in Load Engine to "." 8098 8099 81002012-04-05 10:49:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8101Port grouping to XBoard Load Engine Add highlight to Load Engine grouping 8102 8103 81042012-04-06 17:19:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8105Fix default file types for browse buttons 8106 8107 81082012-04-03 09:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8109New browser 8110 8111Redo file browser with GenericPopUp 8112 8113This had to solve quite some problems, because it wanted to use a ComboBox 8114option while a transient dialog could be up, was a non-engine dialog 8115while an engine dialog is up, and XRaiseWindow does not work properly. 8116 Sorting is done alphabetically, or for digit groups by numeric value. 8117 81182012-04-02 14:43:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8119Use ListBox in stead of ComboBox in Match-Options dialog 8120 8121 81222012-04-02 14:09:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8123Use ListBox in stead of ComboBox in Load Engine dialog 8124 8125Make Load Engine listbox sensitive to double-clicking 8126 81272012-03-26 17:06:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8128Add message about enabling in New Variant dialog 8129 8130 81312012-03-31 20:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8132Move LoadGamePopUp to menus.c 8133 8134 81352012-03-31 20:25:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8136Move DisplayMessage to dialogs.c 8137 8138Use the wrapper SetWidgetLabel to make it back-end. 8139 81402012-03-31 15:23:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8141Fix switching debug option during session. 8142 8143Switching on debug mode during the session did not create the requested 8144debug file. 8145 81462012-03-31 15:22:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8147Correct texi file for use of .Xresources 8148 8149 81502012-04-02 19:19:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8151Fix recent-engines menu 8152 8153A new primitive to create an item in a given menu was added to do this. 8154 81552012-03-31 10:54:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8156Switch back two two-part menu names 8157 8158The menu code is again completely changed; a handle field is added 8159to the MenuItem tables to store the widget for the item, and this info 8160is used to alter sensitivity or marking. MenuToNr is replaced by 8161MenuNameToItem, which looks up the two-level name directly in the 8162menu tables. Put all currently unused MenuProcs in noMenu table, 8163so they are available for key binding through the new method. 8164 81652012-03-24 18:36:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8166Redo main board window with generic popup 8167 8168Some of the improvements in GenericPopUp (committed earlier) were added 8169especiall for this (menu and box Option types), and the commits that used 8170them to make a fully functional board, listed below, were collapsed into 8171this one. 8172 8173This uses the new box and menu features of the Generic popup. 8174Make option table shadow board consistent with refactor 8175Do main menus in shadow board 8176 The board made by GenericPopUp now also has (functional) menus. The Expose 8177 callback now also uses the new format (passing coordinates). 8178Use BoxEnd callback to decide about smallLayout 8179 The shadow board now dynamically decides whether it should use smallLayout 8180 positioning of the title-in-window widget, using a callback in the BoxEnd 8181 option for the menu bar: If no reasonable amount of space is left behind 8182 the menu bar, the title is forced under the clocks (smallLayout). 8183Do some mouse handling on shadow board 8184 Only button 1 events for now. We have to keep track if the button is down! 8185Connect button 3 to shadow board 8186 For now only for piece and PV manipulation: no context menus yet 8187Symbolic reference in option formatting 8188choice <-> textValue xboard.c 8189Improve expose callback shadow board 8190Implement context menus of shadow board 8191 This uses the new generic PopUp option 8192TopLevel xboard.c 8193Make mock-up board available through menu item 8194Make clocks of shadow board sensitive to clicking 8195Make button bar of shadow board operational 8196 The back-end Event functions are specified as user callbacks directly; 8197 this is not very clean, as they are parameterless, but called with an int 8198 argument. This should have no bad consequences, though. 8199Switch to using shadow board as main board 8200 The menu marking and enabling had to b switched off for this, as it 8201 only worked on the old menus. Remove HandleUserMove. 8202Deleting of unused shell variables, clocks to dialogs.c 8203Move BoardPopUp to dialogs.c 8204 This required passing on fome front-end vars as parameters, and returning 8205 apointer to the option list, to make the handles available in xboard.c. 8206Simplify InitDrawingSizes 8207 Now that all widgets of the main window are properly chained, there is 8208 no need to resize them when the board format changes: setting a new width 8209 for the shell suffices. 8210Cleanup some unused Xt Args 8211 82122012-03-31 10:53:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8213Remove unnecessary menu unmarking for Edit Tags 8214 8215 82162012-03-29 19:09:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8217Split sync-after options in Match dialog into checkbox + label 8218 8219Now the checkbox texts are highlighted on hovering, we don't want the 8220explanatory text behind it to be highlighted with it. 8221 82222012-03-26 17:12:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8223Make variant-unsupported-by-second error non-fatal 8224 8225 82262012-03-23 20:06:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8227Redo Eval Graph with generic popup 8228 8229The Graph option of the GenericPopUp is used to implement the Eval Graph. 8230Compared to the previous implementation, which was drawing directly in the 8231form widget, the new one has one extra widget layer, but that did not 8232affect the code anywhere. Adapt eval title to width of eval graph. 8233 82342012-03-23 15:17:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8235Redo Engine Output window with generic popup 8236 8237A new file nengineoutput.c holds the X-independent code. This makes use 8238of new capablities of GenerciPopup, for having Label widgets on same row, 8239stacking panes after a Break, and chaining Label and Text widgets. 8240 82412012-03-21 23:00:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8242Redo Game List with generic popup 8243 8244Check in ngamelist.c 8245Redo Game List with generic popup 8246 The X-independent code (i.e. almost all) is moved to a new file 8247 ngamelist.c. 8248Make button in Game List to pop up Game List Options 8249Fix scrolling game list 8250Fix popup of existing Game List after loading file 8251Wheel-scroll game list 8252Symbolic reference game list 8253TopLevel game list 8254Put format flags with listbox options 8255 82562012-03-21 17:58:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8257Redo Game List Options with generic popup 8258 8259 82602012-04-05 21:56:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8261Add -dialogColor and -buttonColor options 8262 8263These only override system defaults if they are non-empty strings. 8264 82652012-03-28 15:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8266Add -topLevel option 8267 8268This persistent Boolean option determines if the auxiliary windows 8269(Game List, Move List, Engine Output, Eval Graph, Tags and Comment) 8270use top-level shells (with their own icon on the task bar, and 8271independently closable). Other dialogs will always use transient shells. 8272(Also he modal Error and Promotion dialogs, for which the modality 8273presumably only serves to pop them down without special attention.) 8274A control for this was added in the General Options dialog. 8275 82762012-03-20 15:30:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8277Redo ErrorPopUp with generic dialog 8278 8279<Enter> keeps popping down error popup.Multiple Error popups remeain tricky; 8280add comment to describe problem with multiple ErrorPopUps. 8281 82822012-03-20 10:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8283Redo PromotionPopUp with generic dialog 8284 8285The dialog is no longer modal. 8286 82872012-03-19 21:56:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8288Redo AskQuestion dialog with generic popup 8289 8290 82912012-03-19 21:55:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8292Major refactoring of GenericPopUp 8293 8294Allow more transient dialogs in GenericPopUp 8295Remove grab from promotion popup 8296Fix other generic popup over transient popup 8297 To use the generic dialog generator for 'asynchronous' popups (Ask Qustion 8298 or Error popup caused by engine), the currentOptions setting has to be 8299 restored for the combo and checkbox callbacks of the transient to still 8300 work after the asynchronous dialog returns. Note that only transient dialogs 8301 can have check and combo controls. 8302Make generic calcel button suppressible 8303 Also #define some more symbols for Option.min flags, 8304 and move them to dialogs.h. 8305Change TypeInProc to general OK handler 8306 The move type-in now has its own option list, to distinguish it from 8307 the ICS input box, and give it its own OK handler. Rather than having 8308 the translation for <Enter> on the text widget call TypeInEvent directly, 8309 we let it call GenericCallback, which calls GenericReadout, which calls 8310 the OK proc, which does the job. 8311 To be able to call GenericCallback from the TypeInProc, the recognition 8312 of OK and cancel buttons had to be changed. This because it was too difficult 8313 to arrange the calling widget had label OK or cancell. So these buttons are 8314 no longer recognized by name, but by the option number passed as client data. 8315 (This solves the problem that a user could not make buttons named 'cancel' 8316 or 'OK'.) 8317Make Cancel button optional 8318Fix closing multiple popups of same kind 8319 The GenericCallback figures out its own shell, so all buttons of 8320 multiple dialogs keep working. External calls to PopDown only work 8321 on the lastcreated instance of that kind, though (including those from 8322 the Delete Window button, which can do 'cross-closing'). shellUp is now 8323 a counter, and PopDowns are only prevented when it reaches 0 or the 8324 current shell does not exist. (To know this, PopDown now resets shells[n] 8325 to NULL when is shell is destroyed. 8326 Beware of double PopDowns (through OK procs); they wreck the system. 8327Fix Delete Window button of multipe ErrorPopUps 8328 The action routine for handling the Delete Window now pays attention 8329 to the shell widget that the system passes to it, and temporarily 8330 replaces shells[n] by it to let PopDown act on the proper instance. 8331Add ListBox dialog type to GenericPopUp 8332Fix vert sizing of ListBox 8333Put listbox widgets in viewport 8334Put listbox in viewport 8335Improved xoptions.c support for focussing and listboxes 8336Fix OK-row button positioning 8337Let GenericPopUp take parent and modality as arguments 8338 This makes the code a bit more explicit and less kludgy. It also becomes 8339 possible to call the same dialog (e.g. Load Options) from the main menu 8340 and from another dialog (e.g. the Game List). 8341Support scroll function for generic popup listboxes 8342Fix scrolling 8343Move HighlightWithScroll to xoptions.c 8344Change scroll algorithm 8345Add mouse-wheel scroll to generic list boxes 8346Implement tabbing between text edits 8347Implement same-row text labels in generic dialog 8348Allow labels to specify their chaining in generic popup 8349 The opt.min variable is used to specify the chaining: 0xF0 are the bits 8350 for (left, right) chaining of the left side (0xC0) and right side (0x30). 8351 The 0xC bits determine top or bottom chaining of the entire label. 8352 Without anything spcified (0), the chaining is XtRubber. 8353 TextBox options can also specify top-chaining of their top. All this was 8354 needed to allow decent implementation of the Engine Output window with 8355 the generic popup. (Although tags and comment popup ca benefit from the 8356 latter feature.) 8357Let GenericPopUp support a Graph option 8358 The Graph option results in an area where one can draw something. It is 8359 positioned / chained similar to Label options. A handler for expose events 8360 can be specified in the textValue field of the option. 8361Implement box widgets and menu buttons in GenericPopup 8362 To enhance the capabilities of GenericPopUp such that it could create the 8363 main window, it needs to be able tha packaging of controls into a box widget 8364 (for mennu and button bar). Menu buttons are also required elements 8365 (although they do look a lot like comboboxes?) Option types BoxBegin and 8366 BoxEnd can now be used to bracket a group of controls that will be put 8367 in a box widget. (Cannot be used recursively!) The positioning of the box 8368 is similar to that of a Label, and is specified in the BogBegin option. 8369 The code to shrink the menu buttons to fit is also incorporated, to act 8370 on any box widget: if the BoxBegin option specifies a width, the elements 8371 in it are shrunk to meet the requirement. Otherwise the box just gets the 8372 size of the sum of its children (plus spacings). 8373 Label options can now specify a font, casted into their textValue field. 8374 (This is needed to get the proper size for the clock widgets.) 8375Implement callback in BoxEnd options 8376 BoxEnd is a pseudo-option, to trigger packing the preceeding ones in 8377 an earlier-opened box widget. In the process it calculates the size of 8378 the box widget (and trims it if a size was specified for it in the 8379 corresponding BoxBegin). The Option.target field of BoxEnd is now 8380 interpreted as a callback, which can be use to take decisions based 8381 on the determined size for the remaining options in the list, before 8382 these are processed b GenericPopUp. 8383Refactor xoptions.c 8384 Make a subroutine to set args shared by almost all widgets. Swap meaning 8385 of '1'-bit in option.min flag of Break option, to be consistent with 8386 SAME_ROW interpretation in other option types. 8387Make option tables consistent with refactored GenericPopUp 8388 The flag for stacking in the Break option needed to be inverted, and 8389 the BoardPopUp needed to pass the font in another field. Better use was 8390 made of the improved chaining options too. 8391Improve Graph-option event handling 8392 The user-supplied callback now gets 3 arguments passed: the event type 8393 (0 = pointer motion, 1...5 button press, -1...-5 release, 10 = expose), 8394 and two coordinates. For ouse events these are the pointer (x,y), while 8395 for expose events they are the window size (w,h). The callback is now 8396 specified in the option.target field of the Graph option. 8397Store engine options in malloc'ed memory 8398 The Option.name field has been re-declared as (char*), from (char[MSG_SIZ]). 8399 There are still MSG_SIZ chars allocated irrespective of actual size, because 8400 the field is also supposed to store the textValue, which can be changed by 8401 the user. But at least it means that unused options of the generous list 8402 now don't waste much space. (And the prparated Option tables in dialogs.c 8403 will shrink by a large factor as well.) 8404Improve GenericPopUp ComboBox handling. 8405 The dialog type is now passed to the combobox callback as well, and this is 8406 used to really figure out what option it is called for. 8407Allow numeric comboboxes 8408 When no list of strings is given in Option.choice, the target is assumed 8409 to be (int), and the number of the slected entry is stored there. Also 8410 adapts the Label options that act as fillers to the new method for making 8411 dummies (namely NULL in the Option.name field). 8412Put comboCallback in Option struct 8413 Rather than having a general comboCallback variable for the entire current 8414 dialog, each ComboBox option can now specify its own callback in the 8415 target field of the option: the COMBO_CALLBACK bit of Option.min indicates 8416 whether the target is a variable to be set or a callback. The callback can 8417 still fetch the choice from the values array. 8418Allow generic CreateComboPopup also to do main menus 8419 An extra parameter to CreateComboPopup determines if the menu texts 8420 should be taken from a list of strings (the old method with engine- 8421 supplied choices), or from a menu table of MenuItems. It can now also 8422 recognize "----" as a menu break, and keeps margins (for the marking). 8423Make subroutine for determining curren combo selection 8424Various fixes to GenericPopUp 8425Delete one border-width setting 8426Fix max nr of args in GenerocPopUp 8427Fix button release events of Graph options 8428Fix generic Graph callback pointer motion coordinates 8429Make all format referencing in Option tables symbolic 8430Let Option.choice define menu texts, rather than Option.textValue 8431 This is more logical than ussing textValue for it, because choice already 8432 has the correct (char**) type, while textValue was (char*), and needed 8433 casting everywhere. Note that for engine options, the fields were the 8434 same anyway, so no back-end change was required. The textValue now 8435 contains the (casted) list of actual string values, where these are 8436 needed. (But for numeric and function menus they aren't.) 8437Add PopUp Option type 8438 An new pseudo-Option is defined, to add a popup menu to a previous Graph 8439 option. The actual popping up is done by the expose handler. 8440 The function XUngrabPointer is the key to success here. A PopUp option 8441 specifies a callback for handling the selection from the menu, which will 8442 be called with the option number, exacty as with ComboBox options. 8443Update option explanation in dialogs.h 8444Make Spin and CheckBox callbacks pass dialog number 8445 No longer rely on 'currentOptions' for getting the option belonging to 8446 the callback, but get it out of the dialogOptions array indexed by dialog 8447 type. This way things cannot be messed up by an asynchrounous error popup. 8448 It also means that it is now save for non-modal dialogs to use these options. 8449Use button widget for text behind checkbox 8450Let listboxes use general formatting hints 8451Let GenericPopUp option always finish last pane after Break 8452Allow LisBox to specify select callback in Option.textValue 8453Use double-click to trigger ListBox callback 8454Make ListBox callback re-entrant 8455Fix multi-line Label options 8456Separate CreateMenuItem out from CreateComboPopup 8457Chain checkbox texts entirely left 8458Allow a user-specified callback to Label options 8459 This is needed to implement the clocks. Let the CheckBox callback handle 8460 it. For now ther is no distinction between different mouse buttons. 8461 84622012-03-21 11:15:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8463Prevent double PopDowns 8464 8465Some DialogOK functions ordered an early PopDown themselves. This, 8466however, resulted in PopDown being called twice when they returned TRUE. 8467This interfered with the new system for allowing multiple instances of 8468the same dialog. So these functions are now fixed to suppress the 8469standard PopDown by always returning FALSE. 8470 84712012-03-20 19:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8472Split usounds.c and usystem.c from xboard.c 8473 8474X-independent code was moved to separate files. The nef file usound.c 8475contains the sound handling, which in XBoard is trivial, because it uses 8476an external player, but could be replaced by a complex one on platforms 8477that have to handle the sound themselves. 8478 The usystem.c file contains all non-X Unix-like stuff, such as fork, 8479pipe, system, getenv. I also contains some color parsing for the xterm 8480colors. This stuff could be useful on platforms that support Unix-like 8481system calls. 8482 84832012-03-26 19:03:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8484Make routine to probe shift keys 8485 8486The code to probe Alt keys was taken out of MoveTypeInProc, and extended 8487to probing Ctrl and Shift keys too. These are now returned in the 6 LSB 8488of an int by ShiftKeys(). 8489 84902012-03-19 13:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8491Remove one level of indirection on ICSInputBoxPopUp 8492 8493 84942012-04-10 10:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8495Cleanup of xboard.c 8496 8497Remove AskQuestionProc 8498A bit of cleanup on xboard.c prototypes 8499Remove dead file-browser code 8500Delete vestigial jail code 8501 All the stuff about jailColor was deleted. Only one fishy thing remains: 8502 xpmJailSquare seems under some conditions used in BlankSquare to draw a 8503 'neutral' square. it is set to a copy of a light square image. But in the 8504 current design 'neutral' means blacked out between board and holdings, 8505 and even with image use, it should not resemble a light square... 8506Remove registering of CommentPopDown and TagsPopDown 8507Merge CopyGameSelection into CopyPositionSelection 8508 85092012-03-19 11:38:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8510Move some back-endish routines from xboard.c to dialogs.c 8511 8512Move ICS input-history handling to dialogs.c 8513Move ICS Input Box text handling to dialogs.c 8514Move DisplayXxxx routines to dialogs.c 8515Move DisplayTitle to dialogs.c 8516 A wrapper SetWindowTitle remains in xboard.c. 8517 85182012-03-18 20:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8519Split back-endish part off xoptions.c, and move to dialogs.c 8520 8521Some MenuProcs for dialogs were also moved to dialogs.c from menus.c. 8522MoveTypeInProc which is an event handler for the board widget, 8523was moved to xboard.c, where it can be static. 8524 8525Identify dialogs by enum type 8526 A new header dialogs.h is created, which defines an enum type DialogClass 8527 that is now used to identify the various dialogs done by GenericPopUp. 8528 The prototypes for GenericPopUp/PopDown, and other globals shared by the 8529 dialogs code and other modules can go in here as well. 8530Remove ClearTextWidget 8531 This did the same as SetWidgetText with an empty string. 8532Split X-code from PutText 8533Split back-end part from MoveTypeInProc 8534Take set-title out of comment popup 8535Sort MenuProcs in dialogs.c with their support functions 8536Declare globals in dialogs.c with functions where they belong 8537Add prototypes to dialogs.h 8538Move prototypes and globals from xoptions.c to dialogs.h 8539Make accessor DialogExists for dialog shells 8540Add dialogs.c to makefile: compiles and runs! 8541Combine 3 calls into front-end to InitDrawingParams 8542Move EditCommentProc and ICSInputBoxProc to dialogs.c 8543Pass option list as argument to GenericUpdate and GenericReadOut 8544Shorten argument name from currentOption to opts 8545 This to prevent confusing it with the global variable of that name. 8546 85472012-03-18 15:33:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8548Declare some shared global variables in backend.h 8549 8550The vlobals twoBoards and partnerUp were only shared through an extern 8551declaration in xboard.c 8552 85532012-03-18 12:34:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8554Split back-endish part off drawing code and move to board.c 8555 8556Split DrawSquare in front-end and back-end part 8557Back-endize DrawHighlights and DrawPosition 8558 The already existing wrapper FlashDelay is used as a kludge to do an XSync. 8559 We now pass a code for the line color GC to the highight routine. New 8560 wrappers are DrawGrid() and DrawBorder(). 8561Back-endize atomic explosions 8562Back-endize DrawArrow and DrawDragPiece 8563 DrawDragPiece now calls DrawOneSquare with argument EmptySquare in stead 8564 of the X-type referring BlankSquare. A new wrapper DrawPolygon fixes 8565 DrawArrowBetweenPoints. 8566Move board-drawing logic to new file board.c 8567 All X-independent drawing logic (board, squares, arrows, highlights, 8568 some animation stuff) has been extracted from xboard.c, and moved to 8569 a new file board.c, which is back-end (but unshared with WinBoard). 8570 A new header board.h defines the cross-references (which of course 8571 required some functions to be no longer declared as static). 8572 A bit of code was moved from DragPieceBegin to BeginAnimation, which 8573 now has an extra argument to indicate which piece should appear from 8574 under a dragged piece. This makes DragPieceBegin free of XCopyArea calls, 8575 so it could be moved too. 8576Make board.c truly back-end 8577 Get rid of all X data types. For this the AnimState struct had to be 8578 redefined: the GC and Pixmap was taken out and put in front-end arrays 8579 indexed by anim agent (game and player). For this indexing a new enum 8580 was defined. The XPoint type was also replaced by our own type of an 8581 int pair (which is nasty, because the int size could be different). 8582Move more animation code to board.c 8583 85842012-03-18 10:08:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8585Contract some awful code replication 8586 8587The code for making an X-color was replicated 6 times, and is now made 8588into a subroutine. The code for creating GCs was quite repetitive as well. 8589 85902012-03-18 08:34:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8591Move more back-endish menu-related stuff from xboard.c to menus.c 8592 8593Move menu enabling to menus.c 8594 Only the wrapper EnableMenuItem stays in xboard.c. A new wrapper 8595 EnableButtonBar was necessary, because Training mode wants to enable/disable 8596 that too. 8597Move all back-endish MenuProcs to menus.c 8598 Many if the MenuProcs that could not be eliminated by listing the 8599 corresponding back-end MenuEvent function as handler directly, are 8600 still completely plactform indpendent. (E.g. when the MenuEvent needs 8601 a parameter.) These are all moved to menus.c now. 8602Convert all dead MenuProcs to using MarkMenuItem 8603 The MenuProcs for the option items that no longer exist were also 8604 converted for check-marking their item in the new way, because we 8605 might revive them for key binding. 8606Move the dead MenuProcs also to menus.c 8607Revive dead menu procs 8608Move GreyRevert to menus.c 8609Move ModeToWidgetName to menus.c 8610Move initial menu marking to menus.c 8611 8612A new function InitMenuMarkers was split off from main() to do this. 8613 86142012-03-18 08:17:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8615Switch to use of short menu references 8616 8617The prefixes menuXxxx. for the item names are abolished. This made it 8618necessary to also add a MarkMenuItem function that can handle short names 8619for putting the xMarkPixmap on the items, as the names returned by 8620ModeToWidgetName are used for both enabling and check-marking. 8621Let MarkMenu use MarkMenuItem wrapper 8622 86232012-03-17 10:47:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8624Refactor menu code, and move it to menu.c 8625 8626Supply new method for key binding 8627 It is annoying that every menu item needs its X-specific handler routine, 8628 because this handler has to be registered to X for becoming eligible as 8629 a key binding. Another disadvantage of this method is that the user wanting 8630 to make the binding has to know the name under which the menu function 8631 is registered (e.g. FlipViewProc). 8632 A new method is now made available, which uses only a single (X-specific) 8633 routine, registered with X as "MenuItem", as generic key-binding handler. 8634 The bindings can then be made by the user specifying "MenuItem(FlipView)". 8635 This requires a new list of potential bindings, which should be filled 8636 by the menu-creation routines. (Currently only contains only a predeficed 8637 example.) 8638No longer register all MenuProcs with X 8639 The list with available menu procs is moved to the user-maintained 8640 menuItemList. Only QuitProc had to stay registered with X, because it is 8641 used in CatchDeleteWindow. (So it is in both lists now.) In the future, 8642 most of the list can be built automatically from the menu tables. 8643Alter type of MenuProcs to void(void) 8644 By getting rid of the argument list with X-types, most menu procs can 8645 become back-end. In the cases of ManProc and QuitProc the original 8646 version had to be kept as well, because in ManProc the argument was 8647 actually used (with key binding), while QuitProc is used for delete window. 8648Remove now unnecessary menu wrappers 8649 Now the MenuProc have an empty argument list, those that also call a 8650 single 'MenuEvent' without arguments have become completely redundant, 8651 and have been taken out of the loop by calling the corresponding MenuEvent 8652 directly. 8653Build menuItemList from menu tables 8654 Rather than having an initialized table of name-proc associations (which 8655 used to be the X registrations) for the menu items, we now build the list 8656 during menu cration from the menu tables. The menu "ref" is now used as 8657 proc name. This means the old MenuProc names used in the predefined 8658 key bindings had to be changed to conform to this. Note that the bindings 8659 would slice up names containing spaces in several parameters, so in the 8660 translations the spaces were squeezed out of the item names. This requires 8661 a hand-written comparison routine Equal() to identify the binding. 8662Remove prototypes of deleted MenuProcs 8663Move prototypes of platform-independent MenuProcs to menus.h 8664 Create a new header file for the menu stuff, so that we can move 8665 the corresponding handler routines out of xboard.c to a back-end file. 8666Extract back-end code from menu creation 8667 The menu tables and code to interpret them is moved to a new file menu.c. 8668 Only basic fuctions for creating a pop-down list and for adding an item 8669 to it remain in xboard.c. 8670 86712012-04-07 15:59:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8672Remove some unused (exclude-moves) variables 8673 8674 86752012-04-07 15:57:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8676Install engine within current group 8677 8678 86792012-04-07 15:53:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8680Switch to using listboxes for engine-selection in WinBoard 8681 8682 86832012-04-07 15:36:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8684Implement Narrow button in WB Game List 8685 8686 86872012-04-05 15:15:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8688Silence unjust warning 8689 8690 86912012-04-04 12:18:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8692Fix memory corruption through InitString and second-engine loading 8693 8694The InitString and ComputerString options were not swapped when replacing 8695the second engine, so that the ChessProgramStates of the first engine 8696could point to an invalid (already freed) init string. Also make sure 8697that appData.directory contains its value in allocated memory, even 8698when hand-loading engines. 8699 Some of the rare options were not swapped either, and would thus 8700always be loaded for the first engine when -singleEngineList was true. 8701They are now also all reset to their default, before engine load, 8702to prevent options of one engine to linger on for a next that does 8703not specify them. The intentional exception is -firstHost. 8704 87052012-04-01 20:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8706Fix PV sorting during fail low 8707 8708When an engine reports a fail low as thinking output, and then re-searches 8709the same move with larger window, it now gets a lower score. This line 8710would then be sorted below the earlier fail low, because it was mistaken 8711for a multi-PV line for an inferior move. This patch suppresses PVs 8712overtaking each other if they start with the same move. 8713 87142012-03-30 20:09:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8715Extend smallLayout regime up to size Medium 8716 8717Because of the increase number of menus, there is not enough space for a 8718title next to the menu bar at smaller sizes. In fact it is questionable if 8719the title should ever go on the same line as the menu bar. 8720 87212012-03-30 10:38:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8722Fix parsing crazyhouse promotions with legality testing off 8723 8724With legality testing off, any promotion suffixes in a move are taken 8725'on faith'. But in crazyhouse the piece ID for normal pieces is used as 8726promotion suffix for promoted pieces, so this would Loop Chess rather than 8727Crazyhouse. Now attention is payed to presence of ID-less promotion pieces 8728(indicated by ~ in the pieceToCharTable), and if there are, these prevail 8729ovr the specified type. 8730 87312012-03-30 10:07:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8732Fix browsing for save file in WB 8733 8734The generic popup browse buttons used the wrong flavor of browser, 8735which would only accept existing files. This was inconvenient when browsing 8736for a save file. The other flavor of browser is now used by default (so that 8737engine options also use it), and a new flag is added in the option.max field 8738(which was already indicating file type) to request readonly browsing for a 8739save file. 8740 87412012-04-02 10:18:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8742Let clicking on header line exclude moves 8743 8744The exclude header in the Engine-Output window can now be clicked, to 8745toggle the exlusion of the listed move. Clicking on 'none' resets all 8746exclusions, clicking on 'best' excludes the first move of the latest PV. 8747The pseudo-move 'tail' represents all non-listed moves. 8748 87492012-04-01 22:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8750Keep list of excluded moves in Engine Output header 8751 8752As long as there is still space, excluded or included moves are added 8753to a new header line in the Engine Output window (prefixed with + or - 8754depending on whether they are currently excluded or included). Future 8755in/exclusions of that same move then alter the prefix. 8756 87572012-03-21 23:12:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8758Fix focus of Game List 8759 8760After focus was transferred to the filter text-edit, it was impossible 8761to get it back on the game list (to make the arrow keys working again). 8762A translation to left down-click is now used to assign focus, just as 8763it would for text edits. For unknown reason this only worked if the 8764translations were instated by Overriding, rather than Augmenting, 8765which again required the normal translation of downclick, Set(), which 8766selects the clicked item, to be explicitly mentioned as well. 8767 87682012-03-16 22:41:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8769Fix taking effect of some option changes 8770 8771This fixes a bug reported at Ubuntu: when switching off move highlighting 8772in Two Machines mode, the last move before the switch stayed highlighted. 8773The GeneralOptionsOK() now clears any remaining highlights when highlighing 8774is off. Similar problems with blind-fold mode and coordinates, which require 8775a total board redraw to take effect, are now solved by also forcing such a 8776redraw in GeneralOptionsOK() when they change. 8777 87782012-03-16 21:58:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8779Add exclude and setscore to protocol specs 8780 8781 87822012-03-16 14:47:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8783Fix clock stop after dragging 8784 8785DelayedDrag always cancelled the previous drag timeout event, even when 8786this was no longer pending because it had already taken place, and the 8787event ID was resused by some other timeout (usually a clock tick). 8788 87892012-03-14 21:06:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8790Implement exclude moves 8791 8792Dragging a piece by double-clicking it on the from-square in analysis mode 8793will not perform the entered move, but send an exclude or include command 8794to the engine for that move (provided the engine enabled this with 8795feature exclude=1), depending on if the move was already excluded or not. 8796To this end a map of excluded moves is kept, and cleared when we move to 8797another position through moving, undo, setboard or new. The user can see 8798whether he included or excluded the move, as exclude uses premove highlights. 8799 Commands "exclude|include all" are sent when we throw a double-clicked 8800piece off board (vertically or horizontally, respectively), but after 8801exclude all the most recent PV move is included again. 8802 Remaining problem is that promotions can only be excluded. 8803 88042012-03-14 15:13:18 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 8805Mark new text "Click clock to clear board" for translation 8806 8807 88082012-03-13 21:46:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8809More thorough switch to -ncp on engine failure 8810 8811The ProcRef and InputSource are now also cleared, and just to be sure there 8812are no surviving adapters, the child is killed when engine startup fails. 8813 88142012-03-13 21:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8815Install engines as ./exefile in XBoard 8816 8817When a path name is split into directory and filename, the latter in Linux 8818must be preceded by ./ in order to make it executable in the directory 8819XBoard starts it in. 8820 88212012-03-13 14:11:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8822Inform user in EditPosition mode how to clear board 8823 8824With -pieceMenu false the board is cleared by clicking the clock, but 8825since this is impossible to guess, it is now printed in the message field. 8826 88272012-03-13 14:06:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8828Fix fall-back on -ncp mode 8829 8830When the requested engine could not be started, the user still had to 8831wait for the feature timeout to expire before the UI was re-enabled, 8832and the now-useless loading action would continue. In stead we now 8833cancel any scheduled continuation, thaw the UI immediately, and switch 8834the menus and gameMode to ncp straight away. 8835 88362012-03-10 18:55:24 -0800 Arun Persaud <arun@nubati.net>: 8837updated po/pot files 8838 8839 88402012-03-10 18:54:32 -0800 Arun Persaud <arun@nubati.net>: 8841new version number for developer release 8842 8843 88442012-03-06 16:37:02 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 8845Fix typo (seach) in string. It is already fixed in branch v4.6.x 8846 8847 88482012-03-04 14:52:34 -0800 Arun Persaud <arun@nubati.net>: 8849added some documentation about what's need to be done for a release and a bash-release script 8850 8851 88522012-02-28 21:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8853Fix suspected bug in Makefile 8854 8855 8856 8857 88582012-02-26 18:55:10 -0800 Arun Persaud <arun@nubati.net>: 8859add information about our webpage and were to report bugs into the help menu 8860 8861 88622012-02-26 18:40:27 -0800 Arun Persaud <arun@nubati.net>: 8863fixed "make install-pdf": missing target for recursive make in po directory 8864 8865 88662012-02-26 23:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8867Suppress recent-engines menu items in ICS mode 8868 8869 88702012-02-26 22:45:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8871Fix 50-move counter in ICS mode 8872 8873Marking irreversible moves in the EP_STATUS did not work in ICS mode, 8874as ApplyMove,which did that is never executed there. Only the boards 8875sent by ICS are displayed,especially in observing mode. Now the status is 8876derived from the ICS mov strings (x in the SAN move, or P in the long move. 8877 88782012-02-26 17:18:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8879Fix two 64-bit warnings 8880 8881Passing the engine number in a pointer variable to the callback needed 8882a two-step cast. 8883 88842012-02-26 16:53:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8885Fix piece symbols on switch back to variant normal 8886 8887Variant switches were not properly detected, meaning the variable pieces 8888could keep a form belonging to a previous variant. (E.g. Queen remained 8889a Lance image after switching from shogi to normal.) 8890 88912012-02-26 14:07:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8892Keep XBoard windows attached on resize 8893 8894Windows attached to bottom or right are displaced with the size increase. 8895Their perpendicular dimension is also scaled, to keep their edges at the same 8896fraction of the main window, unless they stick out. In the latter case the 8897fraction is clipped to 1, so that edge moves with the full size increase. 8898 88992012-02-25 22:40:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8900Implement -stickyWindows in XBoard 8901 8902This makes the auxiliary windows move with the main window when they were 8903touching, as in WinBoard. A control is added in the General Options dialog. 8904 89052012-02-25 21:14:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8906Use more reliable X-call for getting window position 8907 8908XtGetValues on XtNx, XtNy is unreliable. XGetWindowAttributes seems 8909to give more reliable results, and automatically accounts for the width 8910of window dressing. The -frameX/Y options are no longer needed bcause 8911of this, and were removed. 8912 89132012-02-25 11:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8914Make frame width configurable in XB 8915 8916New persistent options -frameX, -frameY now can be used to specify 8917the amount by which Xt lies about the window coordinates. 8918 89192012-02-23 20:01:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8920Use combobox line for recent engines when available 8921 8922The entry made in the -recentEngineList for the startup engine was 8923derived from the -fcp value, but this would ignore a possible nickname. 8924In WinBoard we now use the full combobox line to derive the entry. 8925 89262012-02-23 09:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8927Fix translation of EngineOutputTitle WB 8928 8929 89302012-02-23 01:34:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 8931Updated Danish translation 8932 8933 89342012-02-23 00:59:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 8935One missed translation of cps->which 8936 8937 89382012-02-22 19:58:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8939Undo translation of cps->which = first/second 8940 8941The string in cps->which should not be translated, because it goes into 8942the debug file to label engine I/O, and many tools for processing 8943debug files (broadcasters, PGN extractors) rely on this being "first" or 8944"second". In all contexts where "first" and "second" need to be translated, 8945cps->which itself is already enclosed in _(). 8946 89472012-02-22 18:27:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8948Implement -serverFile option 8949 8950This writs an extra debug file with only engine communiation on it, 8951for the benifit of programs like TLCS. 8952 89532012-02-22 17:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8954Implement -autoCopyPV 8955 8956This option causes automatic copying of the last position of a PV walk 8957to the clipboard. 8958 89592012-02-16 14:58:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8960Delete some load-game debug printing 8961 8962The debug printing in Disambiguate was no longer needed. The printing 8963of the started process in XBoard that went to stderr is now diverted 8964to debugFP, so it ends up in the debug file. 8965 89662012-02-16 14:41:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8967Move change of debug file to before game load 8968 8969Loading a game from -lgf is done before TwoMachinesEvent is called, 8970but logically belongs to the game. So the code to switch to the new 8971debug file for the game is moved to NextMatchGame now. 8972 89732012-02-16 14:09:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8974Fix button grab for sweep selection 8975 8976The piece-menu initialization limited the grab of button events to those 8977occurring inside the board window (presumably intended to limit them to 8978the piece menu, but that does not pop up in sweep-selection mode). 8979This is now suppressed when -pieceMenu is off, so that selection continues 8980outside the the board. (Which is very convenient for pieces pu close to the 8981edge.) 8982 89832012-02-16 13:16:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8984Don't leave piece selected after piece menu 8985 8986PieceMenuEvent left the just introduced piece selected, which is almost 8987never what one wants, as it makes it jump to the next square when selects. 8988Which is especially annoying if it captures the piece you wanted to grab... 8989 89902012-02-16 12:57:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8991Fix use of middle button for position setup 8992 8993With sweep selection the actual drop is made on releasing the button, 8994and this event was not caught for button 2. Button-2 motion events were 8995also not caught by the sweep-selection handler. 8996 89972012-02-16 23:53:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 8998Fix one more typo in the translator comments explaning "first" and "second" 8999 9000 90012012-02-16 23:39:32 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9002Fix typo in translator comments explaning "first" and "second" 9003 9004 90052012-02-16 23:23:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9006Add args.h to POTFILES.in and change the interface to ExitArgError() so msg is c format string 9007 9008Having msg as a format string will ease translations because then 9009badArg doesn't have to come last. 9010 90112012-02-16 22:51:44 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9012Mark the strings "first" and "sencond" for translation. 9013 9014... and assign the translated strings to cps->which in function InitEngine() 9015 90162012-02-16 18:42:10 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9017Use ngettext() instead of gettext() for a string to allow better translation. 9018 9019 90202012-02-16 00:19:59 -0800 Arun Persaud <arun@nubati.net>: 9021translation: updated uk.po 9022 9023 90242012-02-15 20:59:09 -0800 Arun Persaud <arun@nubati.net>: 9025modified configure and makefile for handling mimedb update 9026 9027the default configure will install them using the xdg commands (if they exist on the system) 9028 90292012-02-13 22:29:48 -0800 Arun Persaud <arun@nubati.net>: 9030add configure test for xdg-programs to install mime types; can be disabled for building of e.g. rpms 9031 9032in case the target system doesn't have the xdg-programs available, we test for them. 9033Distributions often have their own macros to install these, so we add an enable option to configure 9034 90352012-02-13 22:05:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9036Remove a debug printf 9037 9038The parsePV debug printf becomes extremely verbose with -fSAN, -sSAN, 9039so it was deleted. 9040 90412012-02-12 22:18:24 -0800 Arun Persaud <arun@nubati.net>: 9042new developer release 9043 9044 90452012-02-12 22:19:37 -0800 Arun Persaud <arun@nubati.net>: 9046updated po/pot files 9047 9048 90492012-02-12 22:17:03 -0800 Arun Persaud <arun@nubati.net>: 9050updated Changelog, NEWS, etc. 9051 9052 90532012-02-12 07:52:54 -0800 Arun Persaud <arun@nubati.net>: 9054translation: updated uk.po 9055 9056 90572012-02-12 11:38:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9058Leave height of row that only contains buttons free 9059 9060All elements of the GenericPopUp are still scaled to the text height, 9061including buttons appended behind them (browse or color buttons). 9062But we now make an exception for a row that only contains buttons, 9063as there is no harm in it being a little higher (and the buttons look 9064prettier that way). 9065 90662012-02-12 00:01:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9067Fix OK button of error popup 9068 9069The error dialog popped up as a child of the board window, even when 9070DisplayError was called from a dialog. Now it checks if a transient 9071dialog is up, and if so, it pops up as a child of that, grabs focus, 9072and suppresses the system popdown of the transient dialog through a flag 9073dialogError until it is popped down itself. 9074 90752012-02-11 20:07:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9076Update texi file 9077 9078 90792012-02-11 10:18:02 -0800 Arun Persaud <arun@nubati.net>: 9080added some comments for translators 9081 9082 90832012-02-11 10:08:46 -0800 Arun Persaud <arun@nubati.net>: 9084fixed comments for translators: comments starting with TRANSLATORS: are now copied to the po file 9085 9086 90872012-02-11 19:01:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9088Also configure sweep selection 9089 9090To make sure this feature is tested, we set -pieceMenu false in the 9091master settings file. 9092 90932012-02-11 18:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9094Fix date in copyright notice about-box 9095 9096 90972012-02-11 17:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9098Fix switching animation masks on variant switch 9099 9100The masks for variant-dependent piees (E,H in Seirawan, promoted Golds 9101in Shogi, the Gothic Chancellor) were no longer updated in InitDrawingSizes 9102because of the patch to reduce X-server calls. 9103 91042012-02-11 16:46:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9105Configure wider game list 9106 9107The game list was by default too small, so that there was no room for the 9108filter field. Now a width of 500 is specified, whcih works at -size 49 9109as well as 72. 9110 91112012-02-11 16:29:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9112Fix button chaining and combo/textbox label height 9113 9114Previous patches forgot to specify the height for the text labels on 9115-combo and -text options, so they were still too high. Buttons that go 9116on the same line as the previous element should be chained right, not rubber. 9117 91182012-02-11 15:52:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9119Make -pgnNumberTag option setable from menu 9120 9121The Save Options dialog now containes a checkbox for this. 9122 91232012-02-11 15:48:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9124Configure some new features switched on 9125 9126The master settings file switches -showTargetSquares, -sweepPromotions 9127and -seekGraph on, so that they will get more testing. 9128 91292012-02-11 14:43:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9130Fix heigth of multi-line labels 9131 9132The previous height patch overlooked that some labels are multi-line, 9133and need more height. 9134 91352012-02-11 14:10:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9136Fix popdown seekgraph on forward-event XB 9137 9138Only the grid was drawn when the > or >> button were operated, because 9139a full redraw was not forced by ForwardInner. The recent patch to take 9140the seek graph down on such events did not account for that. (BackwardInner 9141always seems to do full redraw, however?) 9142 91432012-02-11 12:59:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9144Put front-end support for -recentEngines in XBoard 9145 9146The engines are added to the menu. Problem is still that in XBoard 9147startup engines are given by command, rather than selected by combobox, 9148so the command rather than the nickname ends up in the menu. If this is 9149then selected, it cannot be found in the list. To limit the damage, 9150Fairy-Max is now pre-installed without nickname. -recentEngines is now 9151configured to 4. 9152 91532012-02-11 11:53:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9154Better solution to button-height problem 9155 9156In stead of adapting the height of text widgets to that of buttons, 9157(as represented by the message widget), we now do the opposite, and 9158adapt the button & label heights. This is made safe by obtaining textHeight 9159from the fontSet's max_logical_extent, though an XExtendsFontSet() call. 9160Turns out the default height of text widgets is not exactly that, but 91614 pixels larger for borders and margin. 9162 The parameter XtNvertDistance is now used to align the checkboxes with 9163the following text widget, and their size is derived from textHeight as 9164well. 9165 The XtNvertDistance is set to -1 for the lower spin button, so that it 9166its border coincides with that of the upper spin button. Their height is 9167set to textHeight/2. This makes their combined height just 1 pixel more 9168than that of the preceeding text widget. (Uh? 2 x tw/2 -1 > tw?), so for 9169other buttons we use that too (i.e. textHeight = font_extent + 5). 9170 91712012-02-10 22:39:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9172Fix warning 9173 9174Deleting debug printing had made a variable unused. 9175 91762012-02-10 22:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9177Fix sleeping bug 9178 9179The text-edit-height patch introduced a bug that did not have any consquences 9180(yet), as the extra arg erroneously included leftover from a previous 9181SetValues call happened to be the same as one of the intended args. 9182 91832012-02-10 20:51:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9184Fix unloading of first engine on tourney start 9185 9186Because NextTourneyGame was loading a new engine before ReserveGame was 9187called to unload it with dummy game nr = -1), the first engine proc kept 9188hanging. 9189 91902012-02-10 18:39:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9191Remove some of the most verbose debug output 9192 9193 91942012-02-10 17:46:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9195Delete some unused WinBoard bitmaps 9196 9197There waere up-side-down knight icons that apparently hid by mistake 9198in the bitmaps directory: they were not part of WinBoard 9199 92002012-02-10 17:39:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9201Cosmetic: change 4.5 to 4.6 in xboard.conf comment 9202 9203 92042012-02-10 17:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9205Fix crash on empty combobox menu XB 9206 9207XBoard crashed when a combobox without items was opened, as could easily 9208happen in the Load Engine dialogs when -firstChessProgramNames contained 9209no items, as it would without configuring. Now the creation of the popup 9210menu is suppressed in that case. 9211 92122012-02-10 17:13:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9213Fix position of checkbox XB 9214 9215With the large height the widget get in internationalization, the 9216checkboxes are position way too high above the text. To shift them down 9217a dummy borderless label widget is drawn above them (when needed). 9218 92192012-02-10 15:07:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9220Fix heights in Engine Output window XB 9221 9222The icons did not fit in the space above the memos anymore, so the height 9223of this area is now left free. 9224 92252012-02-10 14:55:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9226Derive height of text-edits in dialogs from message widget 9227 9228With internationalization the default height of buttons has inexpliquably 9229inreased compared to that of text-edits, messing up the layout of the 9230GenericPopUp. The message widget is now used as a emasure of how high 9231the widgets should be. 9232 92332012-02-10 14:21:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9234Configure XBoard engines and textures 9235 9236The new -useBoardTexture option is needed in xboard.conf, as we want to 9237distribute with the texture on, while the compiled-in default is off. 9238A list of 4 engines has been configured (fairymax, fruit, crafty, gnuchess), 9239as the Load Engine and Match Options checkboxes crash XBoard when the list 9240is empty. The -recentEngines option is set to 0 to make sure the code 9241associated with it is never executed: the code is still experimental, 9242and the required front-end support is only present in WinBoard anyway. 9243 92442012-02-10 13:30:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9245Update Dutch WinBoard translation 9246 9247 92482012-02-10 13:18:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9249Create room in some WB dialogs for translations 9250 9251 92522012-02-10 13:17:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9253Add 5 missing strings to WinBoard translation template 9254 9255 92562012-02-09 23:03:58 -0800 Arun Persaud <arun@nubati.net>: 9257new developer release 9258 9259 92602012-02-09 23:04:46 -0800 Arun Persaud <arun@nubati.net>: 9261updated po-filies 9262 9263 92642012-02-09 22:59:05 -0800 Arun Persaud <arun@nubati.net>: 9265updated Changelog, NEWS, etc. 9266 92672012-02-09 22:44:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9268Fix non-bug in WinBoard 9269 9270The IDM_RecentEngines was not used in symbolic form everywhere. 9271 92722012-02-09 18:46:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9273Fix MAXENGINES in WinBoard 9274 9275The front-end arrays for expanding the engine list measured 1000 entries, 9276in stead of MAXENGINES, leading them to overflow. 9277 92782012-02-09 13:05:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9279Implement kludge to set options through Move Type-in 9280 9281A leading "!!! " will cause the rest of the line to be parsed as 9282command line. Very dangerous, as an unknown option (e.g. because of a typo) 9283will cause a fatal error, which makes XBoard exit. 9284 92852012-02-09 13:04:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9286Put move number in Eval Graph title 9287 9288 92892012-02-09 13:00:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9290Implement -pgnNumberTag option 9291 9292A new (persistent) boolean option controls if the sequence number is to 9293be written in saved tourney games as a Number tag, to make it easier 9294to correlate games with debug files. 9295 92962012-02-09 12:55:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9297Create separate debug fil for each tourney game 9298 9299Users can now apecify a -debugfile with %d in its name, and this will 9300be replaced by the sequence number of the game. TwoMachinesEvent then 9301starts by opening a new file when the name has changed, so that each 9302game will go to a different file, with recognizable name. 9303 93042012-02-09 12:51:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9305Fix bug in WB combobox readout 9306 9307The previous patch exposed a latent bug in the readout of the generic popup. 9308 93092012-02-08 23:25:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9310Allow grouping of engines in engine list 9311 9312Lines "# GROUPNAME" and "# end" enclose a group in -firstChessProgramNames. 9313 93142012-02-08 17:47:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9315Fix TidyProgramName 9316 9317A trailing .exe was not removed if the engine name was quoted. 9318 93192012-02-08 17:45:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9320Put recently used engines in WB menu 9321 9322A new option -recentEngines specifies how many engines should be listed. 9323The list of nicknames is stored in the ettings file as -recentEngineList. 9324The engines are appended to the Engine menu. 9325 93262012-02-04 19:37:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9327Fix registering of EditTagsProg 9328 9329This was registered with X as EditCommentProc! 9330 93312012-02-07 23:04:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9332Increase max nr of engines to 2000 9333 9334Move the #define for MAXENGINES also to common.h, so that both the 9335Load and Tourney dialog use the same maximum. 9336 93372012-01-19 23:01:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9338Fix fix of switch to mono-mode 9339 9340The previous fix had == in stead of != for testing if mono-mode had changed. 9341 93422012-01-19 22:21:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9343Make New Variant dialog visible in mono-mode 9344 9345All colored buttons did get a black background, and also black text... 9346Use timer background color in stead, which is white. 9347 93482012-01-19 20:48:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9349Incease size of WB array of translated items 9350 9351For the BoardOptions dialog 42 items are now needed 9352 93532012-01-19 17:18:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9354Implement Clone Tourney button XBoard 9355 9356This makes use of the new GenericUpdate(). 9357 93582012-01-19 16:34:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9359Implement GenericUpdate function 9360 9361This does the opposite from GenericReadout: it copies the current 9362parameter values into the dialog. 9363 93642012-01-19 12:19:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9365Fix arrow damage with highlightDragging XB 9366 9367With highlight dragging the highlights of the previous moves are cleared 9368when lifting the piece. Logically, this should also clear the arrow, but 9369to do that requires a board redraw, which is not done at this stage. (And 9370even then this would only be effective after marking the arrow damage, 9371which is not done yet either). As a temporary fix, we repair the arrow 9372by redrawing it. 9373 This patch has moved marking of the arrow damage from DrawArrowHighlight 9374to a separate routine, so a future better fix can also call that when the 9375arrow should be erased. 9376 93772012-01-18 16:01:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9378Prevent unnecessary loading of engines 9379 9380For engines that can be reused, the unloading at the end of a pairing 9381is in some cases wasteful, as the same engine will be used in the next 9382pairing as well. In simple gauntlets the gauntlet engine will always 9383stay first engine, while in multi-gauntlets the oppent engine will stay 9384the same for an entire round. In these cases unloading is now suppressed. 9385 93862012-01-17 22:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9387Reset protocol version before loading new engine 9388 9389The protocol version was not reset, so if the previous engine was v1, 9390the newly loaded engine would not be sent a protover command, so 9391that its features would remain unknown! 9392 93932012-01-17 19:33:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9394Give focus to board window after ICS login 9395 9396toprevent that the focus remains on any popped up chat boxes, it is 9397explicitlly set otherwise. The board window is preferred over the 9398ICS interaction window, because you can type from there to the ICS anyway, 9399and it makes all accelerator keys available. 9400 94012012-01-16 14:37:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9402Fix seek-graph popup and popdown 9403 9404Clicking outside the board area in WB (e.g.on the clocks) would also 9405trigger seek-graph 'popup'. This is now suppressed by testing for 9406y-coord > 0. In addition, the seek graph is automaticaly taken down 9407when we step to another position in the current game (using buttons, 9408arrow keys or whatever). 9409 94102012-01-15 21:29:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9411Suppress empty lines when observing on VICS 9412 9413Capture of the engine kibitzes when observing an engine game with 9414-autoKibitz on was still leaking a linefeed on the Variant ICS 9415(but not FICS or ICC!?). 9416 94172012-01-15 21:24:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9418Fix printing non-numeric kibitz with -autoKibitz 9419 9420Messages that were not considered kibitzed engine PV info for lack of 9421numeric content, were kibitzed as coming from "your opponent", which 9422is nonsense if you were iobserving, and masked the source. Fortunately 9423star_match[0] is still holding the original name, at that point. 9424 94252012-01-11 17:33:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9426Fix 4 warnings 9427 9428 94292012-01-11 17:00:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9430Use same translation of "vs." everywhere 9431 9432 94332012-01-11 17:08:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9434Add new translations to WB language file 9435 9436 94372012-01-11 16:20:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9438Fix re-allocation of PGN-cache memory 9439 9440It allocated 8 times too much! 9441 94422012-01-11 12:47:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9443Fix height board dialog 9444 9445 94462012-01-11 12:34:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9447Enable WB time-control dialog even when no clock mode 9448 9449The dialog could be called from the tournament dialog to set a TCfor 9450the tourney even when currently in game-viewer mode, so it'd better work. 9451 94522012-01-11 12:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9453Exempt variant seirawan from -disguisePromoted inheritance 9454 9455This is not a variant where promoted Pawns have to be distingushed 9456from primordial pieces, as captured pieces do not go into the holdings. 9457 94582012-01-09 21:23:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9459Add control for overrideLineGap in WB Board dialog 9460 9461Make it a checkbox to choose between 0 and -1. 9462 94632012-01-09 20:56:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9464Add Ctrl-D as alternative to Ctrl+Alt+F12 in WinBoard 9465 9466The acellerator key Ctrl+Alt+F12 seems reserved on Windows 7. 9467 94682012-01-09 20:52:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9469Fix seek graph for VICS 9470 9471The sought command on the open-source ICS code is ICC-like (no terminating 9472line), although the server is FICS like. So also accept prompt as seek-graph 9473trigger on FICS. 9474 94752012-01-09 20:27:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9476Open WB startup chat boxes only after logged on 9477 9478The init code for opening the chat boxes ismoved to DisplayIcsTitle(). 9479 94802012-01-07 20:31:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9481Install mime types directly 9482 9483 94842012-01-07 20:29:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9485Install desktop files directly 9486 9487 94882012-01-07 20:19:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9489Install icons directly 9490 9491Rather than letting make-install copy the pixmaps to the XBoard data 9492directory they are installed directly from the source files. The name 9493of the TRN icon was also corrected and changed. 9494 94952012-01-05 18:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9496Update texi file and remove duplicate control 9497 9498Some missing option descriptions were added. The highlight-dragging 9499control was removed from the General Options dialog, as it did the same 9500as Show Target Squares. -highlightDragging wa changed to a volatile option 9501with default value true, making it effectively disappear as an XBoard 9502option. (In WinBoard it is still persistent.) 9503 95042012-01-05 15:55:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9505Remove the direct commands to the engines 9506 9507 95082012-01-05 21:15:11 -0800 Arun Persaud <arun@nubati.net>: 9509forgot to list new desktop files in EXTRA_DIST section in Makefile.am 9510 9511 95122012-01-05 20:08:23 -0800 Arun Persaud <arun@nubati.net>: 9513added some autogenerated po files to .gitignore 9514 9515 95162012-01-05 20:05:44 -0800 Arun Persaud <arun@nubati.net>: 9517added desktop and mime-type association to autoconf install process 9518 9519This should install and uninstall the mime assocciation and also the icons. 9520Also renamed the desktop files to avoid possible name collisions. 9521 95222012-01-03 21:30:59 -0800 Arun Persaud <arun@nubati.net>: 9523code cleanup: make function definition confirm to GNU coding style 9524 9525change everything in the main directory to 9526 9527void 9528funcname (int a, int b) 9529 9530format 9531 95322012-01-03 18:43:18 -0800 Arun Persaud <arun@nubati.net>: 9533Updated copyright notice to 2012 9534 9535 95362012-01-03 21:32:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9537Implement -viewerOptions 9538 9539A mechanism is added to allow the user to configure persistently if the 9540game viewer that starts on clicking PGN files will use -ncp mode, or 9541load an egine for analysis (or, in fact, do anything). This by introducing 9542a persistent string option -viewerOptions, which will be parsed as a 9543command line after the real command line when the option -viewer was present. 9544 95452012-01-03 11:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9546Fix crash in auto-comment 9547 9548Trailing linefeeds in AppendComment were not properly stripped off, 9549leading to a mismatch between the allocted and used memory, and thus 9550possible buffer overruns. 9551 95522012-01-02 23:46:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9553Fix crash at match end 9554 9555The -afterTourney option had broken old-style matches, because the ranking 9556string that was tested for "busy" is not set there at all, and remains a 9557NULL pointer, which strcmp doesn't like. 9558 95592012-01-01 19:56:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9560Add desktop files for PGN viewer and tournament player 9561 9562The desktop files define startup commands for handling PGN, FEN and 9563tourney files, calling xboard with the proper command-line options. 9564 95652012-01-01 19:53:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9566Add xml file for defining mime types 9567 9568The file xboard.xml defines application/x-chess-pgn, aplication/x-chess-fen 9569and application/x-xboard-trn as mime types for *.pgn, *.fen and *.trn files, 9570so these files can be associated with XBoard in various modes. 9571 95722012-01-01 19:41:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9573Add icons for PGN and tourney files 9574 9575Icons are provided in two sizes: 32x32 and 48x48. 9576 95772011-12-29 19:55:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9578Clear square markers on new game 9579 9580Now that the markers can stay on after a first click, they need to be 9581explicitly cleared when moving to another board, including a new game. 9582 95832011-12-29 15:51:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9584Abandon single-letter menus in tinyLayout 9585 9586Now that the items on the main menu bar are clipped, it iso longer 9587necessary to abbreviate them. 9588 95892011-12-29 15:38:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9590Implement peeking previous position in WinBoard 9591 9592The backspace key is used to temporarily display the previous position. 9593 95942011-12-29 15:32:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9595Fix parsing of faulty PGN tags 9596 9597A closing bracket could be missed in a malformed tag 9598 95992011-12-29 15:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9600Fix parser for variant seirawan 9601 9602The new parser didnot understand gating suffixes with /, and did not 9603allow any suffix at all on SAN castling moves. 9604 96052011-12-28 22:32:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9606Try to not confuse ICS rating adustments as shouts 9607 9608An explicit pattern match for the rating adjustment is added before 9609matching the shouts. 9610 96112011-12-28 22:21:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9612Describe -overrideLineGap option in texi file 9613 9614 96152011-12-28 22:03:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9616Use <Enter> in stead of Ctrl+. for peeking last move 9617 9618I commented out the explicit detection of the Ctrl key, as this 9619is not needed when there are no 'unnatural' Ctrl keystrokes used 9620for binding. 9621 96222011-12-28 19:37:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9623Next try for menu-bar sizing 9624 9625This time request the width needed to just fit everything, and then start 9626shaving off pixels from the currently largest until the entire thing fits. 9627 96282011-12-28 15:17:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9629Clip texts on menu bar 9630 9631The width of the items on the main menu bar is restricted so the bar 9632will never exceed board width. 9633 96342011-12-28 14:01:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9635Fix format in temporary timing printf 9636 9637 96382011-12-28 13:38:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9639Don't test drops as mate evasions in variant seirawan 9640 9641 96422011-12-28 13:36:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9643Fix ICS castling rights 9644 9645Copying the castling rights together with CopyBoard seems to have 9646broken handling of ICS rights, where ParseBoard12 prepares a board 9647in a local variable, an copies it before parsing the rights. 9648 96492011-12-28 13:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9650Fix initial holdings ICS seirawan games 9651 9652 96532011-12-27 18:31:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9654Fix sending of S-Chess gating moves to ICS 9655 9656Normal moves did not get the gating suffix sent. 9657 96582011-12-27 17:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9659Fix menu grayout after illegal move 9660 9661TheThinkingEnables were not reset to user state after the engine rejected 9662the entered move as illegal. 9663 96642011-12-27 13:26:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9665Allow setting of holdings with edit command 9666 9667For the benefit of Fairy-Max' Seirawan Chess implementation, the edit command 9668no also sends holdings contents (if the engine sent feature xedit=1), encoded 9669as pieceType + '@' + holdingsCount (if the count is non-zero). 9670 96712011-12-24 17:54:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9672Fix out-of-bounds access in check test 9673 9674Thepath to make the check test work with drops had broken the test 9675after null move (both have rf<0), which led to corruption of the high 9676word of the black clock. 9677 96782011-12-24 17:51:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9679Fix legality of Spartan promotion to king 9680 9681In the check test promotion to King is only allowed if there are not 9682yet 2 kings. 9683 96842011-12-21 22:17:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9685Fix switching back from mono-mode XB 9686 9687Suppressing unnecesary X-server calls in InitDrawingSizes had broken 9688switching back from monoMode, because the animVars have to be recreated 9689for that, and this was only done when the variant changed. 9690 96912011-12-21 22:09:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9692Fix showTargetSquares in mono-mode XB 9693 9694Make the marker dots black (captures) and white, and draw a circle 9695in the opposite color around them in monoMode. 9696 96972011-12-21 22:00:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9698Fix arrow highlighting in mono-mode XB 9699 9700Draw a line around it in darkSquare color in monoMode. 9701 97022011-12-21 17:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9703Fix alignment of generic browse button XBoard 9704 9705The width ofthe browse button is now read back after creating it, 9706and subtracted from the preceding text edit. 9707 97082011-12-21 14:41:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9709Add -afterTourney option 9710 9711Only the instance pinting the tourney result will execute this. 9712 97132011-12-22 21:01:43 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9714Fix buffer possible overflow when writings tags 9715 9716PGNTagsStatic() could overflow its buffer and is removed. PGNTags() do the work instead of calling it. 9717It starts by calculation the required buffer size and then allocate the buffer. 9718PrintPGNTags() now prints directly to the file without having a buffer. 9719 97202011-12-22 15:01:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9721One more string marked for translation 9722 9723And it is moved inside the if statement that uses it. 9724 97252011-12-22 14:30:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9726Fix checking of return value from snprintf() 9727 9728snprintf() returns the needed space excluding the trailing 0 byte, so 9729it has truncated if the returned valued is greater than or EQUAL TO the buffersize 9730 97312011-12-19 16:49:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9732Fix unportable memory initialisation 9733 9734Memory sat to zero by calloc() cannot safely be assumed to have the pointer value NULL 9735 97362011-12-19 13:16:58 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9737Add 2 strings for translation 9738 9739 97402011-12-19 11:25:11 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9741Remove the last 2 compile warnings in gamelist.h 9742 9743 97442011-12-19 11:17:48 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9745Add #include "moves.h" to gamelist.c for def. of CopyBoard() 9746 9747 97482011-12-19 11:11:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9749Definition of TimeMark moved from 3 c files to backend.h 9750 9751 97522011-12-19 01:21:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9753Transfer a pointer to the promoChar from PromotionPopUp() to PromotionCallback(). Fixes #34980 9754 9755 97562011-12-18 17:24:07 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9757Duh! Initialise the argument to sscanf() inside the loop, so it always gets a known value when sscanf() fails. 9758 9759 97602011-12-18 17:18:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9761Give numeric options the value 0 if a non-numeric text is entered (one more place). Before the value ended up undefined. 9762 9763 97642011-12-18 17:08:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9765Give numeric options the value 0 if a non-numeric text is entered. Before the value ended up undefined. 9766 9767 97682011-12-18 15:41:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9769Fix possible crash on 64-bit systems when copying game or position 9770 9771The two convertproc's for X selections caused reads out of bounds on 64-bit systems. 9772I hope that this is the right solution. I am not experienced with X stuff, but it 9773follows that I have seen in other programs, testing shows that copying still works, 9774and the reading out of bounds have disappearinged with this patch. 9775 97762011-12-18 13:26:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9777Fix a possible crash in the file browser 9778 9779If the OK button was selected in the file browser when no file was selected 9780there was a read out of bounds which could crash xboard 9781 97822011-12-17 22:54:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9783Fix a memory leak in Sound Options 9784 9785 97862011-12-16 02:57:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9787Fix crash when selecting user soundfile due to free() of not malloc()'ed memory 9788 9789 97902011-12-16 02:32:37 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9791Make GenericPopUp() more readable by using more named flags instead of numerals 9792 9793Defines the flags SAME_ROW (value 1) and NO_OK (value 2) for use with buttons and endmarks. 9794There should no functional change. 9795Also add a code comment where a condition depends on an uninitialised value. There is no direct harm, as both 9796branches do the same (that is nothing) when the value is uninitialised. 9797 97982011-12-15 02:51:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 9799Add NO_GETTEXT flag for combobox. Fix bug #34991 9800 9801Define NO_GETTEXT flag to avoid calling gettext() for comboboxes, and define COMBO_CALLBACK 9802flag to call comboCallback() when an item is selected in a combobox (no new code for this, 9803just a symbolic value instead of a number). The flags are used for the min field of struct Option. 9804NO_GETTEXT is used for the Select engine combobixes in the Match Options and Load engine windows. 9805 98062011-12-13 19:48:37 -0800 Arun Persaud <arun@nubati.net>: 9807only translate entries in CreateComboPopup if strlen>0; fixes #34991 9808 9809 98102011-12-12 19:06:26 -0800 Byrial Jensen <byrial@vip.cybercity.dk>: 9811fix for repeating key issue, with this allissues this bug should be closed; fixes #35000 9812 9813 98142011-12-12 18:45:05 -0800 Arun Persaud <arun@nubati.net>: 9815also don't translate selection in ComboSelect; fixes #34991 9816 9817 98182011-12-12 18:40:23 -0800 Arun Persaud <arun@nubati.net>: 9819make entries in CreateComboPopup not translateable; fixes #34991 9820 9821 98222011-12-10 16:06:47 -0800 Arun Persaud <arun@nubati.net>: 9823fix translation for engine list; fixes #34991 9824 9825* click on browse button should be recognized in translated versions 9826* width of button should auto-scale 9827 98282011-12-10 11:04:17 -0800 Arun Persaud <arun@nubati.net>: 9829change keybindings that don't use ctrl, make MoveTypeInProc ctrl aware; fixes #35000 9830 9831two keybindings were using keys without modifiers, adjusted these to use the ctrl key. 9832Furthermore when typing in moves we need to check if ctrl was pressed and ignore those inputs. 9833 9834Also added documentation for these keybindings. 9835 98362011-12-10 10:51:18 -0800 Arun Persaud <arun@nubati.net>: 9837replaced unicode character for "'" in xboard.texi 9838 9839 98402011-12-10 10:08:48 -0800 Arun Persaud <arun@nubati.net>: 9841removed Iconify function. Should be handled by the window manager. 9842 9843 98442011-12-08 20:53:13 -0800 Arun Persaud <arun@nubati.net>: 9845marked an error messages for translation 9846 9847 98482011-12-08 20:33:29 -0800 Arun Persaud <arun@nubati.net>: 9849translation: updated uk.po 9850 9851 98522011-12-03 17:52:23 -0800 Arun Persaud <arun@nubati.net>: 9853fixed size of XBoard icon to 48x48 9854 9855the icon gets installed in the 48x48 directory, but was >200 pixel wide. This gave a warning during rpm creation. 9856 98572011-12-03 08:07:32 -0800 Arun Persaud <arun@nubati.net>: 9858updated pot file 9859 9860marked a lot of new strings for translation 9861 98622011-12-03 08:06:42 -0800 Arun Persaud <arun@nubati.net>: 9863added new files to po/POTFILES.in 9864 9865 98662011-12-02 22:13:36 -0800 Arun Persaud <arun@nubati.net>: 9867marked more strings for translation 9868 9869 98702011-12-02 20:08:01 -0800 Arun Persaud <arun@nubati.net>: 9871translation: added danish translation 9872 9873 98742011-12-01 18:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9875Change encoding of seirawan ICS gating-castlings 9876 9877In stead of using upper/lower-case promoChar, the ICS now uses 9878RxK notation, like WinBoard writes in SAN, for better consistency. 9879 98802011-11-30 15:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9881Put promo-suffix on ICS move in variant seirawan castlings 9882 9883The distinction upper-case / lowercase determines gating at R / K 9884 98852011-11-28 11:56:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9886Refrain from making unnecessary resize X request 9887 9888The window resizing code in InitDrawingSizes is suppressed when no 9889change is needed. Similarly, changing piece bitmaps is suppressed when 9890we stay in the same variant (and InitDrawingSizes is called e.g. because 9891of chaging lineGap through the Board dialog). 9892 98932011-11-27 22:27:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9894Fix parsing of O-O castling in variant janus 9895 9896The new parser did not realize it meant e1i1 rather than wild e1h1. 9897 98982011-11-26 22:28:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9899Show 50-move counter also when observing ICS games 9900 9901To not cheat 50-move display was suppressed in ICS mode, 9902but for observing a game this made no sense. 9903 99042011-11-26 22:22:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9905Ignore ICS game starts when already in game 9906 9907The advance switching of the variant on game-start messages was 9908disruptive for users with gin=1, which also sends such messages 9909for other games than your own. For now fixed by only reacting on 9910them when idle (detected by invalid game number). 9911 99122011-11-11 18:16:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9913Fix WinBoard clock-click bug 9914 9915Clicking on the clock in WinBoard also called the LeftClick routine 9916for handling clicks on the board. This led to the from-square being set 9917to some inalid value, so that the next genuine board click was interpreted 9918as a to-click, with undesired effects, especially with legality testing off 9919or in EditPosition mode, where weird things are accepted. 9920 99212011-11-06 17:20:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9922Add feature-override options 9923 9924A few (dangerous) options are added to allow a user to override 9925engine features, or change their defaults, by supplying a string 9926with feature commands (e.g. "sigint=0") which tricks XBoard into 9927thinking the engine sent that. There is a -featureDefaults which is 9928processed before the engine features, and -first/secondFeatures 9929which is parsed just before engine initialization. 9930 This goes horribly wrong when the user wouldtry silly things like 9931including 'option' or 'done' features! 9932 99332011-11-05 12:32:39 -0700 Arun Persaud <arun@nubati.net>: 9934translation: updated uk.po 9935 9936 99372011-11-04 21:58:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9938Fix handling of -secondOptions option 9939 9940The -firstOptions and -secondOptions settigs were not swapped when 9941-singleEngieList was true, so the second engine's options would never 9942be set in that case, but used for the first engine. 9943 99442011-11-04 21:55:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9945Accept setup command in variant fairy even with legality testing on 9946 9947Variant fairy does not really have a defined opening position, but lots 9948of pieces defined, so we might want to play with legality checking on, 9949but still rely on the engine for the opening position 9950 99512011-11-04 21:52:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9952Set pieceToCharTable by setup command even when ignoring FEN 9953 9954When the user starts from a set-up position, the egines default 9955openingposition has to be ignored, but the pieceToCharTable would 9956still be relevant. 9957 99582011-11-04 21:48:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9959Change default sweep-promotion choicein queenless variants 9960 9961The initial scanning of the sweep piece until a defined piece is found 9962is now in the increasing direction (still starting at Queen), so that 9963the fairy pieces are suggested before R, B and N. 9964 99652011-11-03 16:38:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9966Clear board markers when moving to other position 9967 9968Now the markers from -showTargetSquares would stay on after a first click 9969for the benefit of a click-click move, they would also stay on when not 9970finishing the move, but operating the < > buttons in stead to call up 9971other positions. ForwardInner and BackwardInner now clear the markers, 9972like they also cleared highlights. 9973 99742011-11-01 18:30:22 -0700 Arun Persaud <arun@nubati.net>: 9975updated Changelog, NEWS, etc. 9976 99772011-10-25 15:32:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 9978Fix two warnings 9979 99802011-10-24 20:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 9981Don't adjust clock on right-click in EditGame mode WB 9982 9983This was a change that was already done for the left-clicks, but somehow 9984never made it togit for the right-clicks 9985 99862011-10-24 19:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 9987Change chase message in .lng files 9988 99892011-10-24 19:31:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 9990Let perpetual-chase message mention square 9991 9992In stead of a boolean, PerpetualChase now returns the square the chased 9993piece ends on (encoded as an int), and on adjudication it will be printed. 9994 99952011-10-24 19:26:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 9996Add mechanism to translate variable messages in WinBoard 9997 9998A message prefixed with % in the lng file will be considered a match 9999if it matches the start of the text to be printed, and the remaining 10000part of the latter will remain untranslated. This was needed to allow 10001translation of the perpetual change message, now it indicates the square 10002of the chased piece. 10003 100042011-10-24 19:20:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10005Use other interpretation of Asia rules for chase detection 10006 10007The detection of perpetual chases now ignores pre-existing checks. 10008 100092011-10-12 17:28:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10010Fix crash on loading garbage game file 10011 10012The code to cache games was not resistant to moves before a valid 10013game start, or a game filewithout any games at all. 10014 100152011-10-08 20:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10016Incorporate variant type in book hash key 10017 10018This prevents booksforone variant being used for another, and allows 10019multi-variant books. 10020 100212011-10-07 15:41:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10022Update language.txt file 10023 10024 100252011-10-07 15:34:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10026Update Dutch lng file 10027 10028 100292011-10-07 15:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10030Fix Load Options dialog WB 10031 10032Defined fastkeys; reordered elements so that fastkeys focus edit they 10033are intended for. Changed some of the more obscure texts. Corrected 10034list of transatble dialog items, adding a few missing ones. 10035 100362011-09-13 20:01:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10037Fix some warnings 10038 10039Prototypes were added, ormoved from backend.c to backend.h. 10040 100412011-08-26 12:44:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10042Put 'Load Next' button back in WB Game List 10043 10044The '>' button for loading the next (filtered) game is re-instated in the 10045WinBoard GameList. The main window has now accelerator keys Ctrl+Up and 10046Ctrl+Down for loading the previous and next filtered game. 10047 100482011-08-26 12:31:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10049Speed up position search and consider side to move 10050 10051The position search is made to pay attention to the side to move, 10052which produces a speedup, because we only have to compare half the 10053game positions when looking for an exact position match. An addition 10054we now keep track of the total number of pieces, and abandon a game when 10055it drops below the number of pieces in the position we seek. 10056 100572011-08-21 23:16:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10058Dynamically allocate move cache 10059 10060A small statically declared cache good for 250k moves (~3200 games) 10061will be expanded in steps of a factor 8 when it overflows. 10062 100632011-08-18 18:40:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10064Translate search strings 10065 10066 100672011-08-17 22:55:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10068Implement flipped search 10069 10070 100712011-08-16 15:29:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10072Debug position search cache 10073 10074 100752011-08-15 18:44:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10076profile 10077 10078 100792011-08-18 18:01:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10080Translate search-mode strings 10081 10082 100832011-08-15 16:59:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10084Quickscan 10085 10086 100872011-10-23 16:04:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10088Fix duplicate loading of second engine in tourneys 10089 10090To decide if new engines should be loaded, it was tested if first.pr 10091equalled NoProc, assuming that ReserveGame would have left the engine 10092loaded if the next game would need the same engines. But a reuse=0 engine 10093could have caused termination of the first engine process anyway, while 10094the second would still be alive. So unconditionally starting of the second 10095engine would cause redundant engine processes to abound. 10096 Now we only start new engine processes if both engine processes are dead. 10097 100982011-10-23 15:53:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10099Fix PV walking with -fSAN 10100 10101The SAN options had broken the PV walking, because the shelving of the 10102walked PV to create space for the conversion to SAN of an incoming PV 10103would not be properly undone, but would add the walked PV to the game. 10104 101052011-10-20 12:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10106Refine clock adjusting 10107 10108Adjusting the clocks by shift-clicking them is now only allowed with 10109autoCallFlag off, and an error-popup results when you do it otherwise. 10110Also, swtching to Edit Game mode won't reset the clocks to the stored 10111value anymore when you have just adjusted it. 10112 101132011-10-12 17:43:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10114Fix crash on adding items near book end 10115 10116When Edit Book would add so many entries near the end of an opening 10117book that the end of the added info would surpass the old end of the 10118file, the copying of the tail got stuck in an infinite loop, extending 10119the file without limit with repeating info. 10120 101212011-10-12 17:41:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10122Print message on wrong use of Clone Tourney 10123 10124The user is urged to first provide the name of an existing tourney file 10125when he presses the button without one. The button is also renamed. 10126 101272011-10-12 17:38:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10128Fix invalid combobox entry WB 10129 10130A combobox label that was not in the list (because the user typed 10131it, rather than selecting one) would cause a crash. 10132 101332011-10-12 17:23:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10134Fix crash on loading garbage game file 10135 10136XBoard crashed when a game file contained a PGN game result before 10137any valid game start, because data would be written in a game-list 10138node that did not exist yet. This would occur frequently when garage 10139was read; basically any asterisk in the data would do it. 10140 101412011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10142Add control to set -discourageOwnBooks WB 10143 10144 101452011-10-11 20:53:52 -0700 Arun Persaud <arun@nubati.net>: 10146only require 0.17 of gettext 10147 10148This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones. 10149 101502011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10151Add option -discourageOwnBooks 10152 10153This boolean option determines the default setting of the hasOwnBook 10154option before a tourney game starts. By setting it, the hasOwnBook 10155option is cleared, which would enable use of the GUI book, like the 10156engine was installedwith the /firstXBook option. An explicit option 10157on the engine install line can still overrule this, though. 10158 A control to set this option has been added in the XBoard Match dialog, 10159and it is saved in the tourney file to force consistency. 10160 101612011-10-11 22:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10162Reset initString and computerString on engine load 10163 10164These options are typically engine specific, and must thus be 10165reset to their default value before loading a new engine. 10166 101672011-10-11 22:43:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10168Add Romanian lng file 10169 10170 101712011-10-07 16:55:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10172Reactivate Falcon Chess 10173 10174Now the patent for this has expired, Fairy-Max plays it again. 10175So the XBoard support for it is now switched on, and an item for it is 10176added to the XBoard New Variant menu dialog. (WinBoard still had that.) 10177In the array the Lance was changed for the Falcon as a wild-card piece. 10178 101792011-10-03 09:59:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10180Update texi file for new features 10181 10182 101832011-10-03 10:30:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10184Update texi file for position search 10185 10186The new items in the Load Game Options dialog are described, as well 10187as the command-line options used to store them in the settings file. 10188 101892011-10-03 09:28:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10190Remove paragraph about .Xresources from texi file 10191 10192Command-line options can no longer be set through .Xresources already 10193since version 4.5.0. 10194 101952011-10-03 09:13:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10196Add Dutch WinBoard translation 10197 10198 101992011-09-28 20:46:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10200Prevent Edit Book window from stealing focus (WB) 10201 10202In WinBoard updating the book window would give it focus. Now the 10203focus is given back to the main window, except when the Edit Book 10204window is first created. 10205 102062011-09-28 20:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10207Make book-window update part of HistorySet 10208 10209 102102011-09-26 16:01:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10211Fix position loading in tourneys 10212 10213In a tourney a position must be loaded when the engine is not yet 10214started, and the old version of LoadPosition could not handle that: 10215It would start up the engine, and send it commands unconditionally. 10216 102172011-09-26 15:58:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10218Fix resetting -fSAN on engine change 10219 10220There were two places for loading another engine, Load (from menu) and 10221SetPlayer (in tourneys), and the previous patch for this missed the 10222second one. 10223 102242011-09-26 15:51:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10225Make too-long game non-fatal 10226 10227GameEnds is now called when the maximum number of moves is exceeded, 10228rather than DisplayFatalError. Not sure if this properly terminates the 10229game in all situations, but DisplayFatalError (after calling GameEnds) 10230would also wait for the user to confirm the error popup before really 10231exiting, so that in an unattended automatically running tourney there 10232was not much fatal, and the entire tourney would in fact be finished. 10233 102342011-09-26 15:46:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10235Keep book file open 10236 10237Rather than opening and closing the book file on every probe, it is 10238now only closed and opened when the name of it changed. 10239 102402011-09-26 15:44:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10241Suppress playing of book moves with weight 0 10242 10243Bookmoves with weight 0 could be played when the sum of the weights 10244of all moves from the position was 0. So it was not possible to suppress 10245the only move by giving it weight 0. This is now corrected. 10246 102472011-10-01 15:00:47 -0700 Arun Persaud <arun@nubati.net>: 10248added NEWS for release of 4.5.3 10249 10250 102512011-09-29 20:31:23 -0700 Arun Persaud <arun@nubati.net>: 10252better contrast for XBoard icon on a dark background 10253 10254 102552011-10-01 13:09:59 -0700 Arun Persaud <arun@nubati.net>: 10256translationproject.org: updated Ukrainian translation 10257 10258 102592011-09-29 20:49:42 -0700 Arun Persaud <arun@nubati.net>: 10260updated pot file and send to translation project 10261 10262 102632011-09-22 12:09:39 +0100 Thomas Adam <thomas@fvwm.org>: 10264(tiny change) Clarify "-name" option is Xt-only 10265 10266There's a set of standard options with will get used by Xt, before Xboard 10267itself will use them. "-name" is an Xt-only option which will set the name 10268and resource of the window to the value requested. It has nothing to do 10269with setting opponent/player names. 10270 10271Signed-off-by: Thomas Adam <thomas@fvwm.org> 10272 10273modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL) 10274 102752011-09-22 17:17:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10276Fix LoadGameOrPosition starting up engine 10277 10278When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that 10279is called in LoadPosition() when you are running from a position file 10280would prematurely start up the engine (without waiting for features). 10281The kludge to suppress this behavior for the explicit call to Reset() 10282is now extended to encompass LoadGameOrPosition. 10283 102842011-09-22 17:14:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10285Clear fSAN option before new engine load 10286 10287This to prevent the new engine will inherit it from the previous one. 10288As the command-line options an only set it, this has to be done by 10289explicit assignment. 10290 102912011-09-13 23:02:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10292Fix some warnings (prototypes) 10293 10294 102952011-09-13 19:55:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10296Fix write failures in concurrency 10297 10298In WinBoard a flood of writes by differentprocesses to the same PGN can 10299cause a "permission denied" error in fopen. This patch causes retries after 10300a random (5-15 msec) wait, in such cases. 10301 103022011-09-13 19:52:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10303Move HistorySet to back-end 10304 10305This existed in exact duplicates in both front-ends. 10306 103072011-09-13 19:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10308Make DoSleep front-end wrapper for msec sleep 10309 10310DoSleep was #defined as a macro for Sleep/ sleep, with an argument 10311indicating msec in WinBoard, but seconds in XBoard. Nuw it universally 10312uses msec, by defining it as a wrapperin the respective front-ends. 10313(For XBoard itwraps FrameDelay.) 10314 103152011-09-10 22:35:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10316Fix playing sounds when -soundProgram is empty 10317 10318It made no sense to just send the names of the sound files to the shell. 10319So the soundProgram isnow tested for being an empty string, and if so, 10320PlaySound() is aborted. 10321 103222011-09-10 14:01:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10323Add -afterGame option 10324 10325This option specifies a command line to be executed after each game of 10326a tournament. To execute the line, the function RunCommand() was added 10327in the front-end. For XBoard this was a simple call to system(); for 10328WinBoard part of the StartChildProcess code was cloned (without the pipe 10329stuff). 10330 103312011-09-10 13:52:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10332Upgrade -serverMoves option 10333 10334The (undocumented) -serverMoves option was upgraded to conform to the 10335ChessLive! protocol extension for sending SAN tags. A bug that allowed 10336upper-case promoChar to leak through was also fixed, and code was added 10337to write engine PVs to file. Flushing of the game result to the -serverMoves 10338file was also fixed. 10339 103402011-09-10 13:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10341Fix AppendComment 10342 10343The joining of two comments was not performed correctly if the second 10344one had the braces yet to be added: the closing brace was not added in 10345that case. 10346 103472011-08-30 19:39:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10348Auto-popup ICS Input Box 10349 10350Typing to the board made the move type-in pop up, but in ICS mode 10351this is of course undesirable. Like in WinBoard, the ICS Input Box 10352should pop up in stead, and accept the typed character. This is now 10353realized. If the box already exists and has text in it, the typed 10354character is appended to that text, and the box is given focus. 10355Spaces now also are considered as printable. 10356 103572011-08-30 18:27:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10358Slightly decrease sensitivity of sweep actions 10359 10360The sweep-selection of promotion and drop pieces, or step through the PV 10361was so sensitive that it was difficult to reliably make the intended choice. 10362It has now been reduced by a factor 1.5-2, and the sweep selection and 10363PV walk now also use a different value. 10364 103652011-08-27 21:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10366Extra buttons in WB Tournament dialog 10367 10368A button to copy contents of the tournament fileto the dialog is added. 10369Buttons to invoke the Common Engine and Time Control dialogs are also added. 10370 103712011-08-27 21:15:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10372Fix crash on typing non-existent enginein Load Engine dialog 10373 10374 103752011-08-24 10:30:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10376Fix display state after failed analysis attempt 10377 10378When an engine responded to the "analyze" command with an "unknown command" 10379message, a Reset was done without altering the display, causing a 10380discrepancy between display and internal state, which caused confusion 10381when it finally corrected itself. I replaced the Reset call by an 10382EditGameEvent call, to preserve the loaded game. The Reset was presumably 10383used to allow for the case where the engine would be so upset by the 10384analyze command that it needed to be reset by a "new" command, but this 10385seems overly paranoic for an engine that just recognized the command 10386as an unknown one. 10387 103882011-08-24 09:58:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10389Fix treatment of PGN score/depth info with linefeeds in them 10390 10391This is needed to make the PGN more Arena-proof. 10392 103932011-08-24 09:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10394Fix quoting in Load Engine dialog 10395 10396A (space-contaning) engine name only needs quoting when there are parameters, 10397because the over-all engine command will be quoted anyway. For UCI engines 10398duplicate quoting is fatal, because when passed as the -ec argument of 10399Polyglot, it will be quoted yet another time, also with double quotes. 10400 104012011-08-23 21:24:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10402Replace Analyze File by Analyz Game function 10403 10404 104052011-08-22 22:16:58 -0700 Arun Persaud <arun@nubati.net>: 10406new developer release 10407 10408 104092011-08-22 22:26:56 -0700 Arun Persaud <arun@nubati.net>: 10410update po files 10411 10412 104132011-08-22 22:24:23 -0700 Arun Persaud <arun@nubati.net>: 10414updated Changelog, NEWS, etc. 10415 10416 104172011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>: 10418malloc.h is not needed 10419 10420 104212011-08-20 22:21:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10422Fix ICS move-list header mistaken for null moves 10423 10424 104252011-08-18 18:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10426Allow two-games-per-opening to work with book 10427 10428A new option -seedBase is added, and written to the tourney file. 10429It allows all XBoard instances working on a tourney to generate the same 10430'random' openings in a deterministic way, based on this one-time seed 10431and the game number. When -loadGameIndex equals -2, it uses the same seed 10432for an odd and the following even game. 10433 104342011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10435Fix use of random 10436 10437In some places rand() was called explicitly, rather than through the 10438(configured) place-holder random(). 10439 104402011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10441Translate search texts 10442 10443 104442011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10445Add -useBoardTexture and -usePieceFont options 10446 10447These options suppress the use of the given texture files or piece fonts 10448without relying on the kludge to disable them by prefixing an asterisk 10449to the file or font name. Checkboxes have been added to the Board dialog 10450to control them. The user can now set piece font in WB font dialog. 10451The sample text can be used to specify the -fontPieceToCharTable, 10452the font name itself the -renderPiecesWithFont value. 10453 104542011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10455Fix crash on start without settings file 10456 10457A primordial -1 in currCurrent caused a crash when WinBoard was started 10458without ini filein game-viewer mode. 10459 104602011-08-12 12:08:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10461Fix generic-popup failure after empty engine-settings dialog 10462 10463The error exit ofthe Engine #N Settings dialog in case of an engine without 10464options forgot to clear currentCps, with as a result that the generic popup 10465thought every subsequent popup was an empty one, and kept repeating the 10466'engine has no options' error message for every dialog. 10467 104682011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10469Allow substitution of engines during tournament 10470 10471Two buttons are added in the tournament options dialog, for upgrading 10472and for replacing a tourney participant. Lots of tests on the validity 10473of the request are done, and if all are passed, the tourney file is 10474written with the new participants (and in case of replace) with the 10475results of the replaced engines erased from the -results string. 10476 104772011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10478Fix up/down arrows in game list 10479 10480 104812011-08-08 10:31:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10482Add key bindings for loading next/previous game of list 10483 10484These bindings are set both for the game list and the board window. 10485To make them useful, focus has to be transferred to the board widget 10486after loading (it tends to transfer to the tags window), which now 10487seems to work, but not always. From the game list the shellWidget 10488seems to get focus rather than the board, which is bad as it is not 10489sensitive to the key bindings. 10490 104912011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10492Allow deletion of last book move 10493 10494The book-edit function refused to delete the entiremove list, 10495for no good reason. This limitation now has been lifted. 10496Also the error message that the key for the current book entries 10497is different from that of the currentposition has been suppressed 10498if there were no entries found for the current position (so that the 10499book is positioned at the next key), so that it is possible to add 10500moves from scratch. 10501 105022011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10503Speed up parser 10504 10505Line numbers > 1, which are common, can exit already during move parsing, 10506to save lots of matching on resultsand castlings. 10507 105082011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10509Fix missing files in file browser 10510 10511The file browser was throwing away the first two files, assuming 10512they were "." and "..". Alas, this is no longer true on every Linux. 10513Now we actuallyc compare for these names, before skipping them. 10514 105152011-08-06 11:57:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10516Delay file loading to allow expose event first 10517 10518 105192011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10520Fix paging 10521 10522 105232011-08-05 22:39:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10524Better fix of crash on empty game list 10525 10526An empty list is now replaced by a list containig a simple message. 10527 105282011-08-05 20:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10529Add plain arrows as key binding for stepping forward/backward 10530 10531 105322011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10533Debug position selection 10534 10535 105362011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10537Print progress during load / selection of game 10538 10539The title bar of themain window is used to display a running count 10540of the number of games loaded / searched. 10541 105422011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10543Parse PGN tags without allocating memory 10544 10545In WinBoard malloc/free did not seem to work when preparing the game list, 10546leading to a huge memory list when ParsePGNTag was used. The added code 10547parses the required tags in an alternative way as a work-around. 10548 105492011-08-02 22:58:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10550Implement searching games in Game List for a position 10551 10552For this it was needed to reconstruct all positions of the games 10553without loading them, so they could be compared to the currently 10554displayed position. A new routine GameContainsPosition is made for that. 10555 In Disambiguate, when the global quickFlag is set, we now do the 10556disambiguation ignoring check,and only if this leads to an ambiguous 10557move, we repeat it taking check into account to see if that resolves 10558the ambiguity. This causes us to miss if unambiguous moves are illegal 10559because they put their King in check, but who cares? 10560 We now do not make game-list line when not needed. If we do not filter 10561by text, but by position, there is no need for preparing the game-list 10562line for games that are not selected. All for efficiency. 10563 105642011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10565Allow entry of variations in PlayFromGameFile mode 10566 10567Adding variations is more like editing a comment,and not really editing 10568the game. Therefore we allow it on loaded games. As soon as we are in a 10569variation, we temporarily switch to a (hidden) EditGame mode, restoring 10570the original mode when we revert to the main line. 10571 We now also stay in PlayFromGameFile mode after loading a game, 10572And opening variation (fromtheComment window) in PlayFromGameFile mode 10573is also allowed. 10574 105752011-07-27 18:47:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10576Force Move History refresh after loading/reverting variation 10577 10578The Move History window was not refreshed after switching to or from 10579a variation if that variation happened to have the same length as 10580the main line. Now a change in storedGames since the previous refresh will 10581force a full refresh to avoid this. For this to work, storedGames 10582did have to be decremented after ToNrEvent in PopInner, because ToNrEvent 10583calls HistorySet before the history is restored, so we don't want 10584it to snatch away the full refresh. A call to HistorySet had to be 10585added after PopInner is done restoring the move history. 10586 105872011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10588Popdown Comment window on new game 10589 10590What is in this window cannot possibly remain valid, and can even be harmful. 10591 105922011-01-19 11:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10593Allow null move in analysis and edit-game mode 10594 10595In some games it is allowed to pass your turn. The internal 10596representation picked for such a null move is the drop of an empty 10597square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@", 10598SAN form is "--", (for compatibility with ChessBase / SCID), and the 10599non-compliant forms "null", "pass"and "Z0" are recognized in 10600the parser as well. ApplyMove() has to test for this special case 10601(to not actually clear a1), and a way to enter the pass for the user had 10602to be found (clicking the opponent clock, like in EditPosition mode). 10603 The null move is made move irreversible to prevent repetition draws 10604spanning null moves being adjudicated. 10605 Such entry of null move is now allowed in AnalyzeMode and EditGame mode. 10606Because Chess engines will not accept null moves, SendMoveToProgram had 10607to be adapted to send not the move, but the position after it in 10608case of a null move. This erases the move history in the engine, 10609so it will not react to 'undo' for that null move, so BackwardInner 10610had to be adapted to test for intervening null moves, and if one is 10611found, approach the target from the other side after loading the 10612earliest position before it not crossing another null move, and 10613then loading the moves upto the target. 10614 XBoard clock clicks had to be fixed, to pay attention to the shift key. 10615 106162011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10617Give WinBoard Game List its own font 10618 10619The font fort he Game List used to be shared with the Engine Output and 10620Move History windows, but this made it impossible to use a figurine font 10621in the latter two (which displays piece symbols for capitals) without 10622messing up the Game List. An option -gameListFont has been added to specify 10623the font for the Game List(and save it in the settings file), while a 10624control for it is added in the fonts dialog. 10625 106262011-07-21 19:02:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10627Fix crash on OK after Save Changes in Tags and Comment popup. 10628 10629The global variables tagsText and commentText were used to pass 10630a string obtained from a widget (and thus not malloc'ed), which 10631caused a crash when the GenericReadout tried to use those variables 10632for the new value. Fixed by using GenericReadout (which does malloc) 10633to read out the text,in stead of GetWidgetText. 10634 106352011-07-16 09:31:12 -0700 Arun Persaud <arun@nubati.net>: 10636Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM) 10637 10638This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295. 10639 106402011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10641Suppress some XBoard warnings 10642 10643 106442011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>: 10645fixed segfault in xengineoutput 10646 10647 106482011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10649Disable -showTargetSquares in ICS mode 10650 10651Help like this is considered cheating on FICS, so it is disabled for 10652all 'classical' ICS variants. (For variants eyont Shogi we don't care.) 10653 106542011-07-10 21:20:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10655Put grab on sweep-selecting in Edit Position 10656 10657A right down-click starting a sweep-selection event did not grab the 10658mouse events, so that an up-click outside the window would go 10659unnoticed, and the pointer motion stayed coupled to selecting the 10660piece until the next click. By returning 2 from the RightClick back-end 10661routine we request the grab. 10662 106632011-07-09 13:50:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10664Write more labels on score axis of eval graph 10665 10666The labels for +/-1 and +/-3 are now also written, provided there is 10667enough space. 10668 106692011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10670Improve Eval Graph with -evalZoom and -evalThreshold 10671 10672The score range between -1 and +1 can now be blown up by a factor 10673specified through -evalZoom. The threshold below which histogram bars 10674are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now 10675be set through the -evalThreshold option. 10676 106772011-07-09 13:18:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10678Print reversible plies done in stead of plies to go 10679 10680Printing the number of plies left to the draw-adjudication point was 10681confusing when the N-move rule was set to a non-standard value. 10682In stead we now print the number of plies since the last irreversible 10683move, so the user can compare it to both the engine claim point (100) 10684and the adjudication point he set (which might be beyond 100). 10685 106862011-07-09 13:13:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10687Let WB eval graph react ot single left-click 10688 10689Unlike in XBoard, the WinBoard eval graph awatys had required double- 10690clicking to go the the corresponding move, while there really is no 10691reason for this, as it is no text edit, and single-clicks have no function 10692(like select). 10693 106942011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10695Add -scoreWhite option 10696 10697This is similar to -absoluteAnalysisScores, except that it works in 10698all modes, and flips the score given by the engines in the engine-output 10699window when black is to move. 10700 107012011-07-07 19:28:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10702Print 50-move counter in Engine-Output title 10703 10704 107052011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10706Display score/depth in Eval Graph title 10707 10708No longer print it in the comment window. 10709 107102011-07-04 11:06:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10711Let -sweepPromotions also work for click-click moves 10712 10713A click-click promotion no longer causes auto-queening, but the down-click 10714on the to-square causes a Queen to stick to the mouse pointer, and then 10715allows the user to change it through dragging backwards before releasing it 10716with an up-click. 10717 In WinBoard this required a slight change in DragPieceBegin, because 10718the dragged piece there only was made visible when the mouse pointer 10719actually started moving (and dragInfo.pos was set), presumably under the 10720assumption that before mouse move the piece was already on the clicked 10721square. Which in the case of a to-square was of course not true. (Because 10722a piece jumps to the mouse pointer when the click is not centered on a 10723square, this gives less jittery static clicks.) So DragPieceBegin has 10724been given an extra argument now, to indicate whether it should attach 10725the piece to the mouse pointer immediately. 10726 To make the click-click sweepPromotions work in Shogi (for which the 10727drag-drop sweepPromotions could never work, because it is not clear the 10728piece has a posibility to promote when you pick it up), translation of 10729the sweep-selected piece to a Shogi promoChar had to e added. 10730 107312011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10732Improve -showTargetSquares on click-click moves 10733 10734The markers on move targets are now kept when a first click merely 10735selects a piece, rather than dragging it elsewhere. The second click 10736(by definition on the to-square) then clears the markers. 10737 107382011-07-04 11:23:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10739Let PGN parser accept lower-case piece in drop moves 10740 10741The @ sign prevents amiguity with other notations anyway. 10742 107432011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10744Fix parser.c line endings 10745 10746 107472011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10748Fix writing searchTime in tourneyFile 10749 10750This had to be derived from the variable searchTime, which gives it 10751in seconds, as appData.searchTime (a string in minutes) is not reliable, 10752as it contains the command-line value, which might have been altered 10753through the time-control dialog. 10754 107552011-06-29 20:25:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10756Fix resetting searchTime if other TC mode is chosen (XB) 10757 10758This fixes a bug in the new time-control dialog. 10759 107602011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10761Fix coords display on large boards 10762 10763The file indicators can now run upto 'w'. Only the lowest digit 10764of the rank number is printed, from a table that is valid to 22. 10765 107662011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10767Fix crash on making too-long FEN 10768 10769The buffer for in PositionToFEN was only 128 bytes, which was not enough 10770for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now. 10771There also is some approximate overflow checking added (but it is not 10772fool proof in case there are holdings...) 10773 107742011-06-29 13:36:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10775Fix drop moves on boards with more than 10 ranks 10776 10777The internal encoding for rank 16 is '@', and thus ambiguous with drop 10778moves. They were always printed as 16, breaking drop games on large 10779boards. The ambiguity is now solved (for boards with more than 16 ranks) 10780by checking if the preceeding letter is upper case, in which case it 10781cannot be a fileindicator, but must be a piece, and thus a drop. 10782 107832011-06-29 13:29:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10784Don't one-click move when legality testing is off 10785 10786 107872011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10788Reorder controls in Engine Setings dialog WB 10789 10790To get tabbing through the controls in left-to-right order, they are 10791now added to the template structure in that order. Also add a tabstop 10792to Label options, so that JAWS will read those. 10793 107942011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10795Add tab stops in WB generic popup 10796 10797The WinBoard generic popup did not put tab stops on push buttons, 10798including the OK and cancel button, with as a consequence that these were 10799skipped when tabbing through the dialog controls. In addition the tabbing 10800could not begin before the user selected one of the controls with the mouse. 10801 Now all buttons have tab stops, and the cancel button is given focus 10802when the dialog pops up. 10803 108042011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10805Implement Grand Chess 10806 10807Grand Chess requires a lot of exceptional handling similar to Superchess 10808and Great Shatran, because it also allows only promotion to a captured 10809piece. In addition it shares the enlarged promotion zone with Makruk and 10810Shogi, as well as the fact that promotion can be deferred. The 10-rank 10811board furthermore required a better generalization of double-pushes and 10812e.p. captures. On such a board double puhes are now allowed from 2nd and 108133rd rank, e.p. capture from 5th and 4th. 10814 108152011-01-28 19:20:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10816Allow promotion to Pawn with legality testing off 10817 10818In stead of ImpossibleMove promotionto Pawn now merely is an 10819IllegalMove, so it can be played with legality testing off. 10820 108212011-01-24 15:06:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10822Create some space in WB New Variant dialog 10823 10824 108252011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10826Allow double-digit rank numbers 10827 10828The parser already understood double-digit numbers on input, and 10829CoordsToAlgebraic produced them on otput. This patch also fixes sending 10830of the moves to the computer, for which the moveList was used. The latter 10831stored 10 as ':', etc,to always get a 4-char move, the characters of which 10832were frequently being converted to fromY or toY by adding/subtracting ONE. 10833To not break that the one-character encoding of rank number is kept in 10834moveList, but in SendMoveToProgram, characters > '9' are converted to 10835double digits. 10836 108372011-06-23 11:26:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10838Add Absolute Analysis Scores in Genral Options dialog XB 10839 10840 108412011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10842Fix texi file, and update it further 10843 10844 108452011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10846Modified po 10847 10848 108492011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10850Update texi file 10851 10852 108532011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10854Restore echo after ^C in ICS password 10855 10856 108572011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10858Fix some warnings 10859 10860 108612011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10862Increase efficiency of SAN generation / disambiguation 10863 10864**************** Risky patch! ********************** 10865The algorithm used for disambiguating and generating SAN was extremely 10866inefficient, because it generated all pseudo-legal moves from the relevant 10867position, and then for each of those did a check test (involving generation 10868of all moves of the opponent), before determining if the move matched the 10869(proposed or given) SAN move. While it is pointless to generate moves 10870with a piece that does not match (let alone checking them for legality). 10871And for a piece that matches, it is pointless to test legality of moves 10872that do not match the to-square. 10873 To speed up the process GenLegal and GenPseudoLegal have been equiped 10874with an argument that can indicate the piece type of the required move, 10875so they can skip generating moves with other pieces. TestLegality, 10876Disambiguate and CoordsToAlgebraic make use of this facility, and set also 10877(through global variables rFilter and fFilter) a to-square filter to be 10878applied in the GenLegalCallback before it tests the move for legality. 10879 This patch is especially tricky for Crazyhouse, where the piece indicated 10880in the move might not be the piece actually on the board, because the latter 10881is a promoted Pawn, and has to be demoted toits base type before the 10882comparison. 10883 108842011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10885Fix compile errors WinBoard 10886 10887The patch to make non-existing options non-fatal broke WinBoard. All calls 10888to ExitArgError from it now supply a third argument TRUE to fix it. 10889 108902011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10891Add -fSAN / -sSAN options 10892 10893These options force the PV of the applicable engine to be converted to SAN. 10894They make use of the existing ParsePV routine, after shelfing a possible 10895PV (from user PV walking) to free the space after the last move. 10896Could be costly in terms of CPU usage. 10897 108982011-06-19 10:56:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10899Cure flicker in Move History window, fix highlighting 10900 10901The highlighting of the current move in the Move List window by selecting 10902it did not always work, because some other windows were clearing their text 10903widgets by selecting the contents and killing it, thus snatching the 10904selection away. This has been changed to setting XtNstring to an empty 10905string as a method for clearing without side effects on the selection. 10906As a bonus the Engine Output window now also no longer has the black flicker 10907on clearing it. 10908 In addition, triggering a scroll by setting the insertion point to the 10909end of the text caused excessive flicker in the Move List window, apparently 10910clearing it and redrawing from scratch, (even if there was no scroll motion), 10911to the point where on my slow laptop the move history stayed entirely blank 10912during a rapid succession of moves. This has been combatted by using the 10913end-of-line action procedure (which does not seem to suffer from this) to put 10914the insertion point at the end, when we need to scroll to close to the end. 10915 109162011-06-18 23:48:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10917Fix crash on clearing new Move List window 10918 10919When a new game started and a previous game had filled the Move List 10920window, a crash occurred because an attempt was made to undo the 10921highlighting of a no-longer-existing move, and then scrolling to it. 10922 109232011-06-18 20:46:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10924Use sound for ICS tells also with engine telluser popups 10925 10926The telluser and tellusererror commands now can be assigned a sound. 10927 109282011-06-18 20:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10929Add Score in Move List option to general options dialog XB 10930 10931Now that we have a WinBoard-style Move History window, this option is 10932no longer a no-op in XBoard. 10933 109342011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>: 10935new developer release 10936 10937 109382011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>: 10939updated Changelog, NEWS, etc. 10940 10941 109422011-06-18 12:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10943Update window itle after last game of match 10944 10945The result printed behind player names during a match would still be the one 10946without the game, differing from what the popup would show, which looked 10947sloppy enough for people to complain about it. 10948. 10949 109502011-06-18 10:26:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10951Make WB generic popup translatable 10952 10953When used for internal settings (as in the Load Engine and Tournament 10954Options dialogs), the option names are now subectto translation. 10955 109562011-06-17 21:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10957Redo Move History with generic popup in WinBoard style 10958 10959The use of color and boldness to make the move list more readable 10960unfortunately cannot work in Xaw; reverse video by selection is used as an alternative to highlight the current move. 10961 109622011-06-17 21:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10963Remove stray else 10964 10965Due to an erroneous else, the window parameters of Move History were 10966not retreived (and thus incorrectly saved) when the Engine Output was up. 10967 109682011-06-14 18:47:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10969Make non-existing opton in settings file non-fatal 10970 10971It is rather difficult to recover from a situaton where the settings 10972file contains an unknown option (e.g. because you downgraded to a 10973previous version that had fewer options), especially in WinBoard, where 10974the user settings file is in a hidden folder, and people might not be 10975able to find it, let alone edit it. By just skipping the line with the 10976offending option, rather than generating a fatal error, when reading 10977from a settings file, such options will be automatically purged from the 10978file as soon as you save settings. 10979 Small problem is that the user cannot be warned, as the initialization 10980has not progressed far enough at this point to generate error popups. In 10981XBoard we can at least print to the console, but in WinBoard there is no 10982warning at all. But the worst thing that can happen is that new options 10983in a settings file of a more advanced version will revert to their 10984defaults. 10985 109862011-06-14 18:20:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10987Change long form of -tf option to -tourneyFile 10988 10989This is a more logical name, and in the WinBoard docs it was already 10990described as such. Also remove the -processes option, which in the 10991current design of the tourney manager is no longer used. 10992 109932011-06-14 18:17:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10994Fix default of -remoteUser 10995 10996This has to be an empty string, rather than NULL, to prevent XBoard from 10997segfaulting when the -gateway option is used. 10998 109992011-06-14 13:32:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11000Add -at and -opt options as alternative for @ 11001 11002Windows XP and Vista shortcuts do not display command lines with @ in 11003them correctly, and these optionsprovide a work-around for that. 11004 110052011-06-14 12:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11006Fix empty-string option values in XBoard 11007 11008 110092011-06-14 12:40:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11010Fix crash on switching sound in Vista 11011 11012When choosing a new sound the wave form of the old one was free'ed, but 11013because built-in sounds are not really malloc'ed, this led to a crash. 11014 110152011-06-14 12:36:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11016Update WB docs for tourney manager 11017 11018 110192011-06-14 12:35:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11020Add icon to WB for tournament files 11021 11022 110232011-06-10 16:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11024Redo Time Control dialog with generic popup 11025 11026As poor-man's disabling of the unneeded input fields, we print the word 11027"Unused" in them. 11028 110292011-06-10 14:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11030Some refactoring in xoptions.c to separate out front-end 11031 11032 110332011-06-10 12:38:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11034Redo New Shuffle Game dialog with generic popup 11035 11036The buttons are slightly renamed, and in stead of having an 'off' 11037button to clear it, shuffleOpenings now has its own checkbox, which is 11038ticked when a fixed or dynamic random is chosen with the buttons. 11039 110402011-06-10 11:58:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11041Fix type of shuffleOpenings 11042 11043This was a Boolean option, and thus accessed by the args.h code as such, 11044while it was declared as an int (and used in backend.c as such). This 11045could have led to problems with different endianness. 11046 110472011-06-09 23:57:43 -0700 Tim Mann <tim@tim-mann.org>: 11048Internationalize the file browser. 11049 11050The file browser was missed in the previous round of 11051internationalization and had gotten broken by setting international = 11052True in its widgets. I got nothing but segfaults trying to set 11053international to False in the file browser widget subtree when it was 11054True in the main window, so I gave up and did the 11055internationalization. It turned out to be pretty easy. 11056 11057As a tiny bonus fix, I removed some ../'s from includes, and you can 11058now configure and build xboard in a subdirectory again. This was 11059useful for building both --enable-nls and --disable-nls from the same 11060sources to compare functionality and make sure both still work. 11061 110622011-06-08 20:26:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11063Fix crash at end of Swiss tourney 11064 11065 110662011-06-08 17:33:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11067Fix display of logos 11068 11069The logo files are now sought relative to the WinBoard install 11070directory. Non-existing logos cause clearing of the logo, rather than 11071letting the logo of the prevous engine hang. Logo change is requested 11072explicitly from the back-end (when an engine is initialized for a new 11073game), rather than using the kludge in StartChileProcess. This required 11074a dummy UpdateLogos routine in the XBoard front-end. 11075 110762011-06-08 18:02:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11077Fix parameter handling in adapter command 11078 11079A backslash was not considered the end of an option name, which was 11080fatal for UCCI2WB, which needs %fd\\%fcp in its command line. 11081 110822011-06-08 17:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11083Clear Engine-Output pane when initializing engine 11084 11085This to prevent output from the previous game hanging there during the 11086next game, when the engine that is really playing is in book and 11087doesn't produce thinking output there. 11088 110892011-06-08 17:20:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11090Fix display of last move of last match game 11091 11092When a game was adjudicated (e.g. because XBoard detected mate) GameEnds 11093would trigger an exit if it was the last game of the match, and thus 11094never returned, while the ShowMove was called only after return from 11095Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to 11096cause ShowMove to be called before exiting. (Ugly kludge...) 11097 110982011-06-08 17:38:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11099Fix concurrency in Swiss tourneys 11100 11101The pairing engine was consulted for the next round before all games of 11102the previous round were finished, if other XBoard instances were still 11103playing games. This caused the instances finishing early to stall 11104indefinitely. This is fixed by moving the Swiss pairing code to after 11105the syncInterval code. The normal pairing code (the call to Pairing) 11106must stay before it, because it determines the syncInterval. So ther is 11107a bit of tourneyType dependence cluttering up the code here. :-( 11108 111092011-06-08 17:27:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11110Give error popup when pairing engine fails 11111 11112An invalid pairing now produces an error popup to inform the user, so he 11113knows why the tourney stagnates. 11114 111152011-06-08 17:24:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11116Fix clock mode in tourney starting from -ncp mode 11117 11118When a tourney started from -ncp mode, which was allowed in MatchEvent, 11119because the tourney loads its own engines anyway, the menu enablings and 11120clockmode where not restored to their 'GNUMode' state. 11121 111222011-06-08 17:11:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11123Fix round-robin schedule 11124 11125The first round was played twice, and the formulas used to derive the 11126pairing were not even-odd resistant anyway. Both even and odd number of 11127participants should work now. 11128 111292011-06-08 17:08:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11130Fix interrupting tournament 11131 11132Stopping a tourney by using the Machine Match menu item did not wor 11133properly. 11134 111352011-06-08 16:57:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11136Improve quoting of engine name on install 11137 11138Rather than always using double quotes for the engine command, the 11139engine filename is now double-quoted if it contains spaces (and no 11140double-quotes), and the comand is single-quoted if it contains 11141double-quotes (and double-quoted otherwise). 11142 111432011-06-08 16:49:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11144Print sensible window title during tourneys 11145 11146Rather than the "(W-L-D)" in the title we now print game number and 11147total games, plus indication of the tourney type (rr, gt or sw). 11148 111492011-06-08 16:44:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11150Let XBoard propose name of tourney file 11151 11152Add an option -defaultTourneyName to configure the name that will be 11153proposed in the Tournament Options dialog's tournament-file field. The 11154option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour, 11155mintes, seconds of the curret time in %02d format, or %Y for the year in 11156%04d format. Any tournament -file name is ignored when no participants 11157are given. Participants without a tourney file remains an error. 11158 111592011-06-08 16:30:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11160Improve Tournament dialog layout WB 11161 11162 111632011-06-08 17:05:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11164Fix -matchGames option 11165 11166The new MatchEvent code had broken the -mg option, and used always 11167-defaultMatchGames in stead. 11168 111692011-05-30 19:55:13 -0700 Tim Mann <tim@tim-mann.org>: 11170Fixed small bugs in several .po files, enabling these translations to be used. They all probably need more work from the translation team. I don't speak any of these languages, but I did some spot checks either from my own knowledge or using Google Translate, and they generally look sane. 11171 11172- Several files were in utf8 but needed to be marked as such (that is, 11173 "CHARSET" changed to "UTF-8"). Affected es.po, it.po, ru.po, vi.po, 11174 zh_CN.po, zh_TW.po. 11175 11176- it.po was missing a \n at the end of one translation. 11177 11178- ru.po had unescaped double-quote marks in one translation. 11179 11180- vi.po needed to be normalized to Unicode normalization form C. With 11181 this fix, more characters display correctly, though at least one is 11182 still missing in the X core fonts that xboard is able to use. 11183 See http://vietunicode.sourceforge.net/ for more about Vietnamese. 11184 11185- zh_HK.po was written in big5 and then utf8-encoded on top of that, 11186 making it unusable. I stripped off the spurious utf8 encoding and 11187 then used recode to convert the file to Unicode properly encoded as 11188 utf8. 11189 11190Unfortunately, I wasn't able to test any of the Chinese translations, 11191as I haven't been able to get XCreateFontSet to work in Chinese 11192locales with any of the fonts I have installed, even after adding the 11193Ubuntu language support packages for both simplified and traditional 11194Chinese. I did spot check a bunch of the translations using Google 11195Translate. 11196 11197I've checked in a couple of tiny Perl scripts that I used to do part 11198of the fixups on vi.po and zh_HK.po in case we need them again. 11199 112002011-05-30 14:12:53 -0700 Tim Mann <tim@tim-mann.org>: 11201The empty string can't be translated and it causes the gettext utilities to complain, so change _("") to "". 11202 11203 112042011-05-30 13:21:06 -0700 Tim Mann <tim@tim-mann.org>: 11205Add a final wildcard default for fonts. This gives XCreateFontSet more freedom and lets it find fonts for some obscure charsets where fixed-bold or fixed-medium etc. may not have one. 11206 11207 112082011-05-29 20:14:37 -0700 Tim Mann <tim@tim-mann.org>: 11209Added "misc-fixed" as a fallback font to handle locales where adobe-helvetica does not have all the required characters. The fixed font is ugly but does have a rather complete set of characters, while the helvetica font is missing Cyrillic characters (at least on my distro). I haven't found a way to get a nicer font that includes Cyrillic to work with XCreateFontSet, but I don't fully understand why. I'll try to improve things further in the future if I figure out what's all going wrong. 11210 11211In the process I had to rewrite the code to insert the pixel size into 11212a font name (replacing a "*" in that field). The new code is much 11213more general. 11214 112152011-05-28 23:55:42 -0700 Arun Persaud <arun@nubati.net>: 11216translation: activated Ukrainian translation 11217 11218 112192011-05-28 23:41:24 -0700 Arun Persaud <arun@nubati.net>: 11220translation: added new Ukrainian PO file from the TP 11221 11222 112232011-05-28 21:07:08 -0700 Tim Mann <tim@tim-mann.org>: 11224Fix display of international characters outside the ASCII range. 11225 112261) Set Xaw resources required for internationalization -- 11227 *international and *fontSet. 11228 112292) Untangle the new XFontSet-aware code from the old FindFont code. 11230 It doesn't make any sense to apply the old (and obsolete) size 11231 searching code from FindFont to a font set, which contains fonts 11232 that are all the requested size. 11233 112343) With these changes, the -font option doesn't work at all when given 11235 on the command line. The -font option actually is parsed by the Xt 11236 library, used to set the *font resource, and removed from argv 11237 before xboard can see it, so the option didn't really work properly 11238 with the new WinBoard-style option framework anyway. Now that 11239 -font is even more broken, I changed the documented name of the 11240 option to -messageFont and changed args.h so the option is saved in 11241 ~/.xboard as -messageFont. 11242 112432011-05-28 21:05:00 -0700 Tim Mann <tim@tim-mann.org>: 11244Move "hide thinking" option into alphabetical order. 11245 11246 112472011-05-28 21:01:25 -0700 Tim Mann <tim@tim-mann.org>: 11248Fix a size mismatch in scanf. Untested, but the code could not have worked properly without this fix -- scanf would have written 32-bit values to 16-bit fields, thus smashing adjacent memory. 11249 11250 112512011-05-23 19:05:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11252Fix layout tournament Load Engine dialog WB 11253 11254 112552011-05-23 19:03:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11256Fix ArgTwo warnings 11257 11258 112592011-05-23 19:00:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11260Add Swiss tourneys through pairing engine 11261 11262An external program can be designated pairing engine through the new 11263persistent option -pairingEngine. Defining the option will allow 11264tourneytype -1 to be chosen for Swiss. In this case the pairing engine 11265will be queried for a pairing before every new match game, by sending it 11266the -results string, plus the command 'pairing' + game number. 11267 112682011-05-23 17:37:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11269Allow generic dialog to ignore OK 11270 11271The EndMark callback can now suppress popdown of the dialog on OK, when 11272it somehow does not like the values entered by the user. In XBoard this 11273required all the callbacks to return a value. 11274Caveat: A refused OK would still have set all new values given in the 11275dialog! 11276 112772011-05-23 17:22:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11278Fix CR in multi-line WinBoard text-edits 11279 11280The generic popup did not add CR when strings containing '\n' were 11281printed in a multi-line text-edit, thus joining the lines. It was also 11282not possible to type a CR in a multi-line text-edit. 11283 112842011-05-23 14:16:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11285Let mentioning completed tourney file add one cycle 11286 11287Secifying a tourney file of a fully completed tourney will now resume 11288that tourney with another cycle added. When there are still uncomleted 11289games in the tourney, the usual error message will appear. There are 11290also error popups added for when the user fails to specify a tourney 11291file, or gives too few participants. 11292 112932011-05-16 11:02:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11294Make engine startup failure non-fatal in WinBoard 11295 11296Unlike XBoard, which forks first, the parent process WinBoard has direct 11297knowledge of a failure to execute the engine command, and used it to 11298trigger a fatal error. The code doing this has now been disabled. Only 11299in case of a first engine we switch back to -ncp mode in stead, but no 11300action is taken to 'bury' the deceased engine process. Like in XBoard, 11301errors in writing or reading the pipes will trigger this. 11302 113032011-05-14 17:03:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11304Add secondry adapter command for UCCI or USI 11305 11306The option -uxiAdapter can define a second adapterCommand, which will be 11307invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI. 11308 113092011-05-14 10:05:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11310Obey san feature when sending book moves 11311 11312Book moves were always sent in long algebraic, even when the engine had 11313said it wanted to receive SAN. 11314 113152011-05-14 10:03:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11316Fix initialization of engine state 11317 11318Some of the initialization relied on variables being zero at startup, 11319which meant value from the previouly loaded engine hng on after loading 11320a new one. 11321 113222011-05-11 23:06:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11323Take account of holdings in book key 11324 11325The board is numbered by rank, for comptibility with Polyglot format, 11326starting at a1. We then continue counting in the holdings 'files', in 11327up-rank direction, each holding spanning the full board height (even if 11328it is not fully used). Firstthe left (black) holdings, then the right, 11329Even in Shogi this limits the square number to < 99, which is below the 11330absolute limit of 128 (where we would run out of hash keys). 11331 113322011-05-11 22:48:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11333Alow promotions and drops in book-editing 11334 11335 113362011-05-11 20:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11337Include learn info in book edit 11338 11339 113402011-05-09 21:55:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11341Adapt default directory of lng2po 11342 11343The path is prefixed with "../" to make it runable from the po directory. 11344 113452011-05-09 21:20:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11346Recode some po files 11347 11348po files were generated with the aid of lng2po for Russian, 11349Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251, 11350CP1258, GB2312 and BIG5, respectively. 11351 113522011-05-09 20:11:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11353Implement Edit Book in XBoard 11354 11355 113562011-05-09 09:52:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11357Improve WB Load Engine dialog texts 11358 11359 113602011-05-09 09:48:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11361Make 'add to list' default in Load Engine dialog 11362 11363 113642011-05-09 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11365Add -userFileDirectory option 11366 11367This volatile option is initialized from 'installDir'. It is 11368primarily intended for configuration of WinBoard through its master 11369settings file, and specifies an alternative place to create saveGameFile 11370or look for other user files, in stead of looking in the installDir. 11371 113722011-05-09 09:10:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11373Add option -absoluteAnalysisScores 11374 11375This persistent option flips scores in the when black is thinking in 11376analysis mode, just before they are printed in the engine-output window. 11377 113782011-05-08 17:47:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11379Automatically play moves of clicked PV in analyze mode 11380 11381The Shift key now no longer needs to be pressed to play moves from the 11382PV in analyze mode (so it could be given back its original meaning of 11383starting a variation with the entered moves). In analyze mode the PV 11384walk begins after the first move, so a static right-click plays the 11385first PV move. To just peek the PV you have to walk to the start of it 11386before releasing the mouse button. In other modes the PV walk 11387stillstarts at the very end. 11388 113892011-05-08 17:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11390Let ParsePV always generate SAN move 11391 11392 113932011-05-08 13:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11394Fix vscrolling in XBoard Engine-Output window 11395 11396After clicking the memos they scrolled to the bottom, because SetFocus 11397put the insertion point at the very end of the text. This behavior is 11398now reserved for text-edits containing less than 100 characters. 11399 114002011-05-08 13:22:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11401Fix button sizing in generic popup 11402 11403 114042011-05-08 13:02:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11405Allow changing MultiPV setting from Engine-Output window 11406 11407In analyze mode a header line is printed in the first engine-output 11408pane, which can be right-clicked to increase or decrease the number of 11409PVs. (Only with engines that support the MultiPV option.) 11410 114112011-05-08 11:28:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11412No clearing of Engine-Output memos on stat01 11413 11414 114152011-05-07 23:27:50 -0700 Arun Persaud <arun@nubati.net>: 11416updated xboard.pot with released version 11417 11418 114192011-05-07 22:56:53 -0700 Arun Persaud <arun@nubati.net>: 11420new developer release 11421 11422 114232011-05-07 22:54:29 -0700 Arun Persaud <arun@nubati.net>: 11424updated ChangeLog, NEWS, etc. 11425 11426 114272011-05-07 23:07:46 -0700 Arun Persaud <arun@nubati.net>: 11428deactivated new languages for the moment... 11429 11430po files need some cleanup, probably better to wait until the translation-project looked at them 11431 114322011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>: 11433added translations generated via lng2po from all winboard languages 11434 11435 114362011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>: 11437lng2po.sh: added command line options, GPL header 11438 11439also use a temporary file generated with mktemp instead of a hard coded one 11440 114412011-05-07 17:53:10 -0700 Arun Persaud <arun@nubati.net>: 11442fixed access rights to winboard language files (644 instead of 655) 11443 11444 114452011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11446Import WinBoard language files into git 11447 11448 114492011-05-06 23:14:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11450Let Shift+RightClick on PV actually play the PV moves 11451 11452 114532011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11454Make book-edit function WB 11455 11456The tags dialog is used to display the GUI book moves from the current 11457position, and will be updated when you step or move to another one. 11458The edited move list (with weights) can be written back to the book. 11459 114602011-05-07 16:21:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11461Fix resetting engine options 11462 11463Not all options were reset, and -needsNonCompliantFEN was 'reset' 11464to a completely wrong value, so that bad FENs would be sent. 11465 114662011-05-06 18:51:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11467Add -first/secondPgnName option 11468 11469This option replaces the tidy name of the engine in the PGN player tags 11470of engine-engine games. In WinBoard engines can be installed with this 11471option through a checkbox in the Load Engine dialog. 11472 114732011-05-06 23:31:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11474Let XB generic popup define default file extensions 11475 11476 114772011-05-06 18:25:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11478Save time-control settings in tourney file 11479 11480Because parsing the options and storing them in appData is not enough, 11481the time-control code setting the internally used parameters from the 11482appData info in InitBackend was made into a subroutine, and also caled 11483after parsing the tourney file. 11484 114852011-05-06 20:40:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11486Put saveGameFile in tournament dialog 11487 11488 114892011-05-06 19:17:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11490Plug memory leak, filenames relative to installDir 11491 11492String options are consistently freed now, before assigning a new value 11493to them through strdup. The init code now even does use strdup when 11494setting defaults. This is important for optionslike -lgf, which are not 11495saved in the settings file, and thus are usually left with their 11496default. When a dialog to set them then uses free, this causes a crash. 11497When setting the defaults uses strdup, ParseArgs can already free them. 11498This plugs an important memory leak, as ParseArgs in now called to parse 11499the tourney file before every tourney game (twice!), and the lists of 11500participants and results in it can be quite long. Macros are defined in 11501common.h to make the code look simpler. 11502 Filenames entered through the generic popup are now interpreted 11503relative to the WinBoard installation folder, just as the saveGameFile 11504already was. The code handling the atter was made into a subroutine for 11505this. 11506 115072011-05-06 22:02:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11508Add WB new popup prototypes 11509 11510 115112011-05-06 18:58:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11512Add partcipants at bottom in tourney dialog (WB) 11513 11514 115152011-05-06 18:56:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11516Fix range of tourneyType spin WB 11517 11518 115192011-05-06 18:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11520Fix exit popup in tourney mode 11521 11522Only the instance finishing the last tourney game will cause a popup 11523with final standings. As long as there are still busy games, it exits or 11524switches back to idle mode silently. 11525 115262011-05-06 18:11:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11527Fix stopping of match in tourney mode 11528 11529 115302011-05-06 18:59:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11531Add default extension in file browser 11532 11533 115342011-05-06 22:37:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11535Improve sizing of comment and tags dialogs 11536 11537There seems to be a bug in Xaw for the sizing of buttons; they get 11538unpredicatble and weird sizes when the size is not explicitly set, 11539possibly stretching the initial width of a dialog to rediculous values. 11540Sizing back to a remembered value from the settings file then makes 11541buttons overlapand text edits shrink to almost nothing. To prevent that 11542we now define exlicit sizes for the buttons in tags and comment popups. 11543 115442011-05-06 21:00:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11545Fix generic combobox bug 11546 11547The patch placing gettext markers was done wrong, setting the 11548translated menu text outside the loop, so all entries became the same. 11549 115502011-05-07 14:23:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11551Fix PV walking in analysis mode 11552 11553ParsePV assumed that the PV would always have been produced by an engin 11554thinking about the final position of the game (or the one before it). In 11555analysismode, however, the engine can be analysing positions internal to 11556the game, and the PV would be considered invalid. This is fixed by 11557cutting of the tail off the game (shelving it in variation fashion) 11558before starting the PV walk, and reverting afterwards. 11559 For this the PushTail and PopTail routines had to be split into an 11560'inner' part, doing the pushing and popping, and an outer part, handling 11561menu graying and popdowns (which is undesirable in in this application). 11562 115632011-05-03 00:24:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11564Lift length-limit on text-edits in WB generic popup 11565 11566 115672011-05-04 13:53:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11568Lift limitation of text length in generic dialog XB 11569 11570All string options should now point to allocated memory, as strdup / 11571free is consistently used on them. This is OK for values received from 11572ParseArgs, but for non-arg intermediate variables that must receive strg 11573values, such as in the comment and tags popups, strdup has to be used to 11574initialize those. 11575 115762011-05-04 14:53:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11577Implement Tournament Options dialog WinBoard 11578 11579The file browser now can select on extension WB generic dialogs, 11580with a default based on the option.max value of the option for which it 11581browses. A textBox can be forced to be multiline by putting the number 11582of extra lines in option.min. 11583 115842011-05-04 15:30:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11585Make option to draw second engine from first list 11586 11587 115882011-05-03 00:17:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11589Fix error message on engine load 11590 11591 115922011-05-04 15:09:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11593Implement Load Engine dialog in WinBoard 11594 11595The Load Engine dialog is implemented for WinBoard, and is invoked by 11596the menu item Engine->Load, which formerly was Install 2nd. Install 1st 11597is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate 11598fields for the engine executale and its parameters. 11599 The dialog is implemented by converting the Engine Settings popup into 11600a generic dialog generator. 11601 116022011-05-04 13:43:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11603Load new logo on engine change WinBoard 11604 11605Picking the logo for the first engine is made into a subroutine. The 11606code for picking the logo of the first engine was made into a subrroutne 11607for this. We use the kludge to recognize the engine by its command line 11608when starting a new engine process. 11609 116102011-05-04 13:36:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11611Allow switching off match mode through menu 11612 11613The Machine Match menu item is now checkmarked, and no longer grayed 11614during a match, and clicking it while a match is running will terminate 11615the match after the current game. To not be left with hanging 11616checkmarks, the checkmark is already removed duringthe last match game 11617(which is logically equivalent to ordinary Two Machines mode anyway). 11618 116192011-05-03 00:14:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11620Calculate and display tourney result 11621 11622 116232011-05-04 18:42:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11624Implement Tournament Manager 11625 11626New command-line options are added to specify the tourney: -tourneyType 11627(-tt), -tourneyCycles (-cy), -participants, -syncAfterRound, 11628-syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but 11629otherwise volatile. When a tourneyFile is specified during a match, 11630a new routine NextTourneyGame is called from NextMatchGame before every 11631game, to decide the pairing, and unload and redefine the engines, when 11632needed. The XBoard Match Options dialog can be used to set the options 11633and create the tournament file. 11634 Actual loading of new engines is done by TwoMachinesEvent, which is 11635now modified to also wait for the feature timeout of the first engine. 11636Waiting for the matchPause is now also implemented there, after waiting 11637for the engines (so they can be started during the pause). 11638 Pairings and color assignment is now all done in an absolute 11639(non-incremental) way, based on a new global game-number variable 11640nextGame, which takes over the function of matchGame in a tourney. The 11641latter is now used to count games between the same players, so it can be 11642still used to derive the load-file indexes (again in absolute fashion). 11643 The next game to play is already picked in GameEnd, so it can be 11644decided if there is a game to be scheduled, or if we can terminate. 11645 116462011-05-04 15:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11647Display note in stead of empty engine-settings dialog XB 11648 11649 116502011-04-24 18:02:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11651Fix crash on empty Engine Settings dialog 11652 11653The generic popup was not foolproof against this. 11654 116552011-04-22 12:47:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11656Refactor code for loading games and positions in match 11657 11658The code in NextMatchGame and MatchEvent was nearly the same, 11659(MatchEvent did a little more error checking, but that is never 11660harmful), and could be combined. In stead of determining the load index 11661incrementally, it is now calculated in an absolute way from the game 11662number, so it can be used more easily in tournament mode. 11663 116642011-04-21 22:37:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11665Add callback possibility to combobox selection 11666 11667 116682011-04-24 17:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11669Lock game an position file during writing 11670 11671The use of flock() on the file desctiptor of the opened stream should 11672guarantee multiple XBoard instances, saving on the same file, will not 11673interleave their PGN games or FEN positions. 11674 116752011-04-27 17:05:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11676Remove building rule for parser.c from WB makefiles 11677 11678 116792011-04-29 16:58:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11680Fix Engine Settings buttons in WinBoard 11681 11682This was broken by a leftover statement from debugging the -file/-path 11683patch. 11684 116852011-05-02 13:38:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11686Implement flock in WinBoard 11687 11688This system function seems unknown in a MinGW compile, so it is 11689implemented with the aid of file byte-range locking, using a lock on the 11690first 1024 bytes of the file as a semaphore. 11691 116922011-04-29 23:06:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11693Fix grayout XB Match Options in ICS mode 11694 11695 116962011-05-03 00:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11697Delay loading of second engine until it is used 11698 11699 117002011-05-02 15:00:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11701Fix zippy bughouse partner bug 11702 11703The patchs to subject Zippy messages to coloriation was faulty, because 11704there were messages recognized by zippy that were not colorized, and 11705such messages would then not be 'read away' after zippy recognition 11706(except for the first character). As a result the messages were 11707processed over and over again. 11708 117092011-05-04 10:59:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11710Silence more rpm warnings 11711 11712 117132011-05-01 20:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11714Fix warnings XBoard file browser 11715 11716All the prototypes have been moved to selfile.h, to force uniformity. 11717The order of the #include files xstat.h and selfile.h had to be 11718swapped, to make sure 'struct stat' is a nown type atthe time of 11719prototype declaration. The event handler SFmotionList is considered 11720wrong type because of its third argument (XMotionEvent in stead of 11721XEvent), and had to be casted to (XtEventHandler) when passed to 11722XtAddEventHandler. 11723 117242011-05-04 10:56:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11725Fix some warnings and header-file improvement 11726 11727Ther were lot of 'extern' declarations in the x-files, so called 11728'imports from xboard.c', (sometimes backend.c) which logically belonged 11729in xboard.h (backend.h) to ensure their uniform definition. These have 11730now been moved there. Some prototypes have been added in xboard.h as 11731well, for functions that needed calling from xoptions.c. 11732 117332011-05-04 10:50:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11734Create conversion tools for language files 11735 11736A shell script "lng2po.sh" is provided, to apply the translation given 11737in a WinBoard .lng file to "xboard.pot", in order to generate a 11738"language.po" file containing translations for all strings for which 11739the .lng file had a translation. It makes use of a file "metascript", 11740which is the ed script used to turn the .lng file in an ed script to 11741turn the .pot into .po. For example, the command "./lng2po.sh 11742espa?ol.lng" will create a file "language.po", which can be renamed to 11743"es.po". 11744****************************** WARNING ******************************** 11745 Note that the lng2po script does a "recode" that assumes the given 11746.lng file is encoded in latin-1. This means it canot be used without 11747modification for the Vietnamese and Chinese translation; you would have 11748to replace latin-1 by the applicable encoding first (CP1258 / BG2312 / 11749BIG5). 11750 117512011-04-27 22:04:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11752Put gettext markers in generic dialog creator 11753 11754This is done by adding extra XtNstring argumentsto the widget gcreaton, 11755so the displayed name can be different fromthe widget name. 11756 117572011-05-01 19:56:38 -0700 Tim Mann <tim@tim-mann.org>: 11758Use getaddrinfo instead of gethostbyname. Hopefully this makes us compatible with IPv6 and with hosts that have more than one IP address. However, I don't know of any chess servers that have either of those properties, so I couldn't test that. I did test that xboard still works with freechess.org and chessclub.com and that it gives an error message for invalid host names. 11759 11760 117612011-04-24 11:18:28 -0700 Arun Persaud <arun@nubati.net>: 11762updated German translation 11763 11764 117652011-04-24 11:17:43 -0700 Arun Persaud <arun@nubati.net>: 11766replaced hardcoded email address with generic PACKAGE_BUGREPORT 11767 11768 117692011-04-23 10:51:57 -0700 Arun Persaud <arun@nubati.net>: 11770updated po-files; updated german translation 11771 11772 117732011-04-23 10:51:02 -0700 Arun Persaud <arun@nubati.net>: 11774updated list of files that include translation strings; updated pot-file 11775 11776 117772011-04-22 21:50:58 -0700 Arun Persaud <arun@nubati.net>: 11778marked more strings for gettext that were only marked with N_() 11779 11780they need to be marked again with _() when they are used to get the translated string 11781 117822011-04-22 21:39:22 -0700 Arun Persaud <arun@nubati.net>: 11783updated translation files 11784 11785 117862011-04-22 21:37:22 -0700 Arun Persaud <arun@nubati.net>: 11787added/fixed i18n support via gettext to xboard 11788 11789this was already added a long time ago, but now it's added again to 11790autoconf. Also fixed some compile errors that showed up. 11791 117922011-04-20 10:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11793Make engine startup error non-fatal 11794 11795When engine startup fails, do not generate a fatal error, but swicth 11796back to -ncp mode. Write on broken pipe errors had to be suppressed for 11797this. 11798 117992011-04-20 14:35:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11800Make engine loadable during session 11801 11802A "Load Engine ..." menu item is added to the Engine menu, which pops 11803up a dialog where one can replace the first or second engine by a new 11804one, without destroying the game state. Switching from -ncp to engine 11805mode needed activation of some menu items in SetGNUMode, and 11806re-enabling clockMode. It was also important that noChessProgram is 11807cleared before re-initializing the ChessProgramState. 11808 The Load-Engine dialog can select from the list of installed 11809engines, and also add a newly specified engine to this list. In this 11810case it saves the directory, hasBook, and isUCI info with the engine, 11811and optionally the current variant. When loading an engine with a 11812specified variant, it resets the game and switches to the new variant. 11813 118142011-04-18 15:56:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11815Generalize WaitForSecond to WaitForEngine 11816 11817 118182011-04-18 15:46:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11819Add UnloadEngine routine 11820 11821 118222011-04-20 13:45:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11823Put engine initialization code in per-engine function 11824 11825Initializing of the ChessProgramStates first and second from the 11826option settings in appData is now done by separate calls to the same 11827routine. Clearing of options is added to the initialization. This is 11828needed when reloading an engine. This is done in a separate routine, 11829which could also be called on -reset options. 11830 118312011-04-18 13:21:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11832Bring structure in appData engine options 11833 11834All options in appData that came in pairs for both engines are replaced 11835by arrays of ENGINES (=2, for now) elements. The use of the named 11836appData field that are replaced in the source is replaced by use of the 11837corresponding array element, by #define directives in common.h, awaiting 11838their replacement. 11839 118402011-04-19 15:15:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11841Fix gettext macros in option dialogs 11842 11843The strings in the tables were using _() in stead of N_(). 11844 118452011-04-18 20:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11846Fix crash on using Engine #1 Settings in ICS non-zippy mode 11847 11848If XBoard is compiled with zippy the Engine #1 Settings menu was not 11849grayed out even when you don't run in zippy mode, and using it would 11850then crash XBoard. 11851 118522011-04-19 15:07:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11853Fix shogipixmaps 11854 11855Some pixmaps forptomoted pieces had wrong background color, others had a 11856wrong name (so the one with the correct name was missing). 11857 118582011-04-17 19:12:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11859Change texture-install directory to pixmaps/textures 11860 11861 118622011-04-17 17:36:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11863Limit install of sound files to those in menu 11864 11865The sounds directory is set to .../xboard/sounds, and only ten 11866sounds are kept (all non-spoken). 11867 118682011-04-17 17:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11869Remove some bitmaps from install 11870 11871Some files in the bitmaps source directory need not be installed, 11872because they are there only to be linked to the binary in a build 11873without LIBXPM, are README files or conversion programs. I left only the 11874stuff that is in a Debian binary package in .../xboard/bitmaps.xchess. 11875 118762011-04-17 16:34:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11877Configure some default sounds 11878 11879The move sound is set to Wood Thunk; the sounds for tell and challenge 11880events to Phone and Gong, respectively. 11881 118822011-04-17 16:17:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11883Change default sounds in Xboard menu 11884 11885All spoken sounds are removed now. Thud, Click and Ching are replaced by 11886Wood Thunk, Slap and Cymbal; Car Horn and Pop are added. 11887 118882011-04-17 12:46:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11889Make user wav file available for try-out in sound dialog 11890 11891The GenericReadout was adapted to be able to read a single selected 11892value, so that the callback to the 'play' button in the sounds dialog 11893could get the name of the 'user WAV file' without accepting all settings 11894for the other sounds (which should only happen on 'OK', and might still 11895be cancelled in stead). 11896 118972011-04-16 10:36:31 -0700 Arun Persaud <apersaud@lbl.gov>: 11898configure: enable silent rules by default 11899 11900 119012011-04-16 10:28:16 -0700 Arun Persaud <apersaud@lbl.gov>: 11902configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/ 11903 11904 119052011-04-16 10:25:33 -0700 Arun Persaud <apersaud@lbl.gov>: 11906configure: added install of sounds in .../games/xboard/sounds/default 11907 11908 119092011-04-16 09:54:26 -0700 Arun Persaud <apersaud@lbl.gov>: 11910configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir 11911 11912pixmaps will now be installed under .../games/xboard/pixmaps/default/ 11913 119142011-04-16 13:40:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11915Fix gamelist highlight 11916 11917Reopening the gamelist should highlight the current game. 11918 119192011-04-16 10:25:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11920Fix size limit on 'save as diagram' 11921 11922In stead of a fixed-size buffer the diagram-save code now uses an 11923allocated buffer with size calculated from the bitmap parameters to 11924retreive the bitmap data, so it should work for all sizes. 11925 119262011-04-15 22:04:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11927Fix chaining of bottom-row dialog buttons 11928 11929The OK & cancel buttons are chained to the bottom. This patch makes sure 11930that other buttons appearing in the same row (as in the tags and 11931comment dialogs) will be chained that way too, so that they will behave 11932the same on vertical sizing. The bottom of a full-width text-edit above 11933it will be chained to bottom too. To make this work in the tags dialog, 11934the (optional) cmail-message field had to be put above the tags memo. 11935 119362011-04-15 19:18:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11937Fix switching between pixmap and bitmap pieces 11938 11939There were still several flags that had to be reset when redoing the 11940graphics initialization. The Debian patch to use a default bitmap 11941directory when none is given but monoMode is selected or forced, is 11942moved to a more sensible place, so that it does not disturb matters when 11943compiled without LIBXPM (when we do have built-in bitmaps). 11944 119452011-04-15 15:47:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11946Remove outline-pieces option from board-options dialog 11947 11948This option does not exist in XBoard (yet). 11949 119502011-04-15 15:41:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11951Fix running of clock during hash allocation engine 11952 11953In TwoMachinesEvent we now wait for the second engine to acknowledge the 11954'ping' after 'new', to make sure it is done allocating hash in reaction 11955to the preceding 'memory' command, before the clock for the game is 11956started. 11957 119582011-04-14 21:42:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11959Describe move type-in in texi file 11960 11961 119622011-04-14 20:34:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11963Describe Copy Game List menu item in texi file 11964 11965 119662011-04-14 20:30:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11967Describe -sweepPromotions in texi file 11968 11969The new method for selection promotion piece, and the -sweepPromotions 11970option are described in the texi file. 11971 119722011-04-14 20:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11973Describe -pieceMenu option in texi file 11974 11975The sweep method for selecting a piece in Edit-Position mode is 11976explained, as well as the -pieceMenu option. 11977 119782011-04-14 15:59:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11979Update texi file 11980 11981Descriptions of the new XBoard menu dialogs are included in the docs. 11982 119832011-04-14 21:06:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11984Reorganize texi description 11985 11986 119872011-04-14 12:31:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11988Fix sweep-promotions patch 11989 11990Setting of the from square was moved to before OKtoStartUserMove in the 11991LeftClick handler, to make sure we could test the promotion possiblity 11992when OnlyMove() would have altered (x,y) to be no longer the from 11993square. But this setting of fromX, fromY hung on also if the move was 11994not OK, so you could effectively select opponent pieces and empty 11995squares. The from-square is now set back to undefined when it is not OK 11996to move the piece you clicked. 11997 119982011-04-14 11:56:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11999Alter treatment of moves with empty squares 12000 12001In Edit Position mode one can move empty squares, and use them to 12002'capture' pieces as a means to clear their square. But this often leads 12003to unintended disappearence of pieces one wants to grab for dragging, if 12004a previous click had inadvertantly left an empty square selected: the 12005click on the piece is then seen as the to-click of a click-click move. 12006 This patch treats to-clicks of moves with an empty-square differently 12007from other to-clicks: Rather than performing the move (in this case 12008clearing of the to-square) on the down-click, it defers that to the 12009up-click, and only does it if that up-click is in the same square. This 12010allows the user to grab the piece on the down-click, and drag it to 12011another square, if that is what he wanted to do, without being disturbed 12012by sudden implosion of the piece he tried to grab. 12013 If the to-square is in the holdings, grabbing the piece is the only 12014action, as moves of empty squares into the holdings are forbidden anyway. 12015 120162011-04-13 13:14:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12017Block selection of a directory when file is needed 12018 12019When we are not browsing merely to obtain a name to put in a text edit, 12020but really must return an open file pointer, selection of a directory 12021(ending in '/') can no longer be OK'ed in the file browser. (XBoard 12022tends to segfault when offered garbage for game or position file...) 12023 120242011-04-13 12:23:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12025Let double-click select file in file browser 12026 12027A second click on the already selected entry now has the same effect as 12028pressing the OK button. 12029 120302011-04-12 17:06:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12031Couple mouse wheel to v-scrolls in file browser 12032 12033A newly added mouse-wheel event handler was made to call the v-scroll 12034callback routines with parameters to step one entry. The button-press 12035handler for the lists themselves was also made to intercept the wheel 12036events (buttons 4 and 5), to prevent they would select an entry, and 12037make them scroll in stead as well. 12038 120392011-04-13 11:41:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12040Fix crash copying game list when there is none 12041 12042 120432011-04-13 11:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12044Fix changing of float setting by generic popup 12045 12046Changing a float setting (so far the only one is in the Load Options 12047dalog) did not always work, because the old value was clipped to (int), 12048so that changing it back to an integer value might erroneously conclude 12049there was no change. 12050 120512011-04-13 16:15:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12052Fix crash on closing dialogs in wrong order 12053 12054When a menu dialog was closed when it still had an open file-browse 12055daughter, which could be done through the system menu X on the title 12056bar, later closing of the file browser caused a crash. This is solved by 12057keeping track of the fact that there is such a daughter through a global 12058flag, and ignoring the pop-down command if there is one. 12059 120602011-04-13 16:33:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12061Fix startup focus of board window 12062 12063When there were open auxiliary windows, these would have focus on 12064starting up XBoard. The XtSetKeyboardFocus call added in XBoard main() 12065was ineffective in curing that. It has now been replaced by a call to 12066XSetInputFocus, which does do the job. By giving input focus to the form 12067widget, rather than the board widget, XBoard will be immediately 12068sensitive to all key bindings. 12069 120702011-04-13 15:48:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12071Fix game-list highight error when filtered (WB) 12072 12073When the gamelist was filtered, the game that was highlingted was the 12074n-th game in the list rather than the n-th game in the file, when the 12075latter was loaded (and n did not exceed the number of filtered games). 12076This is fixed now by searching for the line in the listbox that starts 12077with the game number n, rather than taking the n-th line. 12078 120792011-04-12 19:20:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12080Refactor move type-in code 12081 12082Common code between XBoard and WinBoard was moved to the back-end 12083creating TypeInEvent() and TypeInDoneEvent() routines. 12084 120852011-04-12 10:13:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12086Fix saving of XBoard fonts with spaces in name 12087 12088SaveFontArg now prints quotes around the saved font string, so that the 12089general option-argument parser doesnot stop at the first space it sees. 12090 120912011-04-11 20:48:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12092Implement move type-in for XBoard 12093 12094By adding an event handler to the main window for key presses, users can 12095now type moves when the board has focus, like in WinBoard. The typed 12096character appears as first character in the type-in box that willpop up. 12097Enter and Escape close the box; finishing the typing of the move enters 12098it. Like in WinBoard it is also possible to type a move number (to go 12099there) or (in Edit Position mode) a FEN. 12100 121012011-04-11 20:59:44 -0700 Arun Persaud <apersaud@lbl.gov>: 12102new developer release 12103 12104tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG. 12105The Changelog is just the one from master. 12106 121072011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>: 12108updated Changelog, NEWS, etc. 12109 12110 121112011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12112Fix use of game/position file in first match game 12113 12114When a match was started from the menu, it was not paying attention to 12115game and position files. (Later games were.) The code that handled this 12116in the initialization when a match is started through the command line 12117was made into a routine MatchEvent, which can be called from the menu 12118proc too. 12119 121202011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12121Fix crash on opening ICS Text Menu 12122 12123The patch for the color defaults had broken the ICS Text Menu. 12124 121252011-04-09 19:22:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12126Implement Copy Game List menu item for XBoard 12127 12128Some WinBoard code was cloned for this. 12129 121302011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12131Third method of sweep selection 12132 12133This method sweeps through the possible promotion choices for the piece 12134that is being dragged, as long as you drag a 7th-rank Pawn backwards. On 12135draggin such a Pawn forwards, it immediately shows it as the piece you 12136are going to promote to. 12137 121382011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12139Alternative sweep promotions 12140 12141The sweep takes place on the from-square here. 12142 121432011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12144Make sweep-select promotions work in WinBoard 12145 12146The mouse-move handler had to be connected to the PromoScroll back-end 12147routine. 12148 121492011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12150Fix path browsing in WinBoard 12151 12152The routine BrowseForFolder was still declared as static in woptions.c, 12153while it was used from wsettings.c. 12154 121552011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12156Fixes to sweep selection 12157 12158 121592011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12160Implement sweep selection of promotion piece 12161 12162When the option -sweepPromotions is true, a click-click promotion move 12163will first display the default choice (usually Queen) on the promotion 12164square. While you have the mouse button still down, you can change the 12165piece by moving the mouse vertically. 12166 121672011-04-06 21:20:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12168Implement sweep selection as alternative for the piece menu 12169 12170When the option -pieceMenu is off, the piece menu will no longer appear 12171on right-clicks in Edit Position mode. In stead a Pawn of the chosen 12172color will appear immediately in the clicked square, and vertical 12173movement of the mouse with the right button down will cycle through 12174all other pieces defined in the pieceToCharTable of the current variant. 12175 Setting the side to move is acheived by clicking the correspondig 12176clock. Clear board can be effected by clicking the clock of the side 12177that already has the move. 12178 121792011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12180Remember Tags and Comment dialog coordinates 12181 12182The save-settings code now uses the shell and shellUp arrays from the 12183GenericPopUp to read out the window coordinates for Tags and Comment 12184window. Pointers used by GenericPopUp are set topoint to the 12185corresponding WindowPlacement structs. 12186 121872011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12188Redo Tags dialog 12189 12190The generic popup is used for generating the Tags / EditTags popups. 12191The tags popup use a 'label' field to display the cmail message 12192 121932011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12194Implement Edit-Comment window through generic popup 12195 12196The Edit Comment and Comment popups are combined into one, that can 12197always be edited (similar to WinBoard). It uses shell number 1. 12198(Number 0 is for all transient dialogs.) A save-changes button is added. 12199The positioning is not implemented yet. 12200 122012011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12202Refinements to generic popup and color picker 12203 12204*) The text part of a checkbox can now be clicked to toggle the option. 12205*) Typing <Enter> in single-line text edits is ignored 12206*) Using a spin button now sets focus to the affected text edit, with 12207the insert position at the end. 12208*) Using the sample field or an RGB button sets focus to the 12209corresponding text edit, with the insert position at the end. 12210*) The adjust buttons now work in reverse, with a D button for "darker". 12211*) Editing a color field causes the sample field to update to the new 12212color when you type <Enter>. 12213*) The color pickers now define a default color, which can be instated 12214by clicking on the sample field. 12215*) Fix some 64-bit pointer warnings 12216 122172011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12218Let file browser filter on extension 12219 12220A new text field is added in the file-browse dialog, to hold (space- 12221separated) extensions, on which the filenames are then filtered. This 12222field is initialized by the caller, depending on what we need the file 12223for, but can be changed by the user. (Directories are always displayed!) 12224 Changes in the extension field become effective after typing a return 12225in it. Escape typed in the extension field gives focus to the filename 12226field, and restores the contents. Escape in the filename field cancels 12227the dialog, return ther OKs it. The extension filter of the browser is 12228initialized to the extension (if any) of the file currently in the text 12229edit you are browsing for. 12230 When re-opening the file browser from the XBoard File menu, and there 12231is no suggested filename, it will now start with the last succesfully 12232opened name as suggestion. Calling the browser with a NULL argument 12233for the suggested filename requests that (unlike calling with an empty 12234string, which will start it in the current directory). To make this 12235work smoothly, the filebrowser saves the last used name on entry, so it 12236can be restored on cancel, so that a cancelled browse session really 12237erases all memory of it. 12238 122392011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12240Fix animation masks on changing piece pixmaps 12241 12242The animation masks were not remade when new pieces were loaded 12243interactively through the board-options dialog. 12244 122452011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12246Fix linegap option in board dialog 12247 12248The lineGC was not recalculated, so the grid lines stayed the same 12249thickness. In addition, setting the line-gap override to -1 now 12250retrieves the original line gap that belongs to the current board size. 12251 122522011-03-05 23:27:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12253Make a kind of ICS text menu in XBoard as a dialog 12254 12255The dialog with buttons can be opened from the View menu. It is 12256configured by the option -icsMenu; a default setting for this is 12257included in the master settings file. 12258 The commands specified by the -icsMenu can now contain $name and $input 12259keywords, which will be replaced by the current primary selection, or 12260text the user types, respectively. Commands that contain $name will not 12261be sent when the current selection is empty. Commands that do not 12262contain $input will be sent to the ICS immediately; otherwise they will 12263be placed in the ICS Input Box, with the cursor at the point of the 12264$input, and input focus given to the Input Box, so the user can start 12265typing. When a command is prefixed by "$add " it will be appended to the 12266existing ICS Input Box contents, rather than replace it. 12267 The items now have to be separated by ";\n", and button text from 12268command by ';' (with optional linefeed). This allows configuring of 12269multi-line commands, as a single linefeed no longer has special 12270sigificance. 12271 122722011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12273Redo ICS input box with generic popup 12274 12275This box is just a single text edit, but the complexity is in the added 12276callbacks. These callbacks remain in xboard.c, and were altered to 12277access the edit through the option.handle field. 12278 122792011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12280Activate -path and -file options 12281 12282In XBoard the generic popup was prepared for this. In WinBoard, for 12283-path options the BrowseFolder routine is used, and had to be made 12284global (prototype in winboard.h). 12285 122862011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12287Let generic popup generate Engine Settings dialog 12288 12289 122902011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12291Merge SettingsPopUp into GenericPopUp 12292 12293Based on currentCps the values read from the dialog are sent to the 12294engine, or stored into the option.target in the callback, and fetched 12295from the option.target in the PopUp. The currentCps is cleared in the 12296generic popdown of a transient dialog. 12297 122982011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12299Make generic dialog popup reentrant 12300 12301To allow persistent dialogs to be implemented through the generic popup, 12302it must be possible to have several dialogs open at the same time, and 12303thus make sure the popdowns under the cacel or close-window button know 12304which one to pop down. To this end an array shells[] is created that 12305takes over the function of settingsShell, and GenericPopUp gets an extra 12306parameter telling it which element to use for storing the dialog shell. 12307This number is then also passed to the callbacks that trigger popdown. 12308This was a bit nasty for the CatchDeleteWindow stuff, which passes user 12309data to the callback as text strings. 12310Keep a separate up/down indicator, so that shell widgets can be kept 12311for persistent dialogs. Also keep a currentOption per dialog type. 12312 The coordinates and size of the window is read out and stored in a 12313WindowPlacement structure, (if one is specified for that dialog), when 12314the dialog is popped down. When initialized the structure is also used 12315to set the window parameters when the dialog is created. (The idea being 12316that the structure was saved in the settings file.) 12317 The routine MarkMenu checkmarks a given menu item, and logs it for the 12318given dialog type, so that a later popdown automatically unchecks is. 12319 123202011-02-25 12:14:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12321Implement Machine Match menu item and options dialog 12322 12323An item to start a match from the menu is added, similar to what 12324WinBoard has. (The code is duplicated, so I guess it should be moved to 12325the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in 12326the Options menu was added with the aid of the generic popup, and allows 12327the user to set the load Game / Position File and Index. 12328 123292011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12330Create General-Options dialog 12331 12332The generic popup is used to implement a General-Options dialog, which 12333contains all Boolaen options that used to be set directly from the main 12334Options menu, plus a spin option for the flash count and flash rate. 12335The corresponing options are removed from the main Options menu, but the 12336whole thing is made conditional on a compiler switch OPTIONSDIALOG. 12337The dialog needs an OK callback for sending an altered ponder-state to 12338the engine. (Why isn't this option disabled in -ncp mode, btw?) 12339A spin control is added to adjust -animateSpeed between 5 and 100. 12340Add dropMenu and showTargetSquares item as well. 12341 123422011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12343Redo new-variant dialog with generic popup 12344 12345Some special code was added in GenericPopUp() to force buttons of the 12346type needed in the New Variant dialog (wide, colored, greyed-out on 12347variant type). The dialog was implemented with these, and callbacks for 12348the buttons directly exit the dialog, without the need for OK. New spin 12349controls are added to the dialog for adjusting the board format. 12350 123512011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12352Redo common-engine dialog with generic popup 12353 12354The ponder option was removed, as it is already in the main Options 12355menu, and would require nastiness in the OK callback. Added book options 12356in common-engine dialog. 12357 123582011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12359Redo adjudications dialog through generic popup 12360 12361We dropped the periodic-updates option, as it is already in the main 12362Option menu. 12363 123642011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12365Make sounds dialog for XBoard 12366 12367This uses the combo boxes. A 'play' button isimplemented for a test 12368sound. A sound directory is introduced, and can be set through the 12369dialog. A default setting for -soundDirectory is added to xboard.conf. 12370 123712011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12372Add ICS options dialog 12373 12374 123752011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12376Add board dialog XBoard 12377 12378The GenericPopUp() is used to implement a dialog for board options. The 12379board dialog needs to trigger redraw and redefinition of the 12380colors, through an OK callback. Color-pickers are used for the 6 basic 12381color settings. 12382 To allow changing board settings during the session (i.e. from a menu 12383dialog), the routines to allocate resources have to free the resources 12384for the previous settings first. This patch take care of XtCreateGCs(), 12385preventing re-creation of resources that are unchangeable (such as the 12386grid color), and calling XtReleastGC() on GCs that can be changed. 12387To prevent resource leaks the old pixmaps are deleted before making new 12388ones on second or later calls of CreateXPMPieces(). 12389 123902011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12391Add browse button to generic popup 12392 12393Options of type FileName and PathName cause a browse button to be added 12394behind the text field. The SpinCallback is used to handle the 12395button presses, and invokes the file browser dialog to obtain a 12396filename, which is then copied to the text field. 12397 123982011-04-01 21:49:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12399Make generic XBoard popup, and implement 2 dialogs 12400 12401The Engine-Settings dialog of XBoard was cloned to work on predefined 12402lists of (XBoard) options, rather than engine options. An extra field 12403was added to the Option struct, to hold a pointer to the XBoard variable 12404that should hold the option setting, so on OK'ing the dialog the altered 12405values can be copied there. Not usable for options which should trigger 12406an action (like redraw, or sending something to the engine). 12407A Load Game, Save Game and ICS Options dialog were then defined by 12408tables fed to GenericPopUp(). Options set from these dialogs were removed 12409from the main Option menu, which removes a lot of code from xboard.c 12410(for checkmarking, disabling the menu items). 12411 A button defined in the GenericPopUp can attain the color indicated 12412by a previous text field, and add a callback to change the color in a 12413spin-like manner (but using R G B W in stead of + - butons). 12414The EndMark option can specify a callback, to be used on OK. 12415A non-zero max field in the Option descriptor will be used to set the 12416width of ComboBox, TextBox and Button optons. 12417The elements are chained such that extra space goes fully into the input 12418fields. A label type is added for clarifying texts that would not fit in 12419the option names. A break-type (pseudo-)option is added. Make OK and 12420cancel button suppressable in generic popup (by 2 bit of the option.min 12421field). 12422 124232011-04-03 11:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12424Add file-browser option to just return name 12425 12426By passing mode "f" the file browser dialog will not open the selected 12427file at all, so it can be used to retreive the name for the benefit of a 12428file-browser button to a -file option. A mode "p" will limit the 12429selection to directories only, to browse for a path. 12430 124312011-04-03 13:15:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 12432Put insertion point at end of text on SetFocus 12433 12434 124352011-04-05 23:47:34 -0700 Arun Persaud <apersaud@lbl.gov>: 12436fixed 64 bit warnings by casting integers to intptr_t before casting to int 12437 12438 124392011-04-05 23:24:24 -0700 Arun Persaud <apersaud@lbl.gov>: 12440removed check and #includes for malloc.h, since it's not needed 12441 12442hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;) 12443 124442011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>: 12445check if malloc.h is present before including it 12446 12447OS X 10.6 doesn't have malloc.h, so it complained. 12448 124492011-04-03 20:01:36 -0700 Arun Persaud <apersaud@lbl.gov>: 12450Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file 12451 12452removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file 12453 124542011-03-12 14:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12455Fix display of promotion piece in ICS superchess 12456 12457In Great Shatranj and Superchess promoted Pawns were displayed as shadow 12458piece because these variants had holdings, while captured pieces should 12459go back into the holdings unchanged, rather than reverted to Pawns. 12460 124612011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12462Fix o-o castling in new parser 12463 12464The non-compliant notation of castling with lower-case 'o' should be 12465preferred over the non-compliant interpretation of moving a Pawn along 12466the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for 12467castling! So an exception is now made for the o-file in the 'fxg' 12468case. 12469 124702011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12471Implement yynewstr entry point in new parser 12472 12473This entry point, used for parsing an ICS move list, was forgotten, and 12474was still an empty routine. This made XBoard crash when observing an ICS 12475game. 12476 124772011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>: 12478fixed wrong default for polyglotDir mentioned in docs. 12479 12480Thanks to Hans Aberg for reporting it. 12481 124822011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>: 12483Fix "make install" on Os X10.6.6 (removed a "/") 12484 12485seems like an extra "/" made "make install" unhappy 12486 124872011-03-03 21:19:05 -0800 Arun Persaud <apersaud@lbl.gov>: 12488removed parser.l from build process, also removed flex dependency from configure 12489 12490 124912011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12492New parser, written in C 12493 12494A new parser was written to replace the flex-generated one. Immediate 12495improvements are that it understand double-digit rank numbers, and Shogi 12496coordinates. No changes were made in the Makefile yet to reflect the 12497new, flexless building procedure. 12498 124992011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12500Fix bugs in FRC castling rights 12501 12502When parsing a castling move in FRC when no rights existed, the parser 12503returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of 12504the absence of rights was not adapted to the new encoding NoRights in 12505stead of -1. 12506 125072011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12508Fix parsing bug of FRC castling 12509 12510The code that was supposed to intercept castling when no rights existed 12511in FRC was not adapted to the new encoding for this by NoRights, rather 12512than -1, and furthermore returned 0 (= EndOfFile) rather than 12513ImpossibleMove. Not sure if the former would manifest itself in any 12514way, but the latter seems bad. 12515 125162011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12517Fix two bugs in reading position diagram 12518 12519When reading a game without FEN tag, a position diagram is used to set 12520the initial position. This calls CharToPiece() with a '.' as argument, 12521because that is the position-diagram way to indicate empty squares. 12522altered CharToPiece() over time this would be recognized as the first 12523undefined piece or, more recently, the first piece without nickName, 12524which is a white Pawn. Now it returns EmptySquare again in that case. 12525A second problem was that for position diagrams in braces the brace was 12526not in the list of ignored characters, and would cause the reading to 12527get out of phase, so that the side to move was not recognized. 12528 125292011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12530Fix flipBlack option XBoard with board texture 12531 12532In XBoard -flipBlack is implemented by swapping white and black pieces, 12533because the Shogi bitmaps from XShogi are made that way. But the mask 12534used to cut out the whole in the board texture to fit the piece was not 12535swapped, both when drawing static pieces, as well as during animation. 12536 125372011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12538Improve repairing damage of arrow highlight XBoard 12539 12540With line gap the highlight arrow necessitated redrawing of the entire 12541board, to repair damage on the grid. This interfered with flashing of 12542pieces, which was only done on selective redraws. In stead of forcing a 12543total repaint we now just redraw the grid lines. 12544 125452011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12546Fix unintended translation in debug file 12547 12548The words "first" and "second" (cps->which) were sometimes used in 12549context that should definitely not be translated. (e.g. the indicator 12550for which engine printed/got the line in the debug file.) So translation 12551is now deferred to all uses in popups. 12552 125532011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12554Fix nps bug 12555 12556The nps settingwas tested for being > 0 in stead of >=0, so that the 12557case of CPU time was not properly handled. 12558 125592011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>: 12560Added missing fclose() 12561 12562(tiny change) 12563Signed-off-by: Arun Persaud <apersaud@lbl.gov> 12564 125652011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>: 12566release of version 4.5.1 12567 125682011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>: 12569updated Changelog, NEWS, etc. 12570 125712011-02-20 20:36:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12572Fix two typos in option names in texi file 12573 12574Polyglot was capitalyzed 12575 125762011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12577Fix some resource leaks 12578 12579Some files were opened not closed in XBoard, when loading XIM images 12580(which I doubt anyone ever does) but also when copying the clipboard 12581(which has the potential of being done very often). There was also some 12582code that would not work if conditional code which is permanently 12583disabled would be enabled. 12584 125852011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>: 12586new developer release 12587 125882011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>: 12589updated Changelog, NEWS, etc. 12590 125912011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12592Fix MSVC snprintf problem 12593 12594In MSVC snprintf has to be redefined as _snprintf, and this happens 12595conditionally in config.c. But the latter was not #included in help.c. 12596 125972011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>: 12598updated configure.ac to check for Xaw header files 12599 12600check for Xaw header files when --without-Xaw3d was given. Before the test was 12601only done when Xaw3d was specified, but could not be found. 12602 12603If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script. 12604 126052011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12606Fix ICS channel 0 12607 12608Channel 0 messages were not displayed in the console, because the test 12609for channel number considered every non-numeric or non-existent handle 12610in a chatbox to be zero. So the messages were diverted to a non-exsting 12611chatbox. Now it test first for the handle to start with a digit. 12612 126132011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12614Make language choice from menu persistent 12615 12616Set appData.language to the chosen language file, or empty if English is 12617chosen, so that the choice is saved with the settings. Increase the 12618number of possible language choices from 5 to 20. (After all, we already 12619have 7 now!) 12620 126212011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12622Fix showing of user move after adjudication 12623 12624The correction of the fishy patch (removing ShowMove() from Adjudicate()) 12625had broken the adjudication of user moves (that actually did work before 12626the fishy patch, because there the gobal fromX/Y and toX/Y do contain 12627the correct values for the move to be shown). An entered move that led 12628to adjudication (like a checkmate) now was not displayed at all. Adding 12629an extra ShowMove() after (successful) return of Adudicate() solves it. 12630 126312011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12632Fix Xiangqi King facing 12633 12634The Spartan patch had broken the CheckTest for Xiangqi, because cl.check 12635was cleared after the King-facing test, rather than before it. 12636 126372011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12638Fix variant janus size prefix 12639 12640The default board size of Janus Chess was not consistently taken to be 1264110x8, which resulted the name to be sent as 10x8+0_janus to the engine. 12642 126432011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12644Fix Alfil bug 12645 12646The test for Alfil (suppressing single steps on the Elephant) contained 12647a wrong logical operator, so that it could never be active. It also 12648failed to include Xiangqi as variant with traditional Alfil. This led to 12649one-step moves of the Elephant in these variants, and false check or 12650unreliable mate detections. 12651 12652Fix move of Xiangqi Elephant 12653 126542011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>: 12655fixed configure script to correctly detect Xaw3d library 12656 12657 126582011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12659Fix unmarked translation 12660 12661The file-browser wndowtitle in WB was not marked for translation. 12662 126632011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12664Put warning in HTML help 12665 12666A warning is added that the help file is not yet updated for the new 12667menu organzation. 12668 126692011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12670Fix 64-bit Windows compilability 12671 12672The API interface for Set/GetWindowLong has been changed for 64-bit 12673Windows, both in the name of the call as in the arguments. 12674 126752011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12676Fix MSVC compilability 12677 12678Both the makefile and the project file had to be adapted for the new 12679source file history.c, and the new location of parser.c. 12680 126812011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>: 12682added missing #includes and missing prototypes to filebrowser 12683 12684thanks to Max Funk for reporting. Now using HAVE_DIRENT_H. 12685 12686Also cleaned up missing prototypes and some casts. 12687 126882011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>: 12689added missing header file for sprintf 12690 12691 126922011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>: 12693added history.c to the tar-ball. Needed for Winboard 12694 12695 126962011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12697Fix deselection of greyed-out variant button (WB) 12698 12699In Windows a disabled radiobutton refuses to deselect when you select 12700another (enabled) button from the group. There are then 2 buttons 12701checked, and the code to readout the buttons took the first one. Now it 12702is changed to take the first enabled one. 12703 127042011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>: 12705Revert "Implement -reset option feature in WinBoard" 12706 12707This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b. 12708 12709picked the wrong commit from HGM's git tree. 12710 127112011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>: 12712add DIFFSTAT and SHORTLOG to tar-ball 12713 12714was only in the v4.4.x branch and not in master 12715 127162011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>: 12717release of version 4.5.0 12718 127192011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>: 12720changed size of borders around squares from 0 to 1 as a default 12721 12722this way highlights show up again. 12723 127242011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12725Implement -reset option feature in WinBoard 12726 127272011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>: 12728updated Changelog, NEWS, etc. 12729 127302011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>: 12731updated parser.c form parser.l 12732 127332011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12734Clean up fishy patch 12735 12736None of the ShowMove() calls in Adjudicate() was working, because when 12737this code was taken out of HandleMachineMove() it was taken outside the 12738scope of the local fromX, fromY etc. there, so that it started using the 12739global variables from the mouse driver. As these usually contain -1, 12740this suppressed move animation and highlighting. All these calls have 12741now been removed, and ShowMove() is called after a positive return (from 12742HandleMachineMove(), so within the correct scope). 12743This improves the previous fix, which led to some flicker, because the 12744erroneous ShowMove() calls did draw the new board (instantly), wich in 12745the fishy patch was then immediately overwritten by the old position, to 12746start animation. This drawing of the old position is now no longer 12747needed either. 12748 127492011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12750Update RTF file 12751 12752The RTF file is adapted to the new menu organization. 12753 127542011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12755Update texi file 12756 12757The highlight-with-arrow and one-click-move menu items are described. 12758The highlightMoveWithArrow and variations option are described. 12759Load Next /Previous Position descriptions are moved to File menu. 12760The description for entering variations is updated (using Shift key). 12761The remark that editing holdings is impossible is removed. 12762Spartan Chess is added to the list of supported variants. 12763 127642011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>: 12765Updated copyright notice to 2011 12766 12767 127682011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12769Greyout unavailable variants in New Variant dialog 12770 12771The WB radio-button code is refactored to be driven from a list (which 12772must be kept in phase with the variant definitions in common.h!). It now 12773also checks if the first engine supports the variant, and greys out the 12774item if it isn't. XB now also makes this check. Slight re-ordering of 1277510x8 variants there, to have the more common on top. 12776If no radio button is selected, keep old variant even on OK. 12777 127782011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12779Move clock-click code to back-end 12780 12781Some duplicated (or should-be-duplicated) code for handling clicks on 12782the clocks from the XBoard and WinBoard front-ends was merged and 12783relocated to the back-end, so it can be shared. Noticeable was that 12784XBoard allowed turn change in ICS examine mode by clock clicking, 12785while WinBoard did not. WB, on the other hand, allowed clock adjustment. 12786 127872011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12788Fix legality testing of drop moves 12789 12790Drops of noexistent pieces (i.e. with a piece indicator letter that is 12791not corresponding to any defined piece) are now parsed as 12792ImpossibleMove, rather than IllegalMove, so they are also rejected with 12793legality testing off. 12794 127952011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12796Fix WB Sound Options greyout and remove some grossness 12797 12798The sound and ICS Options menu items in WB were accessed 'by position', 12799with fixed defined positions (always messing up any reorganization of 12800the menus when you forgot to redefine the position constants in 12801winboard.h). And not only that, but for completely mysterious reasons, 12802the greying of the sound item greyed out the game-list options (above 12803it) in stead when it was defined as 9, and the ICS options (below it) 12804when it was 10 !!!. Now they are addressed 'by command' (and the 12805position definitions are removed), which fixes things. 12806 128072011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12808Re-instate load next/prev position menu items 12809 12810As positions do not use something similar to the game list, these are 12811still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work, 12812so I settled for Shift+PgUp/Dn. 12813 128142011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12815Remove superfluous copying of machine move 12816 12817There was explicit code in HandleMachineMove() and FinishMove() to put 12818the move in the moveList, while MakeMove() already does this later in a 12819more reliable way by calling CoordsToComputerAlgebraic(). This 12820superfluous code is removed now. 12821 128222011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12823Fix spurious mate test in Edit Game mode 12824 12825When entering a game, it was terminated by the mate test even when 12826legality checking was switched off (so that mates might not be reliably 12827recognized). The mate test is now made dependent on legality testing. 12828 128292011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12830Fix type-in of drop moves 12831 12832Drop moves entered through the move type-in already come in the (piece, 12833DROP_RANK, x, y) format, rather than having a holdings from square. This 12834caused UserMoveEvent to consider them illegal when testing if the 12835piecewas of the side to move, and when this was fixed, to recognize 12836Knight drops as coming from between board and holdings (and thus 12837illegal). 12838 128392011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12840Fix move type-in truncating game 12841 12842Starting a new variation by keeping Shift pressed did not work when 12843OK'ing the move type-in, because there was some code ther that truncated 12844the game. While this could be safely left to UserMoveEvent, which it 12845calls, as the situation is not different from entering moves through the 12846mouse. 12847 128482011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12849Fix legality testing for promotions 12850 12851Turns out WB has never tested for the legality of the chosen promotion 12852piece, and would allow promotion to King innorml chess even with 12853legality testing on (when entered through the keyboard)! Now strict 12854testing is done, outlawing Pawns and Kings (or Unicorns in 12855Knightmate). Only in suicide / giveaway Kings are stillallowed, and in 12856spartan a black King if you do not have two yet.(And promotion 12857toLnce,representing Hoplite Pawn,is forbidden there.) 12858 128592011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12860Reset 50-move counter on all pawn-like Lance moves 12861 12862Now the Lance represents a Pawn-like piece not only in variant fairy, 12863but anywhere outside Shogi / Superchess, its moves should also reset the 1286450-move counter in those cases. Especially important for Spartan Chess, 12865where the Lance actually participates. 12866 128672011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12868Fix logo repainting 12869 12870The logos were not repainted when the main window was moved out of the 12871display area, and then back into view. The reason for this is 12872unknown, as the PaintProc calls HDCDrawPosition, which was calling 12873DrawLogoOnDC. But the logos were not drawn, (or on an expose event 12874sometimes half drawn!) despite the fact that the rest of the board was. 12875The drawing of logos now has been decoupled from drawing the board, 12876and has been moved to a separate routine DisplayLogos() (in analogy to 12877DisplayBothClocks()). This is cleaner anyway, as the logos usually do 12878not change when the board does. So apart from in PaintProc, it has only 12879to be called when the mode changes (ModeHighlight()) or on swap clocks. 12880This seems to fix the problem. 12881 128822011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12883Fix time in PGN info 12884 12885Saving of the thinking time in the PGN was broken by the patch that 12886removed the race condition in the clock switching, because that moved 12887the incrementing of forwardMostMove to behind the code that used fmm to 12888index pvInfoList. As a result the time was stored in the slot for the 12889opponent's previous move. The value is corrected now. 12890 128912011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12892Fishy fix 12893 12894The move that delivers checkmate in two-machines mode is not animated 12895when adjudication is on. There then also is no highlighting of this move 12896Redrawing the board and calling ShowMove fixes it. Which is rather 12897strange, because ShowMove was already called in Adjudicate (when it 12898adjudicates), before GameEnds. For reasons that are not understood this 12899call to ShowMove() (which calls AnimateMove()) is not effective. 12900 129012011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12902Reset machine colors after match 12903 12904The colors each engine playse are set to the originals after the last 12905match game, so that a new match or two-machines game will not have 12906swapped colors. 12907 129082011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12909Reset win/loss counters before match 12910 12911The win/loss counters were not reset, because the code counted on them 12912being initialized to zero. But with matches startable from the menu, 12913this is no longer true after the first match. 12914 129152011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12916Show move that causes false illegal-move claim 12917 12918Without claim testing XBoard takes back moves that an engine objects to. 12919But when the engine is forfeited for a false claim, the move should of 12920course stay. So the claim test is moved to before the take-back. 12921 129222011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12923Fix Spartan promotion to King 12924 12925Promotions toKing were refused when in check, because XBoard thought 12926they would not resolve the check. Now the promotion is actually 12927performed before doing the check test. 12928 129292011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12930Fix WB font-based piece rendering on variant switch 12931 12932The piece bitmaps were only created from the font characters when the 12933number of ranks or files changed, because it was done in 12934InitDrawingSizes(). This caused missing pieces when changing to a 12935variant on the same board that used other pieces. Now InitDrawingSizes() 12936is called for any variant switch. 12937 129382011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12939Fix right-alignment pproblem in WB ICS window 12940 12941Use of Ctrl-R to summon the context menu still trickled through to the 12942default text-edit window routine, and caused right-alignment. This was 12943because the text-edit reacts on keyDown rather than the character event. 12944KeyDown of R with Ctrl pressed is now also intercepted and ignored. 12945 129462011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12947Fix chat window title 12948 12949The title was using the engine name, rather than the ICS handle, which 12950did not work outside zippy mode. Now it only uses the engine name when 12951no ICS handle is known. The titleis now also subjected to translation. 12952 129532011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12954Fix spurious reading of old game title by JAWS 12955 12956Because focus was switched to the board window before loading the 12957selected game from the game list, the titlebar still contained the 12958name of the previously loaded game, which would spontaneously be read by 12959JAWS. Now the focus switch is done after loading the new game (which 12960updates the window title.) 12961 129622011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12963Add variant Spartan Chess 12964 12965In the WB menu it takes the place of the defunct Twilight Chess item. 12966The setup routine needed patching for setting up Lances in stead of 12967Pawns for black, the check test had to be adapted to handle duple check, 12968Alfil and Dragon moves were fine tuned in this variant to make the exact 12969moves, and the promotion popup was adapted to show King and interpret 12970Rook and Bishop as Dragon and Alfil for black. The Alfil now always 12971moves as Modern Elephant except in Shatranj and Courier. 12972 129732011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12974Fix mate test 12975 12976Due to a bug in logical operators drops were tried for mate evasions 12977even in non-drop games, which broke it in Superchess and Great Shatranj, 12978and wasted CPU time in other variants. 12979 129802011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12981Fix promotion suffixon disambiguated piece moves 12982 12983The promotion suffixon piecemoves that needed disambiguation was not 12984passedon to the back-end in most variants. Now it is passed on in any 12985variant. 12986 129872011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12988Fix promotion of Pawn-like Lance 12989 12990In variants where the Lance is used to represent an unorthodox Pawn, it 12991must promote when it reaches last rank. With legality testing on, 12992however, the promoChar was ignored in ApplyMove in this case. The 12993promotion suffix also was not appended in SAN moves. 12994 129952011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12996Fix WB promotion popup 12997 12998The promotion popup did not work properly in variants where black did 12999not use the pieces that white wanted to promote to. Now the character 13000for the selected piece is taken from the piece encodings of the side to 13001move. In addition, selection of undefined pieces is ignored. 13002 130032011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13004Fix bug in parsing variations 13005 13006The moves parsed from a variation were stored in the moveList without 13007appended linefeed. This caused errors if the variation extended to 13008beyond the end of the main line,into a hitherto unused part of the move 13009list, as the linefeed was then not there from the overwritten move. As a 13010result moves sent to the engine were concatenated, triggering 13011illegal-move messages and bringing the engine out of phase. 13012 130132011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13014Define Ctrl-R as right-click in WB Comment dialog 13015 13016To allow JAWS users to load a variation through the keyboard, Ctrl-R is 13017equated to a right click at the position of the caret or selection. 13018 130192011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13020Allow starting a variation from keyboard entry in WB-JAWS 13021 13022The status of the shift key is remembered when space is pressed to 13023select a board square. 13024 130252011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13026Disable some accelerators in JAWS version 13027 13028Single-key accelerators that could result in irreversible data loss are 13029undesirable, because the risk of accidentally pushing them is too large. 13030So the non-Alt duplicates of next/previous game/position are disabled, 13031as are Home and End for Revert and Truncate Game. JAWS users will have 13032to rely on the menus for those functions. 13033 130342011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13035Group engine-output memos with engine names 13036 13037The engine names are now defined just before the text edits, so that 13038JAWS 11 will read the engine name when the memo for the output of that 13039engine is selected. (JAWS 10 will still read the NPS, as it reads in 13040geometrical order.) 13041 130422011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13043Put nr CPU earlier in tab cycle of WB Common Engine dialog 13044 13045By defining the max CPU control after hash size, the tabbing steps 13046through the controls in geometrical (and logical) order, rather than 13047having the max CPU in between the book controls. 13048 130492010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13050Update WB language template file 13051 13052 130532010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13054Subject JAWS menu and spoken strings to translation 13055 13056 130572010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13058Let JAWS SayString buffer full sentence 13059 13060The meaning of the flag parameter of SayString was changed to indicate 13061buffering of flushing. On flushing a message of a single space is used 13062as a kludge to indicate interruptability. Calls to force flushing where 13063added everywhere. 13064 130652010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13066Adapt JAWS menu to new menu organization 13067 13068The menus did not correspondto the texts after translation of the main 13069menu bar. 13070 130712010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13072Translate menus after creation of JAWS menu 13073 13074 130752010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13076Fix ICS context menu for JAWS 13077 13078The Ctrl+R key did select text at the mouse pointer in stead of at the 13079curser, now that up and down-click were combined. 13080 130812010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13082Reorganize order of WB New Variant dialog controls 13083 13084The definitions are re-ordered so that at least JAWS 11 will speak the 13085board-size elements properly. 13086 130872010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13088Fix order of elements in WB time-control dialog 13089 13090Someleading texts were defined after the text edit they referred to,so 13091that JAWS 11 associated them to the wrong one. A tab stop was added to 13092the time-odds label, to make JAWS speak it. 13093 130942010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13095Change tabbing order in WB sounds dialog 13096 13097The 'Play' button now gets focus immediately after the controls for 13098selecting the sound, rather than at the end of the dialog (after OK). 13099 131002010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13101Remove tab stops on first radio button of WB dialogs 13102 13103The New Variant and Board dialogs had a tab stop on the first radio 13104button,so that tabbing toit would automatically select variant 13105normal or size tiny. Now it tabs straight to the current size, without 13106changing anything. (Important for JAWS users.) 13107 131082010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13109Put OK/Cancel last in tab cycle of some WB dialogs 13110 13111 131122010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13113Fix duplicate menu character for Edit Comment 13114 13115Edit Comment did have the same shortcut character as Copy Game. Changed 13116to m now. 13117 131182010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>: 13119fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory 13120 13121 131222010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>: 13123new developer release 13124 13125 131262010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13127Subject WB context menus to translation 13128 13129The innerloopof the menu translation has been made into a separate 13130routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to 13131better preserve menu breaks. Menu #10 is used for context menus (from 13132the routine that pops them up), and for this number the orignal texts 13133are not saved in menuText. (This is not needed, because the menu is 13134created everytime anew from the resource data.) 13135 131362010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13137Update translation template 13138 13139Add the new menu items; add some notes. 13140 131412010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13142Resize buttons in WB engine-settings dialog 13143 13144The OK and cancel buttons were to narrow for most translations, and were 13145a non-standard order as well. 13146 131472010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13148Add one-click move control to WB general-options dialog 13149 13150This is a duplicate of the one in the ICS options dialog, but the latter 13151is inaccessible in non-ICS modes, and one-click move is now 13152alsoavailable in engine mode. 13153 131542010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13155Create space in dialogs for translation 13156 13157The translated texts often did not fit, because controls were defined 13158needlessly small (when there was empty space between them). In these 13159cases they have been enlarged to consume all available space. Some 13160dialogs are made wider. 13161 131622010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13163Add handle for translator acknowledgement 13164 13165An empty string is printed in the about box, which can be 'translated' 13166to a message acknowledging the translator. 13167 131682010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13169Use default logo for user 13170 13171When no logo with the name of the current user is found, use dummy.bmp. 13172 131732010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>: 13174added rlwrap tip to FAQ 13175 13176 131772010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>: 13178replace hard coded paths with path from configure script 13179 13180use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path. 13181 131822010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>: 13183fixed a typo in the configure script output 13184 13185 131862010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>: 13187added a desktop file 13188 13189taken from the openSUSE project 13190 131912010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13192Fix Edit Game/Position checkmarking in WinBoard 13193 13194Because the entries in Edit and Mode menu were pure duplicats, the 13195entries in the wrong menu (Edit) were checkmarked while active. By 13196defining different IDs for those in the Edit menu, those in the Mode 13197menu are checkmarked again. 13198 131992010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13200Add XBoard menu items for arrow highlight and one-click move 13201 13202These items are put in the options menu; the 'Old Save Style' item is 13203removed. 13204 132052010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13206Provide menus for editing WinBoard engine and server lists 13207 13208The Edit Tags dialog in the WB front-end is adapted to act as a general 13209edit for string variables, by giving it an extra parameter to indicate 13210where to store the edited result. Menu items are added to invoke this 13211dialog for editing the /first, /secondChessProgramNames and /icsNames 13212options. This solves the problem that people would have to edit an ini 13213file that they can no longer locate (because the %APPDATA% folder has 13214different names and locations in the various Windows versions, and is 13215often a hidden folder on top of that). 13216There is a slight memory leak here, as the memory for the previous 13217value of the altered string option is not freed. 13218 132192010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13220Configure arrow highlighting as default in XBoard 13221 13222Set -highlightMoveWithArrow true in the xboard.conf file, and specify a 13223lineGap of 0 to make that efficient (and the wood theme even nicer). 13224 132252010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13226Port highlighting with arrow to XBoard 13227 13228Unfortuntely this duplicates a fair amount of code in the front end. 13229Removing the arrow is done by a total repaint if there is a non-zero 13230lineGap, because the clever algorithm for selective redrawing (based 13231on damage) that XBoard uses does not repair damage to the grid lines. 13232For lineGap=0, however, (for which the arrow is mainly intended) the 13233damage mechanism is used, and the damaged squares are determined by 13234tracing out the arrow in 64 steps, and marking all squares in the 13235neighborhood as damaged. 13236 132372010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13238Strip CR from xboard.c 13239 13240 132412010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13242Let user decide if he wants highlights in blindfold mode 13243 13244Remove the automaticsuppression ofhighlighting. 13245 132462010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13247Fix fag-fell marker with logos on 13248 13249The flag-fell marker "(!)" that is displayed in the clock in WinBoard in 13250two-machines mode was printed twice when the clock was split over two 13251lines (as with logos on). 13252 132532010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13254Also exempt variant seirawan from eval-scale doubling 13255 13256It is not really a drop game, so a scale from -7 to 7 in the eval graph 13257is good enough (like variants great and super). 13258 132592010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13260Configure EGTB cache size in adapterCommand 13261 13262The hash size, nr of CPUs and EGTB path are transferred through the WB 13263protocol interface commands memory, cores and egtpath. But there is no 13264WB command for detailing the EGTB cache size. So the value of the 13265command-line option -defaultCacheSizeEGTB has to be sent to Polyglot 13266through its startup command to make it known to UCI engines. 13267 132682010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13269Move Hint and Book items to Engine menu in XBoard 13270 13271 132722010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13273Correct the key bindings fo view menu in texi file 13274 13275The mentioned bindings for Game List and Eval Graph were wrong. 13276 132772010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13278Fix sub-variation display with negative score 13279 13280The test if the displayed score was the pvInfo score failed for negative 13281scores, because floats are truncated towards zero. So the previous fix 13282of spurious score/depth info was not working when the score was 13283negative. 13284 132852010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13286Peel PV out of comment 13287 13288Arena stores engine PVs not in variation format, but within both braces 13289and parentheses, before the score/depth info. This caused XBoard to 13290overlook the score/depth info, (frustrating, e.g., the eval graph), 13291while the PV would not be accessible for walking it as a variation. 13292The routine that extracts the score/depth from a comment now has 13293been made more clever, to recognize a leadin PV in the comment, and then 13294place it in front of the comment as variation (by moving the opening 13295brace to behind it). For some reason it does not work if the PV and 13296score/depth were separated by a newline, but this happens quite rarely. 13297 132982010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13299Allow line-straddling result comments 13300 13301Some GUIs (in particular Arena) do not have the decency to keep the 13302result comment on a single line. In this case the parser rules would not 13303recognize it, and treat it as a normal comment, plus an undetailed PGN 13304result. The rules are now fixed to allow linefeeds in the comment, and 13305between comment and PGN result. To correctly process the comment further 13306(e.g. in game-list lines) the linefeeds are replaced by spaces in the 13307back-end routines that do use the result comment. 13308 133092010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13310Write key bindings in XBoard menus 13311 13312Unfortunately tabs are not understood in menu texts, so fine-tuning 13313through spaces is necessary to get some sort of ragged alignment. 13314 133152010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13316Configure XBoard to use wood board texture by default 13317 13318The texture pixmaps are sought in /usr/share/games/xboard, with names 13319wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted 13320to put them there. XBoard is resitent to non-existence of the files, 13321btw. It simply ignores the arguments in that case. 13322 133232010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13324Configure -inc as volatile option in XBoard 13325 13326XBoard users are not used to options being persistent, and thus have 13327many scripts assuming the timeIncrement is -1 when they don't specify it 13328on the command line, and want to specify -mps. But a persistent -inc of 133290 fom a preious session would then force their -mps to zero, causing 13330big-time confusion. 13331 133322010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13333Make WinBoard clocks translation-proof 13334 13335With logos on, the splitting of the clock over two lines assumed the 13336lengths of the words "white" and "black" would always be 5. Used strlen. 13337 133382010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13339Improve drawing of highlight arrow 13340 13341A diagonal arrow sometimes had a notch in the shaft because of 13342independent rounding of the starting and ending point coordinates. 13343Furthermore the width of the shaft was unnecessary variable(as a 13344function of direction) because half the width was rounded and then used 13345twice. Now rounding of end-points is always done towards a fixed grid 13346of square centers, which keeps diagonals purely diagonal, and one side 13347of the shaft is drawn relative to the other side, after the 13348position of the latter has been rounded, so any rounding error affects 13349the shaft width only once. 13350 133512010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13352Alter descriptionof Analyze File menu item 13353 13354This menu item has been given a new function, so a new description was 13355needed. 13356 133572010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13358Add description of Game List Options in texi file 13359 13360 133612010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13362Update texi file for new menu organization 13363 13364The descriptions are shuffled around and organized into sections 13365corresponding to the new main menus. Where necessary the name of the 13366items was changed to their new names. The items removed from the File 13367menu (the next/previous/same stuff) are nowmoved to the section "other 13368shortcut keys", as the key bindings for some of them are still active. 13369 133702010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13371Update info on key bindings in texi file 13372 13373The texi file was still listing the old XBoard key bindings. Where 13374necessary this is now changed to the new (WinBoard) bindings, and all 13375the new bindings were added. 13376 133772010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13378Add XBoard key bindings for Revert and Truncate 13379 13380Use Home key as accelerator for Revert, End for Truncate, as in WinBoard. 13381 133822010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13383Divorce the Edit and Show Tags/Comment menu items 13384 13385In WinBoard the items in the Edit and View menu for Tags and Comment now 13386have different IDs, so they can be independently controlled. Only the 13387items in the View menu are check-marked. The items still do the same. 13388 133892010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13390Alter WinBoard menu text 13391 13392The texts are slightly adapted, mostly by choosing more convenient 13393tabbing characters for the new menu organization. The translation 13394template is updated accordingly. 13395 133962010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13397Let move-history window scroll to bottom after adding move 13398 13399By activating the scrollbar of the viewport through XtCallActionProc 13400the move-history window is scrolled to the bottom. 13401 134022010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13403Fix Shogi promotion popup 13404 13405The texts were adapted to shogi by printing new text items over the 13406Queen and Knight buttons, but these did not alwys cover it. Now the text 13407on the buttons is changed as it should be. Also the window title is 13408adapted. 13409 134102010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13411Apply gettext macros to menu texts 13412 13413Now texts and references are separated, the texts in the tables can be 13414decorated with the N_() macro, so that the _() macro no longer has to be 13415applied when they are used. (This makes the texts appear in the .po 13416files.) 13417 134182010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13419Adapt some XBoard menu texts 13420 13421The "Show" prefix is removed from the "View" menu items, as this seems 13422implied. An ellipsis is added to the Engine #N Settings items, which 13423could not be there before, because periods in a menu name would break 13424any reference to it. For some other names the ellipsis was deleted. 13425(These were not refered to, but who knows what we will do in the future.) 13426 134272010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13428Separate menu text from menu name in XBoard 13429 13430The text string in the menu-definition tables was used both for the menu 13431text, as well as for referencing the items from the code (for enabing or 13432checkmarking). Now these can be defined separately, so that altering the 13433menu texts is possible without breaing any references to the item. 13434(Moving them to another menu would still break XBoard, though!) 13435Currently the texts and names are still the same. 13436 134372010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13438Bugfix XBoard menu translation 13439 13440The gettext macro N_() was applied to the menu definition tables, but 13441this would break any translation, as these items are both used as menu 13442texts as well as reference for enabling and checkmarking. The routines 13443that create the menus already apply _() dynamically to these items when 13444they are used as menu texts. 13445 134462010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13447Restrict drops in variant seirawan to back rank 13448 13449Drops aren't really llowed at all in Seirawan Ches, but there exists an 13450engine that supports a variant where drops on the back-rank are allowed. 13451 134522010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13453Let Analyze File annotate the loaded game 13454 13455By not suppressing the auto-play loop in AnalyzeFle mode, we step 13456through the game while the engine is analyzing, and store the PV info 13457that the engine produces, as well as the full PV (as variation comment) 13458with each move. 13459 134602010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13461Revive Analyze File menu item in WB 13462 13463We will keep this menu after all, becase it can be given a new meaning. 13464 134652010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13466Fix spurious scores in comments 13467 13468The comment popup is also used to display engine PV info, but when the 13469contents of the window is written back when we select a variation, 13470it was treated as a real comment. This is fixed now by checing in 13471ReplaceComment() if the comment starts with the PV info, and if so, 13472ignore the latter. This solves the problem, but I guess the real bug is 13473that selecting a variation tries to write the comment even if it did not 13474change. 13475 134762010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13477Display error for wrong use of Machine Match 13478 13479 134802010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13481Reorganize XBoard menus 13482 13483 134842010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13485Reorganize WinBoard menus 13486 13487New main menus Edit, View and Engine are added; the step menu 13488disappears. The menu items are redistributed over the new menus. 13489Sometimes duplicates are created. No adaptation of short-cut characters 13490as made yet (as this affects translation). 13491 134922010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>: 13493removed trailing whitespaces from NEWS 13494 13495 134962010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>: 13497merged readme_HGM.txt into the NEWS file 13498 13499seems like a better place for the release notes, although those releases where not officially part of GNU, but the NEWS file already covers similar releases, so it might as well cover all of them. 13500 135012010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>: 13502typo in date of developer release 13503 13504but will leave the tagged version as it is, since it's still a unique version number 13505 135062010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>: 13507new developer release 13508 13509 135102010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>: 13511added latest version of parser.c 13512 13513 135142010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>: 13515updated Changelog, etc for developer release 13516 13517 135182010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>: 13519Revert "adding gnu-readline support" 13520 13521This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f. 13522 13523Conflicts: 13524 backend.c 13525 13526better to use the (relatively) new ICS input box then add readline support. 13527 135282010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>: 13529Revert "bugfix: fixed readline support with icslogon option" 13530 13531This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83. 13532 13533Conflicts: 13534 backend.c 13535 13536better to use the (relatively) new ICS input box then add readline support. 13537 135382010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13539Make Hoplite moves irreversible in Spartan Chess 13540 13541Consider Lance moves in variant Fairy (where the Lance represents the 13542Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter. 13543 135442010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13545Give Lance moves of Amazon in variant super 13546 13547Now that Lance is no longer a wild-card piece the moves of Amazon must 13548be programmed explicitly, to keep the possibbilty to play Superchess 13549with legality testing on. 13550 135512010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13552Change representation of Bede in variant fairy initial position 13553 13554This used to be Lance, but the promoted Bishop (Dragon Horse) 13555is more applicable. Especially now that Lance is supposed to move like a 13556Berolina Pawn. 13557 135582010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13559Make yyskipmoves also suppress examining of drop moves 13560 13561Not sure if this does any good, but it seemed illogical that this would 13562happen in all other moves, but not drops. 13563 135642010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13565Define moves for Dragon Horse outside Shogi 13566 13567Let it move like Bishop + Wazir + Dababba. 13568 135692010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13570Fix safety crash when appending comments 13571 13572The length limit imposed on safeStrCpy was one too short when copying 13573an existing comment to the space allocated for the longer (concatenated) 13574one. It allowed no space for the terminating '\0'. 13575 135762010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13577Fix safeStrCpy 13578 13579The test for when to terminate a non-fiting string was one off, and the 13580debug message was written stdoutin stead of debugFP. 13581 135822010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13583Fix default holdings size for variant seirawan 13584 13585The holdings for 7 pieces werealways considered an overrule, so that the 13586variant name was prefixed with "8x8+7_". 13587 135882010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13589Fix home-dir crash 13590 13591When confronted with a path name starting with ~ and not containing a / 13592XBoard would segfault. 13593 135942010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13595Fix one-click moving on up-click 13596 13597(First) up-clicks were not always ignored: in Edit-Game mode with 13598one-click moving enabled this could lead to a capture being made on 13599the down-click, and the recapture on the correspoding up-click. 13600This has now been corrected, and only the down-click of a first click 13601can lead to selecting a piece or a one-click move. 13602 136032010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>: 13604fixed buffer size for snprintf 13605 13606 136072010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13608Accept Seirawan-style gating suffixes 13609 13610The parser rules were extended to accept / as an equivalent of = in 13611promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H). 13612 136132010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13614Use Falcon and Alfil as built-ins for Seirawan chess 13615 13616Where available (size 49 and 72) we use Falcon for Archbishop and Alfil 13617for Chancelor, to better conform to the Seirawan names Hawk and Elephant. 13618 136192010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13620Implement entering gating moves with mouse 13621 13622A move with a back-rank piece that starts when a piece in the holdings 13623is selected will be interpreted as a gating move in variant seirawan. 13624The front-end uses a 'gatingPiece' selected this way todisplay it on the 13625from square during animate dragging. 13626 136272010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13628Implement variant seirawan 13629 13630Set upthe position, including Hawk and Elephant in holdings, in 13631InitPostion(). Suppress putting captured pieces in holding. Let 13632promoChar indicate gating in ApplyMove(). Remove gated pieces from 13633the holdings there. Let GenLegal() generate RxK-type castlings to act as 13634base for gating on Rook square. Gatings are tested for legality 13635based on the holdings content and whether they occur on the back 13636rank. Disambiguate() also tests this. Make sure the gated pieces are 13637printed as move suffixes in CoordsToAlgebraic(). 13638 136392010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13640Add -variant seirawan to menu 13641 13642 136432010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13644Fix acceptance of null-move with legality testing off 13645 13646A second click on the same piece was interpreted as a to-square rather 13647than deselection of the piece. 13648 136492010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13650Fix one-click bug 13651 13652Disambiguate was imagining captures, so an only capture by double 13653clicking your own piece did not always work. 13654 136552010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13656Fix mouse-driver buglet 13657 13658The highlights were not cleared on moves that went vertically off board. 13659 136602010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13661List some undocumented commands as compliant 13662 13663The engine->GUI commands setboard and setup are now always printed in 13664the debug file as well. 13665 136662010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13667List Hint with compliant commands 13668 13669This command was omitted, so that in some -engineDebugOutput modes it 13670would not appear in the debug file. 13671 136722010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13673Restrict use of escape expansion 13674 13675Only expand escape sequences like \n and \t in telluser(error) comamnds 13676that ask for it by preficing the messages by double backslash. Otherwise 13677backward copatiblity is too severely broken for messages that display 13678DOS-style filenames. 13679 136802010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13681Make safeStrCpy safe 13682 13683SafeStrCpy was causing a lot of out-of-bound write accesses, as it was 13684always writing the character at the length limit of the destination. 13685Now no memory is accessed that is is not needed to hold the copy. 13686 136872010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13688Allow clicked name internal to the icsMenu command string 13689 13690A command in the /icsMenu that was specified to contain the selected 13691text or clicked word always appended this word at the end. Now the user 13692can also configure it to appear in the middle, by putting a %s in the 13693command string where he wants it to appear. 13694 136952010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13696Let Engine #2 Settings start second engine 13697 13698If the second engine is not yet running, it would be impossible to use 13699the settings dialog for it, as the features have not been received and 13700the dialog will be empty. So the user could not adjust the engine 13701parameters before starting a match. Using this menu now automatically 13702starts the engine, and delays the appearence of the popup untill the 13703features are received, using a similar mechanism as in 13704TwoMachinesEventIfReady(). 13705 137062010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13707Newly lexed parser.c 13708 13709 137102010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13711Fix bug in parsing illegal Pawn captures 13712 13713When a pawn move of type exf5 was illegal, the parser made an attempt to 13714interpret it as e.p. capture of f5. This, however, messed up the move, 13715so that it was now permanently mistaken for e5xf6. Even in cases with 13716legality testing off, where you would want the original move to be 13717accepted despite the fact that it was illegal. 13718 137192010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13720Keep last PV while clearing engine-output display 13721 13722When ponder is on, the display is cleared immediately when the last line 13723of thinking output appears by the appearing ponder output. So you would 13724never get the chance to see it. This line is now re-written after 13725clearing, so it appears at the bottom of the output for the next search. 13726 137272010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13728Give Lance moves of Berolina Pawn 13729 13730In stead of using it as a wildcard piece, the Lance gets the moves of 13731the Berolina Pawn (straight capture, diagonal move). The initial double 13732osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan 13733Chess.) 13734 137352010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13736Use SAN even on illegal moves 13737 13738If there is only one piece of type T, moves like Ta1 or Txa1 are never 13739ambiguous, so adding the from square is just cumbersome. 13740 137412010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13742Use normal SAN for wildcard pieces 13743 13744SAN often can also be used with pieces we don't know the moves of, e.g. 13745if there is only one of that type. We just always get rank or file 13746disambiguators if there are more (even when they might be unnecessary). 13747 137482010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13749Fix some warnings 13750 13751Unused variables were removed from parser.l 13752 137532010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13754Allow arbitrary nesting of sub-variations in PGN input 13755 13756The parsing of subvariations is moved out of the state-machine parsing, 13757to allow arbitrary nesting. In stead of the entire sub-variation being 13758parsed by lex as Comment, it now returns Open and Close for the 13759corresponding parentheses, which are then handled in a wrapper routine 13760for yylex(): Myylex(). Problem was that yy_text is supposed to return 13761the entire parsed text of the returned symbol, which thus has to be 13762collected. To make this possible, yylex has to return everything that it 13763parses, (even white space!), and a symbol "Nothing" was added to return 13764in parsing rules that before just ate away irrelevant text without 13765returning anything. 13766 137672010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13768Implement setup (engine-GUI) command 13769 13770This allows the frst engine (when legality testing is off) to overrule 13771the default opening position, in reply to the variant command. Syntax is 13772"setup (PIECE_TO_CHAR_TABLE) FEN_STRING" 13773where the FEN string is interpreted in the context of the given 13774pieceToCharTable (which is optional, and only delimeted by parethesis if 13775it is present). 13776Sendng the position to the second engine is delayed until the first 13777engine has responded to the ping after the new-game sequence, to make 13778sure it gets the chance to alter the position before it is sent to the 13779second engine. This feature is useful for playing variants that WinBoard 13780does not even know the opening positon for, and can be used even if they 13781are shuffle variants. 13782 137832010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13784Restrict use of a2a3 kludge 13785 13786The kudge to send "a2a3" in stead of "black" to get black to move is 13787fatally flawed in varants that have no Pawn on a2. So in that case we 13788revert to use of the deprecated "black" command. 13789 137902010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13791Remember values set by -firstOptions, -secondOptions 13792 13793When an engine announces its option features, and the option name 13794matches that of a setting given in -first/secondOptions, the engine is 13795sent hte specified value, but this value was not remembered as current 13796value (but the latter was left at the engine-announced default), 13797leading to inconsistent behavior in the Engine #N Settings dialog. 13798 137992010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13800Make test for valid promotion piece color-dependent 13801 13802This is needed to make it work in variants where white and black have 13803different armies; quite likely white will promote to pieces that do not 13804exist in the black army, so we really have to make sure we test if the 13805white (upper-case) piece exists in this case. 13806 138072010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13808Remove validity test on promochar from parser 13809 13810The backend routines Disambiguate() and LegalityTest() will catch 13811invalid promotions, so no need to do it here. 13812 138132010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13814Add the actual size-33 Shogi bitmaps 13815 13816These were forgotten in the original commit that fixed the .rc file. 13817 138182010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13819Delete some stale promotion code 13820 13821The correction of the promotion piece to Ferz in Shatran-like variants 13822in ApplyMove() was no longer needed, as the new promotion code already 13823does this in the move parser. 13824 138252010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13826Augment moves of some fairy pieces 13827 13828To get better disambiguation in variants that have to be played with 13829legality testing off, the Elephant is given also one-step moves (making 13830it a so-called Modern Elephant) in -variant fairy and great. The Dragon 13831King (Crowned Rook), which had no moves defined for it outside Shogi at 13832all, has been given Rook moves plus an orthogonal 2-jump, so that it 13833can get SAN moves when used as Dababba or Short Rook. (Illegal moves 13834currently aways force long algebraic notation...) 13835 138362010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13837Bugfix safeStrCpy patch, WinBoard 13838 13839The use of sizeof on pointers was detected through the same method as 13840the previous patches, this time while compiling WinBoard. A typo in 13841jaws.c was fixed as well. 13842 138432010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13844Bugfix for safeStrCpy patch for XBoard 13845 13846By a trick (temporarily redefining safeStrCpy in common.h as 13847((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0) 13848could be generated for every occurrence where the size argument was equal 13849to 4, i.e. where the 1st argument was likely a pointer rather than an 13850array. These cases are now fixed. The file xoptions.c, which is the 13851only ne that does not #include common.h had to be fixed by making 13852the #define in the file itself. 13853 138542010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 13855Fix spurious promotions with legality testing off 13856 13857The recent promotion patch had broken playing without legality testing 13858completely: without legality testing one always gets the piece that was 13859asked for, but a NULLCHAR should not be taken as a request for a piece! 13860But it was, and this resulted in any moved piece turning into a white 13861Pawn! For true promotions the piece was always black, which was also not 13862very useful. 13863 13864Also revert to the use of '+' as internal Shogi promoChar, because 13865pre-processing turns out not to be possible when reading a game file. 13866In stead parse any trailing '+' on moves as promoChar. Downside: '++' 13867can no longer be recognized as checkmate symbol. 13868 138692010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13870Make deferral default in Shogi promotions 13871 13872Because '+' is intercepted by the parser as check indicator, Shogi moves 13873are pre-processed to change a trailing '+' into an internally used 13874alternative '^'. The testing if a promotion character is OK is now done 13875in LegalityTest() and Disambiguate(), which return ImpossibleMove when 13876the character does not correspond to any piece, and IllegalMove when in 13877Shogi anything other than '^' or '=' is used. (Except for the ICS 13878notations.) On output, in CoordsToComputerAlgebraic() and 13879CoordsToAlgebraic(), the '^' is translated back to '+'. 13880 138812010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13882Animate piece explosions in drag-drop moves and in XB 13883 13884This required some code restructuring: the decision if an explosion is 13885needed is now taken in a new routine Explode() in the backend. This then 13886calls the front-end driver, and it returns the info if there was an 13887explosion or not, so the caller (AnimateMove() or the mouse driver) can 13888take action to repair the damage to the board caused by the blast wave. 13889A front-end driver for XBoard is provided as well, so that both 13890click-click (and replay, which is the same) and drag-drop atomic 13891captures are animated in XB as well as WB. 13892Explosions on rejected moves are suppressed. 13893 138942010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13895Suppress promotion popup if piece will explode 13896 13897In atomic, a Pawn capture to last rank is not really a promotion. 13898Fix choice to Queen. 13899 139002010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13901Make Knight hop first straight, then diagonal 13902 13903It used to be the other way around, which looked pretty illogical in 13904Xiangqi: to see Horses, which are blockable pieces there, move over an 13905occupied square. 13906 139072010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13908Let -oneClickMove also work in EditGame mode 13909 13910There is really no reason why people that lke one-clcik moves enough to 13911switch them on would not want to use them too when editing a game. 13912This solves a nast inconsistency, as before it used to work in -ncp mode 13913on the _first_ move, as the mode is then BeginningOfGame, and not yet 13914EditGame, and we do want it to work for BeginningOfGame, as this is 13915also the game mode when you start playing as white. 13916 139172010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13918Make -flipBlack and -allWhite option volatile 13919 13920As these options are very Shogi specific, and the variant is volatile, 13921it seems logical to make them also volatile. Not completely sure about 13922-allWhite, though. It cold be useful if you want, for example, to play 13923wth dark-brown pieces for black, as any color but black looks much 13924better with outline pieces than with solid pieces. 13925 139262010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13927Provide some sample board-texture pixmaps 13928 13929Wood and marble themes are provided as textures for light and dark 13930squares, plus two complete Xiangqi boards (wood and evenly colored). 13931These should probably not goint the distro tar ball. 13932 139332010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13934The -overrideLineGap option is made to work in XBoard 13935 13936Although XBoard already allowed this in the -boardSize specification, 13937it is still seful to globally disable grid lines, e.g. for an 13938oriental Xiangqi board. And it converges XB and WB. 13939 139402010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13941Implement board textures in XBoard 13942 13943The -darkBackTextureFile and -liteBackTextureFile options now wrk in 13944XBoard too, for loading a pixmap that will be used to cut out the dark 13945and light square backgrounds. The cutting algorithm is such that the 13946pixmap image is completely restored if the size was that of the total 13947board (e.g. a drawing of a Xiangqi board). 13948 139492010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13950Complete WB (western) bitmaps for Shogi at size 33 13951 13952The Lance was not replacing Queen in some sizes where the bitmaps were 13953already available, and new bitmaps for the promotion Golds were added. 13954 139552010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13956Make starting new variation dependent on shift key 13957 13958The shift key is read during mouse events, and posted in a global 13959variable, which can then be used by the back-end. The decision to start 13960a new variation (pushing the game tail rather than clipping it off) when 13961entring a move in Edit Game or Analyze mode is made dependent on this. 13962The move-typein also records the shift-key state. 13963 139642010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13965Fix merging bug 13966 13967A %g format was used to print an int in sending the level command, 13968because decimal points were dropped when merging patches. Also an unused 13969variable was removed to suppress a warning. 13970 139712010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13972Add set of shogi pixmaps for XBoard 13973 13974The -size 64 pieces from gShogi (and originally XShogi) are made 13975suitable for loading by XBoard, through redefining the transparent 13976background color as either light or dark square color. These bitmaps are 13977not included in the XBoard build, and perhaps should not even be 13978included in the source distribution, but made available in a separate 13979distribution? 13980 139812010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13982Implement -flipBlack in XBoard 13983 13984When -flipBlack is true, the white and back piece pixmaps are swapped in 13985flipView. The idea is that the black pieces are upside-down versions of 13986the white (Shogi) pieces, so that swapping white and black in effect 13987turns all pieces upside down, which is what should happen in flipView. 13988 139892010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13990Disable some very verbose debug printing 13991 13992The internationalization seems debugged enough to do without them. 13993 139942010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 13995Add option -variations to control variation-tree walking 13996 13997Just so that users can switch it off if the find it annoying. 13998 139992010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14000Allow full promotion suffixes on SAN piece moves 14001 14002This facilitates the parsing of (non-standard) Shogi moves in ICS 14003protocol. It can also be useful for Seirawan Chess, where a future 14004implementation of it can use promotion suffixes to indicate gating. 14005 140062010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14007Allow lower-case piece indicator in drop-move notation 14008 14009As it seems that XBoard also sends such moves in zippy play, it seems 14010more fair to recognize them from the engine as well. 14011 140122010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14013Fix bug in ICS variant switch for Shogi 14014 14015Because a test for 8x8 variants was done by <= VariantShogi, 14016rather than <, spurious move-list fetching occurred in Shogi. 14017 140182010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14019Fix WinBoard Lance bug 14020 14021The choice between Lance and Queen was made on appData.variant, in stead 14022of gameInfo.variant. Because of this it was not always up-to-date in ICS 14023games. 14024 140252010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14026Adapt WinBoard to Shogi implementation on Variant ICS 14027 14028The Variant ICS does not use the '+P' notation for promoted pieces, 14029neither in the board, nor in SAN, but simply indicates any Gold by 'G', 14030and uses 'H' and 'D' for +B and +R. The Shogi promotion code in 14031LegalityTest() and Disambiguate(), which are used in move Parsing, are 14032adapted to handle this. Deferred promotions sent to the ICS now use an 14033== suffix. 14034 140352010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14036Inherit promoted-info that ICS does not give from previous board 14037 14038The ICS does not tell us in Crazyhouse (or Shogi) if a piece is 14039primordial or a promoted pawn (or a promoted other piece). We now derive 14040this info from the previous board. The option -disguisePromotedPieces 14041controls this feature. 14042 140432010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14044Limit multi-session clock handling to non-ICS games 14045 14046In ICS games a time forfeit crashed XBoard, apparently because the 14047fullTimeControl string is not properly set when we try to use it to see 14048if a sudden-death session is indeed the last session. 14049 140502010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14051Change evalgraph scale in drop games 14052 14053Score swings tend to be much larger in Crazyhouse and Shogi, so the 14054vertical rangee in those games is doubled to (-14, 14). 14055 140562010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>: 14057bugfix: fixed readline support with icslogon option 14058 14059The icslogon option sends the login and password, so we don't need to handle 14060special cases for the readline buffer. 14061 140622010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>: 14063fixed some typos that were introduced during the sprintf->snprintf changes 14064 14065 140662010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14067Fix uninitialized variable in book code 14068 14069The variable ' power' was used uninitialized in case -bookVariation was 14070set to 0, which can be an error even if it was only multiplied by zero. 14071 140722010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14073Fix menu translation bug 14074 14075The menuText array was declared too small, so that the last entry of the 14076File menu got out of bounds and was overwritten by the first of the Mode 14077menu. 14078 140792010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14080Allow -timeIncrement to be a float 14081 14082The increment can now be fractional seconds. The printing in 14083ParseTimeControl() and SendTimeControl() is done with %g format, so that 14084for integer increment there is backward compatibility with the old level 14085command. 14086 140872010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>: 14088adding gnu-readline support 14089 14090should make the user interface for xboard a bit nicer. In the end we want to have a separate input window, but this probably will have to wait until the GTK version. 14091 140922010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>: 14093added warning if icsLogon file couldn't be opened 14094 14095 140962010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>: 14097security fix: replaced some strcat with strncat 14098 14099there is still more to do 14100 141012010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>: 14102add option for silent builds 14103 14104this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules. 14105It should still work for older automake versions too 14106 141072010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>: 14108bugfix: missing array index 14109 14110 141112010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>: 14112added new case for (Chessmove) 0 in common.h 14113 14114this cleans up a few more -Wall messages 14115 141162010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>: 14117cleaned up -Wall warnings (apart from settings some parentheses) 14118 14119removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis 14120 141212010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>: 14122sizedefaults has 9 members, the last line of the array (NULL) only set 7. 14123 14124 141252010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>: 14126security fix: replaced sprintf with snprintf 14127 14128replaced most sprintf with snprintf. There are still some left where for example a pointer is used and is allocated in the line before, which should be fine... and some others. 14129 141302010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>: 14131security fix: replaced strcpy with safeStrCpy from backend.c 14132 14133see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places. 14134 141352010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14136Enhance multi-session TC clock handling 14137 14138Some new TC types are introduced: Bronstein and free sessions. The 14139former is implemented by letting an exclamation point '!' in front of an 14140increment (in the -tc string) indicate that the increment is limited to 14141the time actually used on the previous move. The latter is an interval 14142of given duraton in which you can do any number of moves (even zero), 14143before the next session starts. This is needed for implementing Shogi 14144byoyomi-type TC, as a first session, followed by a session of fixed-time 14145per move. The latter can now be specified with the -tc argument as a 14146degenerate case of Bronstein, where the time on the clock is <= the 14147increment (so that it is never possible to think longer than the 14148increment). A TC of 5 min + 10 sec byoyomi can then be indicated as 14149300:10+!10. 14150 14151The sessions are now separated by ':' in stead of '+', and all times in 14152the TC string are converted to seconds first (in ParseTimeControl), so 14153the fullTCstring can now be directly used in a PGN tag. 14154 14155Note that this patch only addresses clock handling; the engine will not 14156be informed yet if the TC type or parameters change at the start of new 14157session! 14158 141592010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14160Remove promotion-piece encoding from ChessMove type 14161 14162The shizophrenic way to indcate promotion pieces in the XBoard code 14163(sometimes using a promoChar, at other times relying on moveType) was 14164cured by combining all promotion move types (such as WhitePromotionRook) 14165into a single one (WhitePromotion), and relying on promoChar to specify 14166the piece. This solves the problem of promoting to new piece types in 14167variants, which formerly also required addition of new move types. 14168 14169In Shogi the '+' character is now consistently used to indicate 14170promotions (and recognized in ApplyMove), rather than 'q' or 14171PieeToChar(BlackQueen), as the latter did not work in minivariants where 14172the Queen (representng the Lance) did not partcipate. 14173 141742010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14175Pass promoChar to SendMoveToICS 14176 14177SendMoveToICS was the only place where the promotion piece was derived 14178from moveType, rather than an explicity passed promoChar. 14179 141802010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14181Suppress spurious use of SAN castling in mini variants 14182 14183King moves from a central file to the king-side-castled position (1 14184square away from the right corner) were intercepted and printed as O-O 14185in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the 14186normal King move Kc1-d1 as well. The castling notation is now reserved 14187for King moves larger than one step. 14188 141892010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14190Make Shogi promotion zone board-size dependent 14191 14192In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which 14193would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's 14194Shogi (6x6), which are indeed what these variants need. 14195 141962010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14197Make board-size overrule options volatile 14198 14199The options -boardWidth, -boardHeight and -holdingSize were legacies 14200from the day choosing a variant would not automatically set a board 14201size. As a result they are seldomly used anymore. The first real 14202application is mini-Shogi (on 5x5 board), and it turned out very 14203annoying if the 5x5 settings persisted to the next session, where you 14204almost certainly want to play another variant. 14205 142062010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14207Strip DOS line endings from parser.l 14208 14209 142102010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14211Extend mate test to drop games 14212 14213MateTest() in case of no legal moves now also looks if there are legal 14214drops that can resolve the check. This provides reliable mate testing in 14215Crazyhouse and Shogi, so these are now made subject to adjudications too. 14216 142172010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14218Extend legality testing to drop moves 14219 14220LegalityTest() can nowbe called with (internal-format) drop moves, and 14221delegates their testing to a new routine LegalDrop(). This routine 14222performs the 'no-pawn-on-back-rank' test that used to be in 14223UserMoveTest (which now calls LegalityTest also for drop moves). 14224The more complex Shogi case is also handled (except for Pawn mate 14225drops) in LegalDrop(). 14226 142272010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14228Revert splitting of UserMoveEvent 14229 14230This splitting into UserMoveTest and FinishMove was no longer needed, 14231now that the new mouse driver no longer calls UserMoveTest to figure out 14232if a move is a promotion, and XBoard and WinBoard are unified in this 14233respect. It was counter-productive, because UserMoveTest was not able to 14234change the fromX, fromY (call-by-value) parameters for passing them to 14235FinishMove, so it had to defer the conversion of drop moves to internal 14236format to the latter, while it did not belong there. (Because 14237DropMenuEvent already delivers the moves in internal format.) This 14238whole kludgy construction was therefore abandoned, by going back 14239to the original 4.2.7 calling scheme, where UserMoveEvent completely 14240pre-processes the move, and when it is valid, calls FinishMove directly. 14241 142422010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14243Fix silent bug in drop moves 14244 14245In ApplyMove() the piece on the from square was accessed and used before 14246we tested for drop moves. As drop moves have off-board from-squares this 14247led to out-of-bound array access, which apparently was usually harmless. 14248 142492010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14250Allow parsing of upper-case machine moves 14251 14252Dubious patch, as it caters to non-compliancy. Some variant engines are 14253very non-compliant, though. 14254 142552010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14256Prevent transmission of spurious promo char to other engine 14257 14258The parser now strps off spurious promotion characters. 14259New move types "White/BlackNonPromotion" had to be introduced for this, 14260to indicate NormalMoves that could have been a promotion, to make sure 14261the '=' suffix of Shogi deferred promotions survives. 14262 142632010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>: 14264fixed internationalization for winboard 14265 14266in the original commit some files were forgotten. This should fix it. 14267 142682010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14269Fix JAWS bug saying side to move in ICS play 14270 14271This was done the wrong way around. 14272 142732010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14274Make WB run-time language switch possible from menu 14275 14276This is a rather involved patch that might not be worth it. It is 14277difficult, because translation of things that live forever is not easy 14278to invert (menus, the auxiliary windows). We hae to remember all 14279original, English texts there to be able to put them back,or 14280re-translate. Still does not fully work, although the menus and 14281temporary dialogs now are all OK. 14282 142832010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14284Update WB translation template 14285 14286The language.txt file now also contains all translatable strings from 14287the C source files, rather than jsut the resource. 14288 142892010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14290Update docs 14291 14292Add descriptions for machine-match menu support and enhanced book 14293control, nick-name options and language. 14294 142952010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14296Add some forgotten translation hooks 14297 14298The general-options, file-browse dialogs and the about box did not call 14299Translate() yet. Also translate contents of combo boxes. Some small bug 14300fixes. 14301 143022010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14303Do not translate game-end messages in PGN 14304 14305The messages themselves are not subjected to _(), but in stead their 14306displaying in DisplayMove is subjected to T_(). 14307 143082010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14309Internationalization for WinBoard 14310 14311A function Translate() was added, which uses a list of item dialogs, 14312reads their value, and replaces it by a translation (if available). It 14313also reads the window title and sets a translation. Calls to this 14314routine are added in the initialization code of every dialog callback. 14315In addition all translatable strings in the WnBoard front end are marked 14316by the gettext macro _(). Because WB is not gettexted yet, a hard 14317re-definition of this macro is added in each file using it, to the 14318string-translation routine T_() supplied in winboard.c. 14319Code to read the translation file, and translate the menu texts is added 14320in winboard.c. In backend.c the meaning of the gettet macros is 14321redefined for the WIN32 case. 14322 143232010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14324Make the ID of all WB dialog items unique 14325 14326Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to 14327replace tet at run-time for translation purposes, they need to be 14328addressed individually. So they were given new IDs, with symbols defined 14329for those. 14330 143312010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14332Mark XBoard result messages for internationalization 14333 14334The GNU gettext macro _() is used with the game-end messages. This might 14335be controversial, as they will appear in the PGN as well. But only as a 14336comment. We can always decide not to supply a translation. 14337 143382010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14339Do not exit after match when match started from menu 14340 14341The codelooks weird, but matchMode == 2 in this case. We then use 14342DisplayNote() to report the match result. 14343 143442010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14345Trivial-draws recognition improved in Xiangqi 14346 14347Now based on a routine "SufficientDefence". If both have it, it is draw. 14348 143492010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14350Update .dev files 14351 14352The relocation of parser.c and the addition of history.c was not yet 14353incorporated in the devcpp proect files. 14354 143552010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14356Fix some MSVC compile errors 14357 14358Some statements has moved up stream of declaratons, which is an error 14359that gcc is forgiving about, but where MSVC is strict. 14360 143612010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14362Improved patch for expansion of WB settings-file name 14363 14364The expansion of environment variables now allows multiple environment 14365variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini 14366and %APPDATA%\winboard.ini. 14367 143682010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14369Add -colorNickNames option 14370 14371This option allows non-standard designation of side to move in FENs. 14372(Useful for Xiangqi, where white is indicated often as r(ed), and Shogi, 14373where white is s(ente) or b(lack), and black is g(ote) or w(hite).) 14374Can also be used for FENs in a local language. A match of theinput 14375character with the nick name translates it to the standard; this means 14376the standard will continue to be recognized, unless it was defined as a 14377nick name. 14378 143792010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14380Tricked by the grossnes 14381 14382Some WB menu items were referenced by a hard number. As items had been 14383added over the years, the wrong menu items were grayed. In particular 14384the Options -> Adjudication menu was grayed out, in -ncp mode, where 14385this was intended for the Sounds dialog. This accidentally proved 14386useful, until we started to apply adjudictions also to the Human moves. 14387Then it was suddenly undesirable, and a small mystery why it happened at 14388all, when I tried to change it. The numbers are now corrected to the new 14389locatons of the items in the menus. 14390 143912010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14392Allow match to be started from WB menu 14393 14394A menu item Machine Match was added in the Mode menu to switch to 14395matchMode. A persistent option /defaultMatchGames determines the number 14396of games. A control was added to the Options -> Common Engine dialog to 14397set this option. 14398 143992010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14400Add some book-control options 14401 14402Options /bookDepth and /bookVariation have been added to control the use 14403of the GUI book. In WinBoard the Optons -> Common Engine dialog now 14404contains fields to set them. 14405 144062010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>: 14407new developer release 14408 14409 144102010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14411Repair exit-popup deadlock patch 14412 14413Relocating the exit popup call had made it lose access to the message it 14414should print, because it was declared only in an inner code block, by 14415the same name: buf[]. Deleting the inner declaration fixes it. 14416 144172010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14418Fix erors when compiling with --disable-zippy 14419 14420The file args.h contained a codeblock in #ifdef ZIPPY, in stead of 14421fields. 14422 144232010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14424Fix zippy handling of draw offers from ICS 14425 14426The patch by DM to fix the problem introduced by the coloration of 14427zippy-matched commands (namely that the coloration code beat the zippy 14428draw recognition to it, and ate the draw offer away) was only targeting 14429ICC. The new fix should work on any ICS (by using the same pattern in 14430zippy as in the colorization code). 14431 144322010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14433Fix regression in colorization of zippy-matched commands 14434 14435The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so 14436that in XBoard no coloration would take place of ICS commands that were 14437matched by zippy. (It was using &i as input pointer, rather than &backup. 14438The XBoard-specific code now has been deleted completely, to remove a 14439seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB 14440now use the XBoard method, to only match zippy commands when logged in. 14441 144422010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14443Suggest default file name in browser dialog 14444 14445The argument 'def' to FileNamePopUp() was not passed through to the new 14446file-browser routine, which got NULL in stead, and thus started with an 14447empty input field. 14448 144492010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14450Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI 14451 14452Because the %s expansion of WB options in the /fcp and /scp lines only 14453works for options that contain 'first' or 'second', and /fUCI thus did 14454not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to 14455install UCI engines. (The latter option should be deprecated really; 14456the UCI-ness of the engines is a volatile option, so it makes no sense 14457to supply a way to set them both to false or true. One only needs to be 14458able to set it to the non-default state.) 14459 144602010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14461Add string option /pieceNickNames 14462 14463This (volatile) option allows definition of alternate letters for the 14464pieces, which will be recognized next to the standard symbols as given 14465in the /pieceToCharTable on input. (Output always uses the standard.) 14466This can be useful for reading PGN from another language, or 14467non-compliant FENs (e.g. using B and N for E and H in Xiangqi). 14468 The format of the argument is the same as for /pieceToCharTable. 14469Because the nickNames are consulted before the standard table, it is 14470possible to redefine a standard name as a nick for another piece. 14471 144722010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14473Fix deadlock in match-result display 14474 14475At the end of a match, GameEnds() was recursively calling itself, 14476through DisplayFatalError() and ExitEvent(), and the latter was then 14477delaying until the calling GameEnds() terminated. (Which it would of 14478course never do before ExitEvent returned; fortunately there was a tim 14479limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.) 14480 Now the calling of DisplayFatalError() (to show the result popup) is 14481delayed until after GameEnds completes (and resets the anti-recursion 14482flag 'endingGame'), so that it is simply executed a second time, unaware 14483of the earlier call. But this second time it does not do anything, 14484because the gameMode ws set to EndOfGame the first time, and the writing 14485of the PGN is blocked by the checksum being still the same. 14486 144872010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14488Fix WinBoard game-list title 14489 14490Number of displayed games and WDL stats were always appended to the 14491existing title, leading to an ever-growing title in the game-list 14492window. Now the old actual title is ignored, and the starts is appended 14493to the original title "Game List". (In the future we could use the 14494filename here?) 14495 14496In addition, the title was not updated when re-opening the game-list 14497window, while the stats could change if filtering was active when the 14498window was closed. (In that case the filter is cleared on re-opening, so 14499the number of displayed games changes.) Now a title-update (after 14500recalculating the stats) is done every time the game-list window is 14501opened. 14502 145032010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14504Refactoring of material-draws adjudication code 14505 14506Insufficient mating material is now determined per side individually, by 14507testing for MatingPotential of each side. If both lack mating potential 14508the game is adjudicated as draw (if the -materialDraws option is set). 14509 14510This way MatingPotential() can later also be used to correct losses by 14511forfeit to draws (which currently is only done when the opponent has a 14512bare King). 14513 14514The accuracy of this type of adjudication in Xiangqi has been highly 14515improved. 14516 145172010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14518Fix bug in sending cores command to engine 14519 14520The cores command was alwas sent to the engine(s) when the user changed 14521it through the menu, even when the engine had sent feature smp=0 (which 14522is default anyway). NewSettingEvent() was patched to send the new 14523setting conditionally, based on the engine properties as recorded in 14524ChessProgramStates first, second; In this particular case it now 14525consults cps->maxCores. (Note the code for testing the second engine 14526contains some dirty pointer arithmetic.) 14527 145282010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14529Fix oneClickMove bug 14530 14531When checking for unique captures, no attention was payed to the option 14532setting, so the capture was also made when the option was off. 14533 145342010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14535Remove duplicate testing for cores feature 14536 14537The testing for this BooleanFeature occurred twice. 14538 145392010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14540Remove misspelled prototype 14541 14542NewSettingEvent occurred, next to the correct one, in misspelled form. 14543 145442010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14545Fix parsing of SAN shogi promotions 14546 14547A missing promotion character defaults to promotion in the move type, 14548but the promotion character was not set when this happened in variant 14549shogi. And it is especially important there, as the promotion character 14550'+' will always be missing, as the parser will take it to be a 'check' 14551symbol, and strip it from the move. 14552 145532010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14554Fix variant switch on PGN loading 14555 14556When the PGN specified an essentially different variant, the 14557piece bitmaps were not properly adapted, because the switch was done by 14558calling InitPosition(), rather than Reset(). (The latter would destroy 14559the PGN tags info.) We now added an explicit call to ResetFrontEnd(), 14560(which is normally done from Reset()). 14561 145622010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14563Adjudicate Xiangqi material draws with Advisor-less Cannons 14564 14565Used the Queen counter for counting Cannons. Note that material draws 14566with stale Pawns (i.e. on the back rank) are not yet adjudicated. 14567 145682010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14569Remove font settings from master settings file 14570 14571xboard.conf should not contain general font settings (not specific to 14572one board size) with specified point size. In fact it should not even 14573specify sizable fonts, as the new system would make specification of a 14574general font overrule the size-specific settings in the .xboardrc file, 14575so the persistence of fonts would be completely broken. 14576 145772010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14578Cut board squares out of texture bitmap more cleverly 14579 14580When the bitmap is larger than the entire board, the squares are now cut 14581out of the center of the virtual squares from subdividing the bitmap, so 14582that they stay centered on the grid of a Xiangqi board bitmap. If the 14583board size exceeds that of the bitmap, the old algorithm is still used, 14584as the centering would make the edge squares exceed the bitmap, and 14585cause a black rim around the board. 14586 145872010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14588Allow -flipBlack to work with font-based piece rendering 14589 14590In addition the font-based pieces will also be flipped vertically in 14591flipView for variant shogi when -flipBlack is off. 14592 145932010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14594Allow font-based piece rendering in board sizes below petite 14595 14596At least for variants that use unorthodox pieces, so that switching back 14597to using bitmaps is not really an option anyway. 14598 145992010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14600Ignore checks in 50-move count for Xiangqi 14601 14602Both checks and evasions are discounted; this is only done after the 14603naive counting exceeds the maximum, so during most of the game it causes 14604no CPU load. 14605 146062010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>: 14607removed some garbage from configure.ac that got added a while ago 14608 14609 146102010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>: 14611Remove unnecessary double equals from configure.ac. 14612 14613 146142010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14615Fix e.p. bug in xiangqi with -serverMoves option 14616 14617Sideway Pawn moves were written as e.p. captures in the file with moves, 14618which led to disappearence of pieces in the viewer. 14619 146202010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14621Repair score printing with -serverMoves option 14622 14623A previous patch had moved MakeMove to before the update of pvInfoList, 14624so that the score/depth info would not appear in the file with moves. 14625 146262010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14627Repair animate dragging 14628 14629The previous patch had left a stray semicolon in the mouse handler. 14630 146312010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14632Fix game end during dragging 14633 14634The stale-first-click fix interfered with proper handling of a piece 14635being dragged when a game suddenly ended (because of opponent resign, 14636or caling the flag), because up-clicks when the from-square was reset 14637were completely ignored. Now such an 'unmatched' upclick calls 14638DragPieceEnd() and redraws the board. 14639 146402010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14641Pop down old tags on loadng new game in WinBoard 14642 14643ResetFrontEnd(), called from Reset(), did not do this in WinBoard 14644(unlike XBoard), so that the tags from the previous game were left on 14645display when -autoDisplayTags was off. 14646 146472010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14648Reverse mousewheel action 14649 14650Apparently WinBoard was stepping in the opposite direction through the 14651game in reaction to the mousewheel as every other GUI in existence. 14652 146532010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14654Fix bug in sending "usermove" when forcing book moves 14655 14656The keyword "usermove" was copied to the buffer, but not sent before it 14657was overwritten by the actual book move. 14658 146592010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14660Fix engine stall on perpetual-check evasion 14661 14662The adjudication code had already put the engine in force mode after 14663postponing the actual adjudication to the next move. Now first determine 14664if we want to adjudicate now, and with which result, before stopping the 14665engine and ending the game. 14666 146672010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14668Let move parser return ImpossibleMove for off-board moves 14669 14670It used to return 0, which interfered with buiding a game list. This 14671broke reading of multi-game PGN files containing games in a variant with 14672a board size larger than that of the currenty active variant. 14673 146742010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14675Alter XBoard key bindings to mimic WinBoard 14676 14677A lot of new bindings were added, and four menuProcs had to be registered 14678to be able to add bindings to them. The use of the control key as 14679temporary take-back for the last move conflicted with the use of Ctrl 14680keystrokes, and this function was migrated to '.'. The iconify function 14681had no shortcut in WinBoard, but to get rid of letter bindings it was 14682migrated to '-'. 14683 146842010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14685Update README file 14686 14687 146882010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14689Fix typos in html help file 14690 14691 146922010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14693Fix JAWS piece drop cursor, and streamline some sentences 14694 14695The cursor square was reset to a1 after every use of the piece menu, 14696which was very inconvenient. Some of the spoken sentences have been 14697improved; the square is read before the piece now, when using the arrow 14698keys on the board. 14699 147002010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14701Allow escape sequences in telluser(error) messages 14702 14703The routine EscapeExpand was moved to backend.c, and applied to the 14704message received from the engine. 14705 147062010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14707Allow lower-case promochar in moves of type h8=Q 14708 14709Updated the parser rules. Other move formats already allowed this. 14710 147112010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14712Fix Alt+M JAWS command in Two-Machines mode 14713 14714The command refused to read the ast move because it contained thinking 14715output of the other engine. Let it pay attention to evenIfDuplicate. 14716 147172010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14718Fix rep-draw recognition 14719 14720The refactoring had broken the rep-draw recognition, by adding and extra 14721condition in a conditional with side effects. The testing of this extra 14722condition is now moved to after the side effect. 14723 147242010-03-28 12:32:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14725Allow any %ENVIRONMENTVAR% in WB settings file name rather than ~ 14726 14727Only a single variable at the beginning of the file name is recognized, 14728and the matching is not fool proof (it matches across backslashes). 14729 147302010-03-28 11:24:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 14731Fix info lines being used as normal thinking output 14732 14733The new standard of using thinking output with time = nodes = score = 0 14734as info messages for printing in the Engine-Output window was not 14735understood everywhere, and led to such info lines being used for 14736autoKibitzing and PGN annotation. The programStats are now only updated 14737from thinking output received from an engine when it is not an info line. 14738 147392010-03-27 11:54:41 -0700 Arun Persaud <arun@nubati.net>: 14740new developer release 14741 14742 147432010-03-26 21:16:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14744Suppress background observe for boards with own game number 14745 14746This is really a work-around for an ICS bug. The Variant-ICS sent the 14747initial board of a game in a move list with relation = 0, which means 14748'observed'. So XBoard was thinking it was observing its own game, and 14749switched to dual board. It seems harmless to suppress such a switch for 14750all boards of your own game, however, which is now done. 14751 147522010-03-26 21:12:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14753Fix crash on switching to ICS xiangqi game 14754 14755The oldBoard was a local variable, and only squares of the old board 14756were initialized. This led to a crash if the copied board was enlarged, 14757and then displayed. The variable is now declared static, so the 14758uninitialized squares contain harmless zeros. 14759 147602010-03-26 18:32:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14761Let Chat Boxes pop up above console, rather than on top of it 14762 14763Use EnsureOnScreen() to have them overlap if there was no room. 14764 147652010-03-26 18:26:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14766Fix disabling of Chat Box navigation buttons 14767 14768The buttons for non-open boxes were enabed, rather than disabled. 14769 147702010-03-26 18:17:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14771Prevent <Esc> closing chat box 14772 14773Let it in stead switch focus back to the console window. 14774 147752010-03-26 15:28:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14776Let WinBoard recognize ~ in settings file name as HOMEPATH 14777 14778Fetch the appropriate environment variable to build the mathname in 14779MySearchPath() whenever the file name starts with "~\". 14780 147812010-03-26 13:59:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14782Change name of Global Settings menu item to Common Engine Settings 14783 14784The old name confused ICS users, as this is an engine-only dialog. 14785 147862010-03-26 13:58:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14787Update WinBoard RTF docs 14788 14789 147902010-03-26 13:57:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14791Update WinBoard html help 14792 14793 147942010-03-24 18:00:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14795Allow adjustment of clocks in any mode with shift+click 14796 14797In practice changing to edit-game mode during a game was very 14798cumbersome. In WinBoard shift+click is now offered as an alternative. 14799Make sure a right-click in the clock area is not also counted for other 14800purposes. 14801 148022010-03-24 17:21:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14803Allow loading of PGN variations in XBoard 14804 14805Right-clicking variation comments in the comment-window was implemented 14806through a translation. The right button is now bound to routines that 14807set both the end and start of the selection, as setting a new start does 14808not seem to work if the previous select-start was not completed by a 14809select-end or extend-end. Finally the main handler uses the selection 14810cursors to know what was clicked. 14811 148122010-03-24 17:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14813Update XBoard docs 14814 14815Added a descripton of the new ICS options (seek graph, back-ground 14816observe) and menus (Upload) to the texi file. Also added a description 14817of the variation (Annotate menu item and PGN variation comments) and PV 14818walking (clicking engine-output). Describe the -shuffleOpenings option. 14819 148202010-03-24 13:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14821Paint highlights on dual board (WB) 14822 14823The highlight info is hidden in the partner board to pass it to the 14824front-end. 14825 148262010-03-24 13:14:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14827Fix handling username change during game 14828 14829The title bar and gameInfo (going into the PGN) were not adapted when 14830the username was changed through the menu, so that the change became 14831only effective on the next game. Requires SetGameInfo to be called from 14832the front-end, and thus a prototype for it in backend.c. 14833 148342010-03-24 11:04:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14835Fix window-position upset on failing engine start in WinBoard 14836 14837The main window was only positoned according to the settings-file data 14838after the engine was started up from InitBackend2(), so that if the 14839latter gave a fatal error, and Save Settings on Exit was on, a wrong 14840position for the main window would be saved. The call to InitBackend2() 14841is now moved until after setting the main-window position. 14842 148432010-03-23 23:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14844Display PV from Engine-Output window (XBoard) 14845 14846Translations are added to bind button 3 to the PV walk for the memo 14847widgets, and the corresponding handlers are ported from wengineoutput.c. 14848 148492010-03-10 18:54:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14850Set keyboard focus at startup to board window 14851 14852This makes XBoard sensitive to the keybindings also when the cursor is 14853outside the board window. This focus seems to persist indefinitely: each 14854time the board window gets selected, the key bindings become activem 14855wherever the mouse pointer is. Downside: the mouse pointer is no longer 14856an arrow outside the board window, but becomes a text-insert tool there. 14857 148582010-02-27 20:49:21 -0800 Arun Persaud <arun@nubati.net>: 14859added logo files for xboard 14860 14861logos are installed in the hicolor theme [1] using $datadir as the basedir. 14862Added both png and svg logo. 14863 14864[1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html 14865 148662010-02-27 17:36:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14867Remake programVersion string after receiving engine features 14868 14869The engine could have sent a more accurate version of its own name 14870than the one derived from the exe filename in a myname feature, and we 14871better use that in the programVersion string, which will be sent as 14872interface name to the ICS. 14873 148742010-02-25 19:22:00 -0800 Arun Persaud <arun@nubati.net>: 14875Revert "Repair settings-file name" 14876 14877This reverts commit a02042ef83ce1f3632f0cf3e0a2a4ce9a3ac5d85. 14878 148792010-02-25 20:32:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14880Add -autokibitz checkbox to UCI-options menu dialog 14881 14882 148832010-02-25 20:29:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14884Also capture (numeric) whispers of players for -autoKibitz 14885 14886 148872010-02-25 20:25:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14888Add kibitzes and c-shouts Chat Box 14889 14890A box dedicated to c-shouts will snatch any c-shout before it is 14891diverted to a normal shouts box. The kibitzes box can capture the 14892left-overs of -autoKibitz, if the latter is active. 14893 148942010-02-25 15:45:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14895Mark non-compliant lines of engine in debug file 14896 14897The option -engineDebugOutput is extended to accept value 3 for printing 14898a cear indication of non-compliancy in the debug file. 14899 149002010-02-25 12:02:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14901Redraw second board on expose events 14902 14903The -dualBoard option now does refresh the second board after another 14904window uncovers it. To acheive this, some data structures remembering 14905what is displayed had to be duplicated. (lastBoard and damage for XB, 14906lastReq, lastDrawn, lastReqValid and lastDrawnValid for WB.) 14907WinBoard now uses clipping also for second board. This required the 14908clips for the destination to be translated horizontally! 14909 149102010-02-25 15:13:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14911Print seconds with 2 digits in backgroundObserve status line 14912 14913 149142010-02-24 17:01:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14915Do not recognize non-ICS variants from PGN event tag 14916 14917These variants were introduced after supporting the variant tag, so if 14918the variant tag is missing, their recognition from the event tag will be 14919a false match. (Mainly to prevent events with 'super' in the name being 14920recognized as Superchess.) 14921 149222010-02-23 13:52:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14923Fix display of uninitialized boards in background observe 14924 14925A variable partnerBoardValid is cleared on starting our own game, and 14926set when a board from the background game comes in during it. At the end 14927of our own game, a valid partner board now is put in the display. 14928 149292010-02-23 13:46:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14930Add option Display Logo in WB general-options menu 14931 14932Changing the option requires InitDrawingSizes to be called for 14933re-formatting the board window. Switching it off requires clearing of 14934the cps->programLogo fields to take effect immediately. Switching it on 14935only takes effect the next session, as we will need some refactoring to 14936redo the figuring out what logos to display. 14937 149382010-02-22 12:02:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14939Group Chat Boxes with console in stead of board window 14940 14941They now open and close with the console, which seems more natural, and 14942prevents the console from covering them. 14943 149442010-02-22 11:50:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14945Put new options in WB ICS-options dialog 14946 14947The Seek-Graph, background-observe and Chat-Box options are added to the 14948ICS options dialog. They only control the appData settings, there are no 14949special actions yet on switching the settings. 14950 149512010-02-22 11:46:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14952Create space in WinBoard ICS-options dialog 14953 14954 149552010-02-20 12:42:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14956Use side-by-side boards to display background game 14957 14958A game observed in the background (i.e. if -backgroundObserve true) will 14959be displayed right of the normal board in the same window if the new 14960(persistent) Boolean option -dualBoard is also set. 14961Very flakey hack, especially in XBoard, where clocks and messsage 14962field all get the wrong width (and resist adjustment in the strangest 14963ways). The clocks of the partner game are not yet displayed, and 14964disaster happens when the background and foreground games do not have 14965the same board format. 14966 149672010-02-23 14:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14968Repair background-observe patch 14969 14970Apparently a commit was lost that I collapsed with 3018a6 while the 14971latter was already pushed to savannah. Here I recreated this commit from 14972a diff between the respective commits in the savannah & nubati gits. 14973 149742010-01-31 11:07:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14975Repair settings-file name 14976 14977The default name is put back to /etc/xboard/xboard.conf, so that XBoard 14978can again find its settings file. "make install" will still install it 14979in the wrong place. 14980 149812010-02-21 18:43:59 -0800 Arun Persaud <arun@nubati.net>: 14982new developer release 14983 14984 149852010-02-21 19:45:58 -0800 Arun Persaud <arun@nubati.net>: 14986fixed compiler warning for file-browser code 14987 14988missing "void"s in the function declaration and missing returns showed up when trying to build on the opensuse build server. fixed now. 14989 149902010-02-21 23:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14991Put newly opened Chat Box on top 14992 14993Dialogs always pop up in front, so set the onTop variable that prevents 14994highighting the button to navigate to it from other Chat Boxes 14995to reflect that a newly opened Chat Box is in view. 14996 149972010-02-21 18:55:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 14998Fix copying of kibitzed info in Engine-Output window 14999 15000Make sure all lines end with "\r\n" to not lose line breaks on 15001copy-paste from the memo. (XBoard would strip those again.) 15002 150032010-02-21 18:25:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15004Allow walking a kibitzed PV 15005 15006If no tabs are found in te 'thinking output' we assume it is a captured 15007kibitz message, and look for "PV=" to locate the start of a PV in it. 15008Also try to include any continuation lines below the selected line. 15009 150102010-02-21 17:45:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15011Insert autoKibitz continuation lines at end of line 15012 15013In the engine-output window lines that start with the ICS continuation 15014sequence "\ " are inserted behind the line they belong to, in stead of 15015at the top. This required keeping thrack of the length of the currently 15016active line in OutputKibitz(). 15017 150182010-02-20 15:39:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15019Don't disturb background observe when receiving new piece 15020 15021When new holdings are sent when the background game is displayed, we now 15022ignore this, as presumably we are peeking at our partners game, and thus 15023should be well aware of what is captured there. 15024 150252010-02-19 21:52:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15026Newly lexed parser in XBoard directory 15027 15028 150292010-02-19 11:18:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15030Let yy_text determine progress of PV parsing 15031 15032The parsed unit yy_text was not available after ParseOneMove(), because 15033the buffer switch in yylexstr() apparently destroys it. To solve that, 15034yylexstr() now is equiped with an extra buffer argument, where it copies 15035yy_text before the switch, so the caller, ParsePV(), can see what was 15036parsed in yy_textstr. This is used to update the PV pointer, but also to 15037save any parsed comments (when ParsePV is used for parsing a PGN variation). 15038 150392010-02-18 17:42:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15040Support playing through PGN variation comments 15041 15042Right-clicking a variation line in the comment dialog will shelve the 15043current variation, and parse the comment to replace it. This uses 15044ParsePV() in an alternative way, for which the latter had to be 15045enhanced: it was made resistent to move numbers and comments inside 15046the PV. It now has an argument to indicate if such comments should be 15047stored with the moves. The Comment Popup is closed on revert, to 15048make sure no comments to moves that are destroyed, containing 15049variations on a non-valid line, can keep hanging around. 15050 150512010-02-18 16:05:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15052Add Annotate item in Step menu 15053 15054This does the same as Revert, except that it adds the destroyed 15055variation as comment to the original movem in PGN variation format. 15056RevertEvent now has an argument to indicate if it should add the 15057comment, or not. Comments in the abandoned variation are included in the 15058varriation command to the main line. (The exact layout of the variation 15059comment that results leaves still to be desired.) 15060 150612010-02-15 19:07:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15062Add option -shuffleOpenings 15063 15064This volatile option is added just to make the existing variable 15065available from the command line, not only from the menus. 15066 150672010-02-19 11:48:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15068Let the sounds sound on receiving a message in a Chat Box 15069 15070Use Colorize() to the applicable color to trigger the sound, and then 15071restore the original color as 'continuation', to do it silently. 15072 150732010-02-10 10:55:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15074Allow WB Chat Box to be dedicated to shouts and 'it' 15075 15076By putting 'shouts' in the handle field, a chat window will capture all 15077shouts and c-shouts, and send messages typed into it as shouts. 15078The bracketing of the shouter name now indicates the type of shout. 15079The handle for WHISPER Chat Boxes has been changed to 'whispers', to 15080make it easier to pop them up by clicking the console. 15081 150822010-02-16 22:34:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15083Add -chatBoxes option to open Chat Boxes at startup 15084 15085This string option contains a semicolon-separated list of handles for 15086which Chat Boxes should be opened at startup. The value saved in the ini 15087file is the value that was read, not the actual chat boxes that were 15088open at the time of saving. 15089 150902010-02-16 19:44:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15091Make Chat Windows pseudo-tabbed 15092 15093By adding buttons in every Chat Box to navigate directly to every other 15094Chat Box, a stacked set of Chat Windows behaves like a single tabbed 15095window, but can still be unstacked. The buttons turn grey to warn that 15096new text appeared in hidden boxes (i.e. not the one last brought to top). 15097 150982010-02-19 21:46:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15099Allow arrow keys in WB Chat Box to access command history 15100 15101The history is shared between al boxes and the ICS console. 15102 151032010-02-12 22:35:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15104Make WB Chat Boxes wrap and handle URLs 15105 15106Cloned the code for the console text field to hande URL. (Initialization 15107to recogize the link, and notifiction to open it when clicked.) 15108Removed the ES_AUTOHSCROLL style from the RichEdit in the resource. 15109 151102010-02-10 10:58:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15111Fix copying of WB Chat Window contents 15112 15113All line breks were lost on copy-pasting the contents of a chat window. 15114Adding CR to each outputted line in the front-end (wchat.c) solves this. 15115(Tell messages sent to a handle (which are not echoed by the ICS, and 15116thus have to copied to the chat box directly) also need CR!) 15117 151182010-02-19 22:34:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15119Add upload of game to ICS for examining 15120 15121New item "Upload to Examin" in Action menu, calls UploadGameEvent(). 15122Use SAN moves to upload game to ICS, rather than long algebraic 15123(The ICS did not understand long-algebraic promotion moves) 15124Use bsetup within examine to set position onFICS, and also variant. 15125Castling rights do not work yet for FRC. Totally different set of 15126commands are needed on FICS and ICC. 15127 FICS does not understand w23 or wild/23, but needs 'crazyhouse' in the 15128besetup command that specifies the variant. XBoard variant names are 15129used, except for fischerandom, which is 'fr'. Things like nocastle will 15130probably still not work. 15131 151322010-02-18 17:41:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15133Handle display of PV that starts with other move than played 15134 15135Insert the retraction of the played move, without premove highlighting. 15136 151372010-02-16 19:36:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15138Bugfix smart capture 15139 15140Disambiguate was changed to make sure that for ambiguous moves, a 15141capture would always prevail in the closure, rather than the last move 15142that happened to be generated. Before, double-clicking a piece would 15143sometimes plsy a non-capture. 15144 151452010-02-13 15:34:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15146Fix XB crash on giving keyboard focus to non-text widget 15147 15148In the Engine-Settings dialog SetFocus() could be called for non-text 15149widgets, and this made XawTextSetInsertionPoint() croak. Setting the 15150insertion point to the end in SetFocus() was a bad ide anyway, as it 15151interfered with copying from the engine-output window, which would 15152uncontrollably scroll on getting focus. It is solved now by setting the 15153insertion point already on creation of the text widgets. 15154 151552010-02-19 22:32:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15156Seek-Graph bugfix: disappearing output in ICS console 15157 15158Suppression of output to the cosole was handled fundamentally wrong: it 15159was not enough to set next_out to after the unit that should be 15160suppressed, as there can be a backlog in printing of previous units that 15161came in the same packet. So this has to be flushed first, or it will be 15162lost. -autoKibitz probably got away with that, because it comes in a 15163separate packet. But seek ads are often suffixed to other output, and 15164then that output disappeared! Now we flush everywhere before suppressing. 15165We now totally rely on the prompt to restart the printing, so that 15166acknowledgements following the echo of the sent message are also 15167suppressed. Also suppress LF before diverted chat messages. 15168 Also fixed is the 'mamer bug' in Chat Boxes, due to false parsing of 15169a "* (*): " pattern in tell messages, because of a missing continue. 15170 151712010-02-12 18:08:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15172Pop up ICS text menu with default item under mouse pointer 15173 15174The menu popup is migrated to the down-click (was up-click), so the 15175up-click can select the item. Some trickery is needed to fool the menu 15176into thinking that the mouse moved, so that a moveless up-down click in 15177the ICS text field selects the default item (the upper-right one). 15178Also allow dummy item in ICS text menu: The command "none" in the ICS 15179text menu will now be treated as a grayed-out (disabled) entry, so it 15180can be defined in the position underthe mouse pointer to prevent the 15181up-click from doing anything, while keeping the menu open. Recommended 15182for use with an entry of spaces. 15183 151842010-02-10 14:42:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15185Allow ICS context menu to pop up a Chat Box on clicking handle 15186 15187A command "chat" defined in the WinBoard icsMenu string will cause 15188ChatPopUp() to be called when it is clicked, with the clicked handle 15189(name) in the ChatPartner field, and focus on the input field. 15190ChatPopUp() had to get a parameter (the handle) to make this possible. 15191If that parameter is NULL (as when it is called from the Mode menu), 15192focus will still start on the (empty) ChatPartner field of the box. 15193 151942010-02-10 10:50:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15195Fix right-edge spillover of Seek-Graph dots in WinBoard 15196 15197Rescale the X-axis to allow margin for dot size and color offset. 15198 151992010-01-30 11:05:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15200Interface XBoard to GhostView file-browser dialog 15201 15202Note: The Ghostview dialog was using some deprecated variables for error 15203printing, and conditionally used getwd() on some systems that presumably 15204do not have getcwd(), but it did not assess the latter properly. 15205 152062010-02-09 14:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15207Allow recalling history in ICS input box with arrow keys 15208 15209By adding translations for the Up and Down keys, and stealing some code 15210from winboard.c. Still needs some refactoring to move the duplicate code 15211to the back-end. 15212 152132010-02-09 14:34:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15214Start insertion point at end of text edits in XB dialogs 15215 15216The function SetFocus now uses XawTextSetInsertionPoint to position the 15217end of the string it aready contains, rather than at the beginning. 15218 152192010-02-08 17:55:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15220Capture holdings of background observed game 15221 15222 152232010-02-08 11:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15224Match handles with multiple titles for channel Chat Boxes 15225 15226Only handles with at most one suffixed 'title', such as (U), (C), (IM) 15227or (TD), followed by the parenthesized channel number, were recognized, 15228so tells by people with more titles always went to the ICS console window. 15229Patterns are added to recognize handles with upto three such qualifiers. 15230 152312010-02-08 11:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15232Do not pop down Seek Graph on on-dot click 15233 15234Leave the graph up, and let the incoming board of a started game cause 15235the pop-down. This in case the clicked ad is no longer vailable, or 15236manuay refused, and fails to start a game. 15237 152382010-02-07 21:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15239Observe a game in the background while playing 15240 15241A new (persistent) option -backgroundObserve true|false is added. When 15242set, observed boards received while playing a game will not trigger a 15243game switch, but will be ignored except for storing in a dedicated board 15244buffer. Pressing the right mouse button will cause the board to be 15245displayed, until we release it. Time, strength and stm are always 15246displayed in the message window. 15247 152482010-02-07 16:43:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15249Remove race condition in clock switching 15250 15251The move number is now incremented inside SwitchClock, when no timer 15252interrupt is scheduled, so the interrupt cannot occur at the wrong side 15253of the increment, and decrement the wrong clock. 15254 152552010-02-07 11:53:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15256Let second click on piece make only capture, with -oneClickMove 15257 15258Normally this would clear the highlighting of that piece. 15259Required new field in DisambiguateClosure to count nr of captures. 15260 152612010-02-07 11:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15262Bugfix stale first-click 15263 15264When the opponent resigned after the user had cicked a from-square, 15265clicking the from-square for the first move in the next game would 15266produce an "illegal move" message, because it was considered a to-click! 15267We now set fromX and fromY to invalid in GameEnds(). 15268Should we also reset them on mode changes? 15269 152702010-02-07 11:08:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15271Add promotions and e.p. to oneClickMove 15272 15273For e.p. the to-Square of the Pawn has to be clicked. Promotions are 15274always to Queen when you click the to-square, but use the promotion 15275pop-up when you click the from-square. 15276 152772010-02-07 10:38:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15278Fix error that compiler does not notice 15279 15280Boolean GLT_GetFromList did not return a value. But no error on Ubuntu! 15281 152822010-02-06 18:55:38 -0800 Arun Persaud <arun@nubati.net>: 15283new developer release 15284 15285 152862010-02-06 18:30:42 -0800 Arun Persaud <arun@nubati.net>: 15287updated year in copyright info 15288 15289 152902010-02-05 22:27:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15291One-click moves 15292 15293Playing on ICS or against engine, clicking a square from or to which 15294only a single move can be made causes the move to be done, when the new 15295option -oneClickMove is set to true. 15296 152972010-02-04 16:09:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15298Use squares for computer seek ads 15299 15300Shape indication passed in sign bit of color (char) variable. 15301 153022010-02-04 22:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15303Use right mouse button to view seek ads 15304 15305Right down-click does the same as left down-click, right up-click 15306simulates a left up-click off board (so it misses all dots). 15307 15308Use right-click miss to refresh Seek Graph 15309 15310The 'moving' parameter had to be made into an int for this, to indicate 15311right clicks with code 2. Right press now already pushes the clicked ad 15312to the back, so that the up-click will display an underlying one. 15313 15314Bugfix pushing back seek ads on right-click 15315 15316On a right button press the previous in stead of currently hit ad was 15317receiving the penalty. 15318 15319Indicate seek-ad multiplicity 15320 15321If more than one seek ad is inside the capture range of the mouse 15322pointer, an exclamation point is printed before the seek-ad text. 15323 15324Some fixes to make seek-ad suppression work in WinBoard 15325 15326In WinBoard the z-depth was immediately erased by redrawing the graph; 15327the clearing of zlist had to be moved from PlotSeekAd() to AddAd() 15328(where it really belongs). Also aging of z-depth is now suppressed on 15329mere pointer motion. 15330 153312010-02-04 22:45:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15332Dynamic Seek Graph 15333 15334The new option -autoRefresh sets FICS and ICC to report removal of seek 15335ads, and then removes those from the Seek Graph. New seek ads are added 15336to the graph, as soon as the ICS reports them. 15337 153382010-02-04 22:42:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15339Implement SeekGraph in XBoard 15340 15341For now only controlled by left mouse clicks on board. New options 15342-seekGraph true|false and -sg to switch this feature on. 15343 15344Facilitate selection of coinciding seek ads 15345 15346Seek-ads that are viewed but not answered get a distance penalty on the 15347up-click that makes their selection more difficult next time, so that 15348the ad they covered gets a (better) change. The penalty ages away in the 15349course of 5 clicks. 15350 15351Slightly offset Seek-Graph dots of different color 15352 15353Dots of different color are now displaced horizontally be 3 pixels, to 15354prevent them from completely covering each other. (Required the axis 15355labels to be moved a little too, to not be covered by the 1-min ads.) 15356 15357Auto-show seek-ad texts in WinBoard 15358 15359Hovering the mouse above a Seek-Graph dot will make the text belonging 15360to it appear in the message field without the need to press a button. 15361Required SeekGraphClick() to be called from the WB mouse event handler, 15362with an extra argument 'moving' to make the distinction with a real 15363click. 15364 15365Show seek-ad text on mouse hovering (XBoard) 15366 15367The Eventproc is also set to trigger on PointerMotion, and this event 15368then calls SeekGraphClick with motion=true to handle it. 15369 15370Put poetic name of wilds in seek-ad text 15371 15372Use XBoard variant names, except for 'loadable' and 'fischerandom' 15373(becomes 'setup' and 'chess960'), but leave number (to distinguish wilds 15374that transate to same XBoard variant). 15375 153762010-02-05 20:36:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15377Fix highlighting bug in XBoard 15378 15379The from-square was drawn before the to-square was erased, which led to 15380a missing highlight line if they shared an edge or corner. 15381 153822010-02-05 15:49:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15383Shorten autoKibitz confirmation on FICS 15384 15385Strip off the "players)", but leave the separatng space. 15386 153872010-02-05 14:39:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15388Repair damage to -autoKibitz done by FICS atomic zippy claim 15389 15390The sending of -autoKibitz info was also moved back in that patch, but 15391unfortunately to after clearing of the programStats info. Now the 15392clearing has been moved also, to remain after it. 15393 153942010-02-04 23:33:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15395Send continuation lines to chat box they belong to 15396 15397The variable savingComment is used as a kludge to remember where the 15398comment should go (i.e. which chatbox, or elsewhere), so that when a 15399continuation line is matched, chatPartner (which was reset at EOL) can 15400be restored to its original value. Also put space after handle of talker 15401in channel Chat Windows 15402 154032010-02-02 19:08:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15404Fix u64 format for cygwin 15405 15406With a -mno-cygwin compile %llu and %lld are definitely not understood 15407by scanf and printf, although they are by the compiler. In stead, %I64u 15408seems to work. Put it in under control of a switch USE_I64, which is 15409defined only in the gcc makefile when MINGW is used. 15410 154112010-02-02 19:02:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15412Remove stray dot from WinBoard makefiles 15413 15414There was a period suffixed to config.h in the wgamelist.o dependency. 15415 154162010-02-01 14:50:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15417Fix bug in display of logos 15418 15419The logo continued to be drawn after a boardSize change to a tinyLayout 15420size, although there was no space reserved for it. Fixed by explicitly 15421resetting logoHeight when no logo space is reserved in InitDrawingSizes(). 15422 154232010-01-19 20:15:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15424Right-click refactoring: step III 15425 15426Let WinBoard call RightClick in back-end, and delete the duplicate code 15427it had for this, after rescuing the front-end bits, and let the letter 15428act depending on the result returned by RightClick. 15429 154302010-01-19 19:07:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15431Right-click refactoring: step II 15432 15433Migrate the Right-click routine to the back-end. Let it communicate back 15434square coordinates through pointer arguments, to accomodate their 15435different naming in XBoard and WinBoard. Template added in frontend.h. 15436 154372010-01-19 17:55:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15438Right-click refactoring, step I 15439 15440Divorce front-end part from back-end part of PieceMenuPopup in XBoard 15441front-end, and forge the back-end part into a new routine RightClick. 15442The right up-click in XBoard, which called unLoadPV() directly, now 15443calls RightClick through PieceMenuPopUp(). 15444 154452010-02-04 23:09:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15446Merge gamelistopt sources into gamelist source files 15447 15448The files xgamelistopt.c and gamelistopt.c are merged with xgamelist.c 15449and gamelist.c, respectively. The WB front-end for the dialog already 15450resided in winboard.c, so there was little need to move it to wgameist.c 15451file. Makefiles adapted accordingly. Unsuitable key bindings were 15452removed. The low-level front-end prototypes are now defined in in 15453frontend.h. 15454 154552010-01-29 21:47:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15456Game-List options dialog for XBoard 15457 15458A dialog similar to that of WinBoard was cloned from the game-list 15459window. The XBoard front-end is in a separate file xgamelistopt.c, 15460which in fact implements most of the low-level front-end as back-end. 15461 154622010-01-29 12:48:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15463Refactoring of game-list-options dialog 15464 15465The back-end part is separated off, and moved to a file gamelistopt.c. 15466Front-end for now stays in winboard.c. No prototypes in frontend.h yet. 15467 154682010-01-26 19:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15469Fix of ancient WB bug: test integer option values for validity 15470 15471Only a string of digits preceded by an optional sign is accepted now. 15472Before, any string was accepted, and leaving out a value could lead to 15473the next option being ignored (if it did not need a value) because it 15474was considered the value for the previous one! 15475 154762010-01-26 19:00:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15477Fix bug in edit-position of holdings 15478 15479The holdings were effectivelly taken one too large, so that a promoted 15480shogi Pawn moved to, or created in the holdings was not demoted to Pawn, 15481but put in the dark (which you could see by the holding count if you did 15482it twice). The overflow tests in these two cases now have been corrected. 15483 154842010-01-25 13:54:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15485Save fonts in XBoard settings file per boardSize 15486 15487Each -boardSize now can have its own font specified in the settings file 15488(and thus by a command-line option, although it would in general not be 15489very useful to specify a font for a size other than the selected). E.g. 15490a prefix "size33:" to the font name will apply it only to -size 33. 15491An unspecified-size font option (not normally in the settings file) will 15492always prevail over a font option specific for the current size. 15493A font of some size must have been used or specified in order to be 15494saved. 15495 154962010-01-25 08:56:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15497Fix width of filter field in XBoard GameList 15498 15499An empirical dependence of the width of this text edit on the square 15500size now makes for an acceptable layout at any board size. 15501 155022010-01-24 19:09:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15503Use FICS atomic draw claim for sending move in zippy mode 15504 15505For this the relaying of the move had to be moved until after the 15506adjudication, which again has to be done after MakeMove(), which is a 15507bit dubious, as MakeMove might take significant time when animating. 15508 155092010-01-24 18:51:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15510Send FICS atomic claim to ICS if move creates draw after offer 15511 15512The FICS format "draw MOVE" is used to send the move to the ICS when 15513the user enters a move that adjudicates as a claimable draw, and he 15514offered a draw before the move. For the benefit of ICS that do not 15515understand this format, the plain move is sent afterwards. 15516 155172010-01-24 18:16:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15518Also allow user to claim by offering draw before his move 15519 15520Use the existing userOfferedDraw variable to test for such offers in 15521Adjudicate(). 15522 155232010-01-24 17:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15524Also adjudicate after user move 15525 15526Call Adjudicate() in FinishMove(). 15527 155282010-01-24 15:56:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15529Refactoring of adjudication code 15530 15531Put all the rule-based (as opposed to score-based) adjudications in a 15532separate routine, so they can also be called on user moves. This 15533requires sending the drawing move to the opponent engine to be made 15534conditional on existence of the latter. Execution of the code is no 15535longer dependent on the condition TwoMachinesPlay, but actual game 15536terminations are now all restricted by an alternative condition (no ICS 15537mode). 15538 155392010-01-24 11:46:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15540Use -keepAlive option to determine connection health 15541 15542When there has been no ICS response since the previous 'ping', assume we 15543are disconnected and do a fatal-error exit. Also auto-start the ping 15544process in InitBackend3(). 15545 155462010-01-23 23:00:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15547Use arrow keys in XBoard GameList for entry selection 15548 15549Add translations for arrows and home/end, to call LoadSelectedProc with 15550argument to indicate the step, and let the latter perform the action. 15551 155522010-01-23 22:24:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15553Allow <Enter> to apply filter in XB GameList filter edit 15554 15555Apply a translation to intercept the <Enter> key. Set focus back to the 15556list display afterwards. 15557 155582010-01-23 21:44:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15559Accept <Enter> for changing chat partner 15560 15561A kludge stolen from Alessandro's GameList filter allowed to let the 15562typing of <Enter> while updating the chat-partner field of the WinBoard 15563chat windows to act as pressing the Change button. Gives focus to the 15564input field of the window afterwards. 15565 155662010-01-23 21:42:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15567Move duplicat gamelist code to backend 15568 15569The filtering routines are moved from xgamelist.c and wgamelist.c to 15570gamelist.c, and a prototype for them is placed in backend.h. 15571 155722010-01-23 19:29:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15573Port game-list filtering to XBoard 15574 15575Added a text edit and apply button to the XBoard game-list dialog, and 15576only have it print those lines that match the filter. Translate index in 15577list to index of game in file when a game is selected, and index in file 15578to index in list when a line is highlighted. Duplicates some code 15579between xgamelist.c and wgamelist.c, which should be moved to back-end. 15580 155812010-01-21 19:24:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15582Convert to DOS line endings 15583 15584For easier understanding of upcoming diffs of winboard.c 15585 155862010-01-21 14:32:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15587Refactoring of move-history code 15588 15589The WinBoard code in whistory.c was split in a front-end part (remaining 15590in whistory.c) and a back-end part (now in history.c in the xboard 15591directory). This to allow easy porting to other platforms. 15592 155932010-01-20 12:48:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15594Add fixed-time/move button in XBoard time-control dialog 15595 15596Put the TC-type buttons in a radio-group, and highlight the selected mode. 15597 155982010-01-19 18:27:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15599Fix bug in XBoard PV display 15600 15601The PV was unloaded on anything but a button release, in stead of the 15602other way around. 15603 156042010-01-23 11:04:11 -0800 Arun Persaud <arun@nubati.net>: 15605fixed hardcoded location of config file for xboard 15606 15607the location should now follow sysconfdir during the configuration process. 15608Also added some more output to the configure script. 15609 156102010-01-18 12:18:32 -0800 Arun Persaud <arun@nubati.net>: 15611new developer release 15612 15613 156142010-01-18 12:15:06 -0800 Arun Persaud <arun@nubati.net>: 15615fixed Makefile.am to handle config file correctly 15616 15617 156182010-01-15 21:55:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15619Change opening array -variant fairy 15620 15621We now use the position of "Chess with Different Armies", FIDE army vs. 15622a fantasy army (inspired on the Color-bound Clobberers) as opening 15623position. 15624 156252010-01-13 19:08:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15626Add variant Makruk 15627 15628Thai Chess, played by 2 million world-wide. Required pawn promotion to 15629happen in a zone, and the Alfil to move as Shogi Silver, a new opening 15630array, and unusual Pawn placement. Because of the latter, I consider it 15631a setup position, so a FEN will always be sent to the engine. 15632 156332010-01-17 14:17:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15634Fix parsing of O-O and O-O-O after FEN pasting in FRC 15635 15636Because the initial rights were not set in the FEN reader, the 15637initial rights of the previous game remained in force, so that the 15638parser did not understand OO-castling (although it would allow KxR 15639castling). 15640 156412010-01-15 14:40:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15642Fix reading FEN castling rights for knightmate and twokings 15643 15644Scanning the back-rank for a King did not work in these variants, 15645because either the Unicorn castles, or there might be two Kings. 15646 156472010-01-13 11:42:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15648Fix omission in castling refactoring for ICS received boards 15649 15650A default of -1 was still used, in stead of NoRights, when no Rook was 15651found. In theory this could have had effect in a setup board 0 in FRC, 15652when there were no Rooks on the back rank. 15653 156542010-01-13 11:35:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15655Fix TwoKings ICS castling-rights bug 15656 15657Scanning the rank (as is done because of FRC) assigned castling rights 15658to the rightmost King. Even scanning the opposite direction would not 15659work, as it is not always the eftmost King that can castle. So we now 15660explicitly test for a King on e1/e8 in TwoKings and assign it rights, 15661relying on the Rook rights received from the ICS to control castling. 15662 156632009-11-18 19:12:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15664fix double start of zippy engine after switch to gothic 15665 15666In ICS mode we now switch to the proper variant as soon as we receive 15667the generic game-start message, to prevent a mismatch when the first 15668board is received (which would trigger fetching of a move list). 15669 156702010-01-11 16:44:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15671Extensive bugfix of -autoKibitz 15672 15673Suppression of printing of diverted kibitz messages failed when they 15674extended over more than one read. This could even lead to such 15675messages being erroneously saved as comments, which then lead to 15676crashes. The suppression mechanism now waits for a prompt, in stead of 15677the end of buffer. This required the printing of any leftover in the 15678buffer to be deferred until the next read completes it. 15679The number of people kibitzed to is now printed. 15680 156812010-01-11 16:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15682Fix piece-to-char table -variant fairy 15683 15684The letters for Lance and Snake where swapped. 15685 156862010-01-09 11:54:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15687Make WinBoard makefiles use parser.c in XBoard directory 15688 15689 156902010-01-08 18:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15691Docs update for new features 15692 15693 156942010-01-08 15:18:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15695Fix new args parsing of -lowTimeWarningColor 15696 15697This did not occur in the XBoard color translation table yet. 15698 156992010-01-08 14:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15700Allow editing of holdings in EditPosition mode 15701 15702Dragging pieces to and from the holdings now consistently keep track of 15703the home square of pieces and the piece counts, as does creation of 15704pieces in the holdings through the piece menu. 15705 157062010-01-08 13:59:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15707Indicate squares a lifted piece can legally move to 15708 15709Under control of the new option -showTargetSquares when 15710-highlightDragging and -testLegality are on, the squares a piece can 15711move to are marked by fat dots in the highlightColor (non-captures) and 15712premoveHighlightColor (captures), as soon as you grab it for dragging. 15713In variants with mandatory capture, the capture target of other pieces 15714is marked with the highlightColor (as non-captures are then not allowed). 15715 157162010-01-08 12:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15717Fix bug for incommensurate time odds 15718 15719After normalization (-timeOddsMode 1) the time odds factors can be 15720non-integer, and thus must be stored as float. 15721 157222010-01-08 11:41:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15723Display PV right-clicked from EngineOutput window 15724 15725The clicked PV is selected and the memo gets focus, so that it is 15726highlighted. This selection is restored in the proper place after 15727insetrtion of a new line in the memo. 15728 157292010-01-08 10:19:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15730Display PV on right-clicking board 15731 15732 157332010-01-08 09:21:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15734Bugfix legality null move in parsing with -testLegality off 15735 15736The pointers were compared, in stead of the values. 15737Furthermore, instead of null moves, it rejected moves on the main diagonal when legality checking was off. 15738 15739Also exclude moves with empty squares and enemy pieces. 15740 157412010-01-07 19:10:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15742Newly lexed winboard/parser.c 15743 15744 157452010-01-07 19:05:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15746Harmonize declarations of XBoard and WinBoard 15747 15748The engine-exit and settings patches make some stuff common to WinBoard 15749and XBoard, which needed to be harmonized, and is moved to frontend.h. 15750 157512010-01-07 13:07:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15752Allow Ctrl-C copying from EngineOutput window text to clipboard 15753 15754 157552010-01-07 12:52:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15756Allow popup-less (fatal) exit of engine after tellusererror 15757 15758 157592010-01-07 12:40:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15760Improve layout of Engine #N Settings dialog 15761 15762An attempt is made to align the input fields of spins and text-edits 15763 157642010-01-07 00:31:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15765Let XBoard print version with argument --version or -v 15766 15767 157682010-01-07 00:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15769Fix castling rule assignment in shuffle games 15770 15771The conversion to in-board storage for rights copied directly to boards[0] in steadof 15772initialPosition, and was then overwritten when the latter was copied with uninitialized 15773rights to boards[0]. This affected FRC and CRC, where rights are non-standard. 15774 157752010-01-07 00:17:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15776Implement castling in -variant caparandom 15777 15778CRC should be treated as FRC, but until now it never was. We now test for FRC_TYPE_CASTLING. 15779 157802010-01-07 00:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15781Fix default castling rights on reading incomplete FEN 15782 15783This was overlooked in the conversion to the in-board storage of rights. 15784 157852010-01-07 00:03:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15786Fix NoncompliantFEN defaults. 15787 15788This must be NULL to get compliant FENs, not "", which would suppress castling and e.p. fields. 15789 157902010-01-06 23:54:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15791Change format of -adapterCommand. 15792 15793first or f at the start of an option name are now automatically changed into second or s, 15794rather than needing %% to be recognized. The values of -ec and -ed in the default 15795-adapterCommand are now quoted (now XBoard understands quoting in the engine command line). 15796 157972010-01-06 23:51:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15798Make WinBoard defaults for -fd and -sd equal to "." rather than empty strings. 15799 15800 158012010-01-06 23:28:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15802Delete old indirection settings-file code 15803 15804 158052010-01-06 21:45:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15806Correct XBoard default debug file name 15807 15808 158092010-01-06 21:34:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 15810Suppress saving font settings. 15811 15812The fonts are size dependent, and might thus not be reusable in the next 15813session. For now we therefore suppress the saving of them in the 15814settings file, until we diversify the fonts per boardSize. 15815 158162009-12-12 23:38:20 -0800 Arun Persaud <arun@nubati.net>: 15817added missing sounds files to be able to compile on windows 15818 15819 158202009-12-09 17:29:37 -0700 Eric Mullins <emwine@earthlink.net>: 15821Changes needed to compile master branch. 15822 15823 158242009-12-06 12:11:46 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15825implements the eval-graph window for XBoard 15826 15827 158282009-12-06 11:58:34 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15829improves the XBoard handling of the engine command line 15830 15831it now understands limited forms of quoting, so engine binaries with spaces in their file name can be handled. 15832 158332009-12-06 11:56:40 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15834A better and more flexible way of invoking Polyglot 15835 15836rewrote uci.c. No more use of temporary files, all data passed through the engine command line. Adds a new command-line option -adapterCommand for this. 15837 158382009-12-06 11:34:50 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15839remove trailing \r in xboard output 15840 15841there is an annoying carriage return (displayed as ^M) at the end of the PV in the engine-output window, not 15842only with Fairy-Max, but also with UCI engine running under Polyglot. This patch replaces the trailing CR that Linux programs send after the PV line y a space. 15843 158442009-11-29 11:56:32 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15845double buffer size to prevent overflow 15846 15847This patch doubles the size of the ICS input buffer to 16KB, to prevent 15848the suspected overflow with -keepLineBreaksICS false when using 15849"inchannel 1" on FICS and over 500 people are tuned in. 15850 158512009-11-28 13:33:52 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15852fix problem with empty string in -firstNeedsNoncompliantFEN 15853 15854This fixes a bug in the use of the -firstNeedsNoncompliantFEN option with 15855an empty string as argument. (Which led to truncation of the FEN.) 15856 158572009-11-28 13:32:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15858updates makefiles to include dependency on config.h 15859 15860adds the dependency of wbres.o on config.c introduced by having the VersionInfo in the resource 15861 158622009-11-28 13:28:00 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15863correctly apply some check boxes from the option menu 15864 15865Usng the check-boxes in the Option->Adjudications menu to indicate the 15866engine reports absolute scores is now copied directly to the ChessProgramState, 15867from where it is used, in stead of only to appData. This makes the change take 15868effect immediately, in stead of after restarting. 15869 158702009-11-28 13:27:43 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15871score sign in analysis mode 15872 15873this does not alter any of the current behavior with compliant engines, 15874but does extend the correction for non-compliant score reporting under 15875control of the -first(second)ScoreIsAbs option to cases where the engine 15876is analyzing or playing on an ICS. 15877 158782009-11-24 21:09:30 -0800 Arun Persaud <arun@nubati.net>: 15879fix for bug #28077: xboard needs to link against x11 15880 15881hopefully fixed automake to take care of this 15882 158832009-11-23 20:37:20 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15884Fix castling rights when copying FEN to clipboard (again) 15885 15886missed a spot last time 15887 158882009-11-23 20:22:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15889restoring windows (EngineOutput and MoveHistory) on startup 15890 15891restoring the open / closed status of the 15892auxiliary windows (EngineOutput and MoveHistory) on startup 15893in XBoard like they do in WinBoard, which makes sense now that 15894we aso remember their coordinates between sessions. 15895 158962009-11-23 20:21:14 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15897fixed some outstanding pixmaps 15898 15899fixed transparency issues 15900 159012009-11-23 20:17:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15902use linux style options for config file and add a system config file for XBoard 15903 15904This patch makes XBoard write the options to its conf file in 15905Linux style, "-option value" rather than Windows style "/option=value". 15906 15907The WinBoard option parsing code has always understood both formats 15908(including any hybrids), but the format it preferred for writing might 15909look quite strange to Linux users. I also attached a file to be installed 15910as /etc/xboard/xboard.conf on "make install". 15911 159122009-11-23 19:58:55 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15913fix window positioning 15914 15915This patch adds stuff in the header files that allow the various front-end files 15916to share information on which windows exist, are up, and how they are positioned. 15917The EngineOutput, MoveHistory and GameList windows now all remember their 15918position and size, even when they are closed when XBoard exits. 15919 159202009-11-23 19:51:19 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15921same argDescriptor parsing for Xboard and Winbaord 15922 15923This patch makes XBoard and WinBoard use the same argDescriptor 15924list of options, and (largely) use the same code for parsing and saving them. 15925This is acheived by moving this code to a new file args.h, and #including this 15926in both winboard.c and xboard.c (so that tiny differences, e.g. in default 15927values in the table, are decided by the context). XBoard has new menu items 15928"Save Settings Now" and "Save Settings on Exit" in the "Option" menu. 15929XBoard uses /etc/xboard/xboard.conf as default settings file. 15930A new option, -saveSettingsFile, can specify where settings should be saved, 15931without parsing the file. (So that it also works if the file does not yet exist.) 15932 159332009-11-22 13:00:31 -0800 Arun Persaud <arun@nubati.net>: 15934new developer release 15935 15936changed release name to <branch>-<date> 15937 159382009-11-22 12:34:13 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15939fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing. 15940 15941 159422009-11-22 12:29:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15943use xtell for talking to handles, but tell for talking into a channel. 15944 15945by changing the chatboxes to use xtell in stead of tell, we broke 15946the possibility to use the chat-box for chatting into a channel (which is 15947apparently not possible with xtell). 15948 159492009-11-22 12:15:15 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15950fix bug in bughouse drop menu 15951 15952This patch fixes the bughouse drop menu, which was broken by the 15953new mouse driver, and could no longer drop white Pawns. 15954 159552009-11-18 19:29:57 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 159562nd step for moving option parsing from winboard to the backend 15957 15958This is the next step in option-setting refactoring: All options that are 15959defined in XBoard are now included in the WinBoard ArgDescriptor list. 15960The handling of sound option has been harmonized: the sound names 15961now all initially go to the appData array, (as in XB) in stead of directly to the 15962WB-specific variables, and LoadAllSounds now takes care of the copying. 15963A new routine ExportSounds copies them back before saving settings 15964(which, in XBoard, could be a no-op). 15965 15966The definition of defaults for the XB-only options has been moved to common.h. 15967 159682009-11-18 19:24:35 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 159691st step for moving option parsing from winboard to the backend 15970 15971This is a preparatory step in moving option parsing of WinBoard to the back-end. 15972The table of command-line options now contains a fifth field, holding the compiled-in default. 15973This obviates most of the front-end routine InitAppData, which now is replaced by a table-driven 15974initialization routine SetDefaultsFromList(), which could be back-end. 15975 159762009-11-18 12:33:39 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15977refactoring evalgraph code 15978 15979This is the refactored EvalGraph code: the back-end part is separated off, 15980and put in a file evalgraph.c, which in the future can also be used with XBoard. 15981Only the WinBoard front-end code is left in the file wevalgraph.c. A new 15982header file defines the variables and routines they share. 15983 159842009-11-18 12:29:06 -0800 Arun Persaud <arun@nubati.net>: 15985clean-up 15986 15987some file permissions where set up wrong 15988(e.g. execute permissions for text files) 15989 159902009-11-18 11:34:22 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 15991refactoring of engineoutput 15992 15993This refactoring patch separates the back-end part out of 15994xengineoutput.c, and puts it in a separate file engineoutput.c. 15995A new header engineoutput.h included by both defines the routines 15996for cross calling. Similarly wengineo.c will be stripped from its 15997back-end code, (and renamed to wengineoutput.c), so WinBoard and 15998XBoard now both use engineoutput.c rather than maintaining duplicate 15999code in their front-end part. 16000 16001I also let the back-end now call EngineOutputUpdate directly, rather then 16002through a relay in the front-end, by renaming it to SetProgramStats 16003(the former name of the relay in winboard.c / xboard.c). 16004 16005Moved some templates of functions in engineoutput.c from winboard.h 16006to frontend.h 16007 160082009-11-14 22:13:10 -0800 Arun Persaud <arun@nubati.net>: 16009fixed build on openbsd 16010 16011added missing header file 16012 160132009-11-14 22:06:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16014improve thinking-output for mulit-variant 16015 16016Improve multi-variant support by sorting the Thinking-Output lines of the most recent depth by score in the Engine-Output window. 16017 160182009-11-14 22:05:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16019fix castling rights when copying FEN to clipboard 16020 16021This patch forces leaving of Edit-Position mode before copying a FEN to the clipboard, to make sure castling rights are faked in a consistent way. Before you could get FENs that had castling rights for non-existent Rooks. 16022 160232009-11-14 22:03:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16024This patch gives a better handling of comments in PGN files, and adds the variation as comment to the main line on using Revert in local mode. 16025 16026 160272009-11-06 18:53:19 -0800 Arun Persaud <arun@nubati.net>: 16028fixed prototype for AppendComment 16029 16030 160312009-11-06 09:06:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16032cleaned up some debug messages and typos 16033 16034 160352009-11-06 09:05:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16036variation-support patch 16037 16038It allows you to Revert to the main line (or previous variation) when 16039playing variations on an existing game in EditGame or Analyze mode. 16040 160412009-11-06 08:48:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16042fix for new way of saving castling and e.p. information 16043 16044I forgot to make some conversions to the new-style encoding of castling there 16045(using the enum constant NoRights instead of -1 to indicate 16046the absence of rights, which was the price of storing the 16047rights in the board, which is an unsigned enum type.) 16048 16049I also was a bit worried about portability, because I casted the enum type ChessSquare 16050to (int) before comparing it with (possibly negative) constants EP_NONE etc. 16051Now on my system enum types are (unsigned int), and this works, but I could 16052imagine there are systems where this would be an unsigned char. (Not sure 16053if there are rules for this). So to be safe I cast ChessSquare to (signed char), 16054which should always work to make small negative ints assigned to it read 16055back as themselves. 16056 160572009-11-06 08:44:59 -0800 Arun Persaud <arun@nubati.net>: 16058removed files that should only be in the windboard directory 16059 16060 160612009-11-05 19:32:35 -0800 Arun Persaud <arun@nubati.net>: 16062add Winboard source files into tar-ball 16063 16064forgot to add them when rewriting the Makefile.am 16065 160662009-11-05 19:23:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16067Integrate castling and e.p. rights into board array; bugfix for EditPosition 16068 16069A large-scale operation that I have been postponing since the very first 4.4.0: 16070The castling and e.p. rights are now integrated into the board array, as 16071boards[moveNr][CASTLING][i] replacing castlingRights[moveNr][i] and 16072boards[moveNr][EP_STATUS] replacing epStatus[moveNr] 16073These quantities are now automatically copied with the position by CopyBoards 16074(allowing the removal of lots of dedicated copying code), and passed as 16075function arguments with the position (so that the moves.c functions like 16076TestLegality, MateTest, CoordsToAlgebraic, Disambiguate, GenLegal 16077no longer need explicit e.p. and castling parameters. 16078 16079Also fixed a bug introduced by a recent previous fix: by adding fake castling 16080rights to a position set up through the EditPosition menu, I destroyed the 16081castling rights of a pasted FEN. Faking castling rights is now made conditional 16082in EditPositionDone(), depending on the caller. (I had not realized it was also 16083called after FEN pasting, to send the position to the engine.) 16084 160852009-11-05 19:03:17 -0800 Arun Persaud <arun@nubati.net>: 16086added missing library for build on OS X 16087 16088Xmu seems to be missing 16089 160902009-11-04 22:57:30 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16091Some code refactoring and cleanup; one small bug fix 16092 16093Some code refactoring, mainly to bring definitions of routines and variables 16094shared between winboard.c and one of the auxiliary-windows files 16095whistory.c, wevalgraph.c, wgamelist.c, wengineo.c somewere in a header file 16096(winboard.h). Unfortunately this made winboard.h dependent on data types 16097defined in frontend.h, so that the #include order had to be changed in many 16098other .c files. 16099 16100The operation revealed one potentially bad bug: engineOutputDialogUp was 16101written as int in engineo.c, but declared as char in winboard.c. 16102 16103I also changed the storage mechanism of the the comment and tags window 16104positions to use WindowPlacement structs rather than simple variables, 16105so that in the future they can be docked, like the others. 16106 16107I also removed some remnants of the Analysis window. 16108 16109The wgamelist.h and wedittags.h header files contained only 3 lines, and 16110I absorbed them in winboard.h, rather than creating other such nearly empty 16111headers engineo.h, whistory.h and wevalgraph.h. This affects the make files. 16112 161132009-11-03 18:26:06 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16114let the clocks run in -searchTime mode 16115 16116 161172009-11-02 17:41:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 16118add fixed time per move to the WinBoard time-control menu dialog 16119 16120 161212009-10-31 10:42:50 -0700 Arun Persaud <arun@nubati.net>: 16122updated version number to unstable 16123 16124 161252009-10-31 10:25:37 -0700 Arun Persaud <arun@nubati.net>: 16126release of version 4.4.1 16127 16128 161292009-10-30 19:59:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16130cleaned up ChangeLog and NEWS 16131 161322009-10-30 20:02:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16133use xtell instead of tell in wchat 16134 161352009-10-28 20:35:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16136prevent buffer overflow 16137 16138This is a buffer-size adjustments to prevent the JAWS version from 16139crashing when it has to read out loud very long comments. 16140 161412009-10-28 02:17:16 -0700 Tim Mann <tim@tim-mann.org>: 16142Further copy/paste fixes 16143 16144We needed to implement the XA_TARGETS target in order for more 16145sophisticated apps to really believe we put anything on the clipboard 16146they can use. 16147 161482009-10-27 23:57:25 -0700 Tim Mann <tim@tim-mann.org>: 16149Make copy/paste position and game use clipboard, bug #27810 16150 16151Copy actually sets both the clipboard and the selection for 16152convenience and compatibility with the old way of doing things. 16153Paste pastes from the clipboard by default, but the new -pasteSelection 16154option lets you get back the old behavior of pasting from the 16155selection. 16156 161572009-10-27 15:44:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16158switch focus to the board after loading a game 16159 161602009-10-27 15:32:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16161fix for bug #27826: fixed autoDisplayComment 16162 16163apparently the -autoDisplayComment option was not working, 16164not even in WinBoard. This patch should fix it,both for WB and XB. 16165(Unfortunately xboard.c and winboard.c were using a different name 16166for the same front-end variable I needed, so I had to change one of them.) 16167 161682009-10-27 12:24:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16169fix for bug #27826: ported two options to xboard 16170 16171also updated the documentation 16172 161732009-10-27 12:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16174fixed jaws version 16175 16176turns out the new mouse handler broke the JAWS patch, as I discarded 16177the function IsPromotion. I adapted it to call HasPromotionChoice instead. 16178Also fixed two arnings by removing a no-longer needed debug print. 16179 161802009-10-27 12:03:02 -0700 Arun Persaud <arun@nubati.net>: 16181reformated html to be correctly validated 16182 161832009-10-27 10:33:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16184quick fix for "White Mates" in parser.l 16185 161862009-10-27 10:32:24 -0700 Arun Persaud <arun@nubati.net>: 16187fixed a regression 16188 161892009-10-26 20:45:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16190changed stderr to debug output, since stderr is closed in winboard 16191 161922009-10-26 20:42:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16193removing empty lines from ICS play 16194 16195this patch causes removal of spurious prompts during ICS play 16196also if the prompt is preceeded by a number of empty lines 16197(as the board for the opponent move is on FICS). 16198 161992009-10-26 20:40:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16200another bug in VariantSwitch: an unitialized board was printed. 16201 16202Must have been there a long time, but this time it crashed WinBoard. 16203 162042009-10-26 20:38:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16205more work on variant switch 16206 16207the previous solution to the cosmetic problem of displaying a wrong shuffle 16208in an ICS game that was observed from the very start unfortunately turned 16209out to cause a real error in diplaying a stored game through the smoves 16210command, for variants not using the FIDE setup as standard. 16211 16212This patch displays the position from before setting up the start position 16213of the new variant, but does setup boards[0] to the initial position of that 16214variant. (If this is a wrong shuffle, it is thus ot displayed, and a new board 16215will immediately be sent from the ICS to correct the shuffle.) 16216 162172009-10-26 20:34:04 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16218force full redraw in winboard 16219 16220Full redraw is now always forced when highlightMovesWithArrow is on, 16221rather than only when highlight info is available. (As in drop moves the 16222latter is invalid, but we must still erase the arrow from the previous move.) 16223 162242009-10-26 20:25:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16225fix for bug #27790 and #277772. Suppressing the display of a wrong shuffle 16226when observing shuffle games from the first move (#27790 bis), 16227and the sounding of the FICS bell on crazyhouse captures (#27772 bis). 16228 162292009-10-26 20:22:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16230fixed bug related to unsigned char in convert.c 16231 16232I also fixed the unsigned-char bug in the convert.c for bitmaps that caused the 16233129x129 XBoard bitmaps to be defective, and a bug that required fixup with sed 16234afterwards (so I could use it to create a new m33s.bm) 16235 162362009-10-25 23:37:48 -0700 Arun Persaud <arun@nubati.net>: 16237unguarded debug printf. added the appropiate if statement 16238 162392009-10-25 23:31:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16240fix for two compiler warnings 16241 162422009-10-25 23:29:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16243fix for bug #27799: fix for nested-nested-nested variations 16244 162452009-10-25 23:21:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16246The book-probe code forgot to close the book file after opening it. 16247 16248fixed by adding an fclose at two points. 16249 162502009-10-25 23:18:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16251removed unused v54?.bm bitmaps from resource file 16252 16253it seems the v54?.bmp bitmaps were actually included in the WinBoard build 16254(in the resource file), although they were never actually used. So I have 16255removed their inclusion in the resource file now. 16256 162572009-10-25 23:05:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16258replaced defective bitmaps with copies from 4.2.7 16259 162602009-10-25 23:02:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16261removed bitmaps files that are not needed any more 16262 162632009-10-25 22:58:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16264fixed some bitmaps 16265 162662009-10-24 09:41:39 -0700 Tim Mann <tim@tim-mann.org>: 16267Drop an obsolete script that was only used to update my personal web site 16268 162692009-10-24 01:23:29 -0700 Tim Mann <tim@tim-mann.org>: 16270Silence warnings when compiling 64-bit xboard 16271 16272Some harmless warnings were caused by 64-bit mode having 32-bit 16273int but 64-bit long and pointer. Add casts (etc.) to silence them. 16274This might require adding a definition of intptr_t (a signed int 16275type that is the same width as a pointer) on old systems that don't 16276have it. 16277 162782009-10-24 00:56:37 -0700 Tim Mann <tim@tim-mann.org>: 16279Fix up man page some more 16280 16281Sigh, the project history was still partly in reverse chronological 16282order and partly in forward order. Swapped the order of some 16283sentences to help straighten it out. I don't really care about this, 16284so other project members should feel free to do what they like here, 16285but the messed-up order was bugging me. 16286 162872009-10-24 00:46:20 -0700 Tim Mann <tim@tim-mann.org>: 16288Fix some issues in the XBoard man page 16289 16290Correct places where the XBoard man page was calling XBoard 16291"WinBoard". Change references to "WinBoard engines" and "WinBoard 16292protocol" to "XBoard/WinBoard ...". Update bug reporting guidelines. 16293Reorganize project history to something more like chronological order 16294-- it had gotten pretty randomly ordered. 16295 162962009-10-22 21:45:32 -0700 Arun Persaud <arun@nubati.net>: 16297new pre-release version; updated version numbers 16298 162992009-10-22 21:33:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16300This patch adds <Enter> to the characters that cause an automatic 16301switch to the ICS console when typed to the board window. 16302 163032009-10-22 21:31:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16304fix to the minor graphics issue contained some typos, 16305as was remarked in the bugs reports 16306 163072009-10-22 21:30:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16308improved mouse handler 16309 16310The improved mouse handler still needed an extra call to DrawPosition to 16311work in XBoard. 16312 163132009-10-22 21:28:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16314NPS plays and pondering 16315 16316Clock updating did not work correctly in node-based time controls when the 16317engine was pondering. (It was not really meant for use with pondering. Oh well...) 16318This patch checks if the engine reporting the node count is indeed thinking 16319(as opposed to pondering). 16320 163212009-10-22 21:25:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16322holdings update and regression fix 16323 16324The holdings-update patch was not yet satisfactory, because FICS seems to send 16325holdings both before and after the board! And those received before did overwrite 16326the holdings received after the previous board. I know tried to fix that in a kludgey 16327way, by hiding a flag in the board that tells if the holdings have already been written 16328by the ICS or not, and ignore new holdings when they are. (Except in bughouse, 16329where holdings updates cannot be tied to a particular board and multiple updates 16330between boards are normal. (I hope?).) 16331 16332I also undid a regression in my previous fix for the minor graphics problem, 16333and solved it in a slightly different way to prevent flicker. 16334 163352009-10-22 21:23:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16336improved mouse handler 16337 16338I improved the mouse handler in a way which will preclude disappearence of pieces 16339on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported 16340in the "premove bug?" thread. Also the command-line premove problem reported there 16341is now fixed, by removing the prefixing. 16342 163432009-10-22 21:18:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16344fix for bug #8847: moving backward while examining on FICS not reported to engine 16345 16346I moved Daniel's code that backs up the engine when a bord with a 16347lower number is received to a place where it is always done in zippy mode, 16348rather than only when the engine is analyzing. 16349 16350Apart from taking back moves, there was also the case where the 16351user moves forward by more than one move (usually immediately to 16352end-of-game). In this case a new movelist is fetched from the ICS 16353to recover the moves that were skipped. But this assumes that the 16354engine is at the start of the game and feeds all these moves to the 16355engine. So the engine had to be reset in this case to stay in sync. 16356 163572009-10-22 21:16:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16358better init for random number generator 16359 163602009-10-21 23:01:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16361fix for bug #27772: holdings not updated 16362 16363holdings lines from the ICS nor update the holdings 16364of boards[forwardMostMove] in stead of boards[currentMove]. 16365 163662009-10-21 21:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16367allowe parsing / disambiguation of SAN moves like Xe4 in certain situations 16368 16369This patch allows parsing / disambiguation of SAN moves like Xe4, if there 16370is only one wild-card piece X on the board. Moves with wild-card pieces 16371are now considered illegal if they leave the King in check by a piece of 16372known gait. 16373 163742009-10-20 19:09:46 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16375fixed bug when switching to variantsuper 16376 163772009-10-20 19:06:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16378fix for bug #27715: 2 (minor) graphic issues 16379 16380I forced a total redraw when Reset is called from the ICS code in case a 16381new game is encountered, in the hope it will make the reported 16382(irreproducible) problem go away. As game switches are not frequent, I 16383guess there is hardly any downside to this. 16384 163852009-10-20 18:57:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16386fix for bug #27667: PV line missing in analysis window, part 3 16387 16388"3. Wish for Engine state string (right to the icon): 16389Can you add the actual search depth in analyzing mode? A change like " 16390 16391I also added the requested display of depth of the analysis move in the 16392EngineOutput window. I guess a similar change could be made to wengineo.c 16393(as this is in the code they share in common), but no one ever requested 16394that in the 5 years since Alessandro wrote it. So for now I leave it alone. 16395 163962009-10-20 18:52:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16397fix for bug #27760: debug printf in backend.c and additional check for variant 16398 163992009-10-19 23:17:46 -0700 Arun Persaud <arun@nubati.net>: 16400fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases 16401 16402this is correct, deleted the text out of the documentation that claims we support it 16403 164042009-10-19 18:40:40 -0700 Arun Persaud <arun@nubati.net>: 16405new alpha version; first one with new naming scheme 16406 164072009-10-19 18:07:21 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16408smarter analysis of the boards that XBoard receives from an ICS 16409 16410I added smarter analysis of the boards that XBoard receves from an ICS, 16411based on board size and piece types in the position, to recognize cases 16412where the board does not match the current variant, and switch to an 16413appropriate variant. 16414 164152009-10-19 18:04:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16416fix for bug #27667: window should be reference to toplevel 16417 16418The remaining objections of #27667 should be fixed by bringing the 16419EngineOutput window under control of the TOPLEVEL compile-time switch. 16420 164212009-10-19 18:02:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16422partly fix for bug #27715: scaling of menu bar 16423 16424the menu bar to the left edge of the window. 16425 164262009-10-19 17:59:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16427fixed bug reported in WB forum: second game of a match would 16428not start when using the GUI book 16429 164302009-10-19 17:57:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16431fix for bug #27751: negative holding counts displayed 16432 16433I put code in the back-end to prevent holdings counts from 16434becoming negative when a drop move is made from empty holdings. 16435(This can happen when re-loading ICS bughouse games, 16436as the smoves command fails to fill the holdings.) 16437 164382009-10-18 20:54:53 -0600 Eric Mullins <emwine@earthlink.net>: 16439Updated compiling instructions. 16440 164412009-10-18 11:32:55 -0600 Eric Mullins <emwine@earthlink.net>: 16442Changes to allow fonts with any charset (such as terminal) 16443 16444Affects winboard only. 16445 164462009-10-16 23:02:41 -0600 Eric Mullins <emwine@earthlink.net>: 16447Moved SIGWINCH signal so it can be used... 16448 16449I goofed putting this in StartChildProcess() originally. 16450 164512009-10-16 22:54:12 -0600 Eric Mullins <emwine@earthlink.net>: 16452Added internal wrapping ability. 16453 16454New options: 16455 -wrapContinuationSequence "foo" (default: "\\ " 16456 -useInternalWrap (Winboard default: false, XBoard default: true) 16457 16458Note: -keepLineBreaksICS if set, prevents wrapping, usurping the 16459 useInternalWrap setting. The idea is if you want to keep ICS line 16460 breaks, then you don't want internal wrapping. Because of this, 16461 the new default for keepLineBreaksICS is now false for XBoard. 16462 164632009-10-16 19:14:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16464fixed segfaul in convert.c used to convert pixmaps 16465 164662009-10-15 19:46:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16467new mousehandler to correct for premove and promotion popup 16468 16469this is the new mouse handler for XBoard, which should fully implement 16470premove, including promotion popup, and yet suppress the promotion popup 16471on illegal moves that are not premoves. It is almost completely moved to 16472the back-end now, so that WinBoard will be able to use it as well. I just 16473must hook it up to winboard.c, in particular harmonize the call-backs of 16474the mouse driver into the front-end for grabbing and releasing pieces for 16475dragging, to make sure they have the same names and arguments. 16476 164772009-10-15 19:32:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16478updated black fairy pieces 16479 16480here is a set of black fairy pieces with opaque white details, 16481so they have the same style as the orthodox XBoard pieces. 16482 164832009-10-15 16:54:51 -0600 Eric Mullins <emwine@earthlink.net>: 16484Adjustment to joining to work around server not always including space. 16485 16486This patch implements commit 98aa02bda540f17f1f50be00e494efafe439b004 16487into the updated joining routine. This issue seems not to be server 16488variance, but instead the server electing to omit the space between 16489words when it occurs at exactly your width setting (-1 actually). 16490 16491This patch makes the joiner add back the space just like the referenced 16492commit. Note: this is just a workaround to a server issue-- the joiner 16493actually joins correctly before this patch. 16494 164952009-10-15 07:18:42 -0600 Eric Mullins <emwine@earthlink.net>: 16496Fixed joiner detection, allowing it to work with timeseal 16497 16498When timeseal's buffer fills in the middle of the continuation 16499sequence, detection fails, and the lines aren't joined. 16500 16501As a result of this fix, measures intended to bypass joining are 16502no longer needed, so I removed them. These utilize server vars 16503when available to prevent splitting. 16504 165052009-10-14 14:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16506fixed engingeoutput routine 16507 16508removed outdated code regarding analysis window 16509 165102009-10-14 14:39:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16511moved bitmap to correct location 16512 16513was misplaced in a previous commit 16514 165152009-10-14 14:26:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16516fixed wrong number of arguments for EngineOutputPopUp 16517 165182009-10-13 21:00:27 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16519new bitmap converter (including fill option) and new pixmaps 16520 165212009-10-13 20:52:40 -0700 Arun Persaud <arun@nubati.net>: 16522forgot to add these two lines to the last commit 16523 165242009-10-13 20:51:17 -0700 Arun Persaud <arun@nubati.net>: 16525removed AnalysisPopUp. Use EngineOutputPopUp instead 16526 16527this was already in Winboard, copied it to xboard and removed unused code. 16528 165292009-10-13 20:32:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16530Proper board and holdings size when switching to variants 16531gothic, capablanca, great and super within an ICS game. 16532 165332009-10-13 20:25:13 -0700 Arun Persaud <arun@nubati.net>: 16534cleaned up an old #ifdef in zippy 16535 165362009-10-12 19:25:17 -0600 Eric Mullins <emwine@earthlink.net>: 16537neglected this for the auto-width updating in xboard 16538 165392009-10-12 19:19:59 -0600 Eric Mullins <emwine@earthlink.net>: 16540Added server width adjustment based on client width changes 16541 165422009-10-12 19:14:53 -0600 Eric Mullins <emwine@earthlink.net>: 16543silence some compiler warnings 16544 165452009-10-11 18:39:24 -0600 Eric Mullins <emwine@earthlink.net>: 16546Maintainence to support all compilers. 16547 165482009-10-11 17:07:27 -0600 Eric Mullins <emwine@earthlink.net>: 16549Adjusted alternative joining method to obey keepLineBreaksICS 16550 165512009-10-11 14:48:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16552fix for bug #27668: e.p. field still not passed to engine 16553 16554PositionToFEN now takes the e.p. rights from epStatus[moveNr], 16555rather than calculating it on the spot from moveList[moveNr-1] 16556(which failed on the first move). 16557 165582009-10-11 14:46:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16559fix for bug #27666: naming of variants 16560 16561Variant names "misc/xxx" are recognized as "normal", rather than "xxx" 16562to not get confused by the board "misc shogi" run by FICS. 16563 165642009-10-11 10:14:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16565changed enable menus 16566 16567Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items 16568in the appropriate enable lists for graying them out wen not applicable. 16569 165702009-10-11 10:13:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16571Added a command-line option -keepLineBreaksICS true/false to control line joining. 16572 165732009-10-10 19:30:23 -0600 Eric Mullins <emwine@earthlink.net>: 16574Added code to prevent unnecessary width updates. 16575 165762009-10-10 18:34:37 -0600 Eric Mullins <emwine@earthlink.net>: 16577Turned off wrap when possible on ICS servers. 16578 16579Turning off line wrap prevents splitting lines up using the 16580continuation sequence "\\ ". This is desirable when using 16581timeseal because timeseal's buffer is sometimes too small, 16582causing it to break lines itself. These lines can't be joined. 16583 165842009-10-10 16:30:56 -0600 Eric Mullins <emwine@earthlink.net>: 16585vsnprintf() must be _vsnprintf() for MSVC 16586 165872009-10-10 16:16:45 -0600 Eric Mullins <emwine@earthlink.net>: 16588added code to handle initial width update 16589 165902009-10-10 14:21:12 -0600 Eric Mullins <emwine@earthlink.net>: 16591Added width updates to ICS client on font and window size changes 16592 16593What still needs to be done is placing an update call after login 16594to initialize with the correct width. I didn't see where to put 16595that. 16596 165972009-10-10 14:19:30 -0600 Eric Mullins <emwine@earthlink.net>: 16598added ics_printf() and ics_update_width() and utility functions 16599 166002009-10-10 11:15:50 -0600 Eric Mullins <emwine@earthlink.net>: 16601Cleaned up ConsoleWndProc (not complete, see below) 16602 16603Using static variables this way is not appropriate. I only addressed 16604hInput and hText in this commit though. But imagine the WndProc being 16605used by multiple windows instead of just one, and you can see why 16606using static variables in this way is wrong. 16607 166082009-10-10 11:12:10 -0600 Eric Mullins <emwine@earthlink.net>: 16609Restructured URL code so it fits better with how winboard is set up. 16610 166112009-10-10 08:57:39 -0700 Arun Persaud <arun@nubati.net>: 16612cleanup: removed "#if 1" statements 16613 166142009-10-10 08:55:21 -0700 Arun Persaud <arun@nubati.net>: 16615cleanup: removed "#if 0" from source 16616 16617a bit of cleanup of the source code 16618 166192009-10-10 08:34:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16620fix joining of lines split by ICS 16621 16622This patch fixes the joining of lines that were split by an ICS, so that adding 16623a space at the break point is done only when there was not a space already. 16624(Some ICS leave a space at the end of the broken line, others do not.) 16625An extra space would interefere with board12 in Gothic Chess, which is so 16626long that the ICS breaks it, and the WB parser could not handle a double 16627space within the board. 16628 166292009-10-10 08:27:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16630fix for bug #27642: Clock jumps strangely in engine mode 16631 16632This moves SwitchClocks() back to after incrementing forwardMostMove, 16633so that it knows again who has the move (which was broken by the "bare" patch), 16634and will take the appropriate tick length. 16635 166362009-10-10 08:26:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16637removed test for premove 16638 16639this was added while looking for the premove bug, but is not needed 16640 166412009-10-10 02:03:45 -0600 Eric Mullins <emwine@earthlink.net>: 16642added URL detection and provided hotlinks in the ICS client 16643 166442009-10-10 02:00:52 -0600 Eric Mullins <emwine@earthlink.net>: 16645reverted winboard.c beofre URL commit to correct whitespace conversion 16646 166472009-10-09 02:14:22 -0600 Eric Mullins <emwine@earthlink.net>: 16648Added URL detection into the console text window for ICS. 16649 166502009-10-08 23:51:06 -0700 Arun Persaud <arun@nubati.net>: 16651added some comments and formated code 16652 166532009-10-08 23:46:52 -0700 Chris Rorvick <>: 16654fix printing out help message (list of command line options) (tiny change) 16655 16656The postfix increment always resulted in an attempt to print out an 16657option on the right side regardless of one actually existing. Use 16658prefix increment to prevent a crash when printing an odd number of 16659options. 16660 166612009-10-09 00:04:51 -0600 Eric Mullins <emwine@earthlink.net>: 16662Updated navigation accelerators, fixing ICS problems. 16663 16664Recent changes to the navigation accelerators were in the wrong 16665accelerator table. Since the goal was to correct non-JAWS versions 16666back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still 16667retained the #ifdef JAWS conditional compilation. 16668 16669On an ICS, the navigation keys took control away from the ics 16670client to navigate the game. The update requires the ALT key to 16671be pressed, but it works identical to 4.2.7, not causing an 16672unexpected focus back to the board window when you're just editing 16673text. 16674 166752009-10-08 20:33:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16676fixed premove recapture problem;promotion popup appearing on 16677obviously illegal moves; promotions in Superchess and Great Shatranj 16678 166791) the premove recapture problem 166802) the promotion popup appearing on obviously illegal moves (the 1. e2a8 16681problem) 166823) promotions in Superchess and Great Shatranj, where the piece can now be 16683selected from the holdings 16684 166852009-10-08 20:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16686added forceIllegalMove to xboard 16687 166882009-10-05 21:01:32 -0700 Arun Persaud <arun@nubati.net>: 16689bugfix: segfault when invalid option argument was given (bug #27427) 16690 16691when given a wrong argument to an option (e.g. -tc 0) xboard aborts 16692before setting up the window, but tried to write a message to the 16693messageWidget which doesn't exist at that point. 16694 166952009-10-05 20:05:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16696small improvement for JAWS version 16697 16698This is a patch to make JAWS read out any comments when /autoDiplaycomment=true. 16699As focus does not stay on the Comment window, the comment was not spoken otherwise. 16700 167012009-10-05 20:02:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16702updated to winboard internationalization scripts 16703 16704Also a slight improvement of the internationalization scripting, 16705to prevent it from crashing on messages containing a slash. 16706 167072009-10-05 20:01:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16708new forceIllegalMoves option 16709 16710The -forceIllegalMoves option uses setboard or edit to force a position 16711when an engine refuses the move leading to it by an "Illegal Move" message. 16712Especially for engines using the edit command this was a bit tricky, 16713because of the a2a3 kludge to avoid using the white and black commands. 16714 167152009-10-05 01:01:54 -0600 Eric Mullins <emwine@earthlink.net>: 16716removed _winmajor if not defined so that VC 2008 can compile the project 16717 16718The oldDialog variable should just be set to 0 in all cases now, and 16719as such, legacy code supporting the old dialog ought to be removed. 16720The test for _winmajor is against < 4, which is always false at present, 16721causing oldDialog to be 0 in every conceviable circumstance. 16722 167232009-10-04 09:58:29 -0700 Arun Persaud <arun@nubati.net>: 16724getting ready for 4.4.1 release 16725 167262009-10-02 20:47:01 -0600 Eric Mullins <emwine@earthlink.net>: 16727Simplified future version changes. 16728 16729Added a numeric version to config.h that is now used in winboard.rc 16730instead of being hard-coded there. Just be sure to preserve the 16731proper format (4 comma-separated 16 bit integers) or else it won't 16732compile. 16733 167342009-10-02 16:56:01 -0700 Arun Persaud <arun@nubati.net>: 16735updated version number to 4.4.1.pre 16736 16737should have done this straight after the last release, but forgot... 16738 167392009-10-02 16:48:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16740worked on premove bug 16741 16742I made an attempt to make premove unsensitive to a race condition, 16743just in case the premove problem was caused by that (which seems unlikely, 16744but in any case I added some debug printout to test this). 16745 167462009-10-02 16:41:12 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16747fixed loading of saved games via command line 16748 16749the variables forwardMostMove and backwardMostMove where set to zero 16750at the wrong place. 16751 167522009-10-02 16:39:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16753small fixes for the JAWS version 16754 16755* I moved saying 'check' by the JAWS version to where castling also benefits from it. 16756* I made sure the check symbols are also recognized on promotion moves 16757* In the non-JAWS version, define the plain arrows as shortcut keys for the button bar 16758 167592009-10-01 16:50:28 -0600 Eric Mullins <emwine@earthlink.net>: 16760Fixed bug dereferencing garbage, causing crash. 16761 16762Commit fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the 16763resultDetails of the gameInfo structure. That exact code exists a few lines 16764above where it was added. None of these free() calls finish by setting the 16765member to NULL afterword, therefore repeated attempts to test/free() the 16766members result in an attempt to free() memory winboard no longer owns, and 16767an eventual crash. 16768 16769link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 16770 167712009-10-01 16:49:57 -0600 Eric Mullins <emwine@earthlink.net>: 16772Added wchat.c to the project files we maintain. 16773 167742009-10-01 15:52:50 -0600 Eric Mullins <emwine@earthlink.net>: 16775Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp(). 16776 167772009-10-01 14:49:58 -0600 Eric Mullins <emwine@earthlink.net>: 16778Add resource ID for new Mute menu item. 16779 16780I know this was probably done by HG, and simply left out of 16781his commit. Anyway, the project can be built now after this change. 16782 167832009-10-01 14:49:09 -0600 Eric Mullins <emwine@earthlink.net>: 16784Use of strcasecmp() broke Visual C++. 16785 167862009-09-30 20:47:00 -0700 Arun Persaud <arun@nubati.net>: 16787wrong default value for engineDebugOutput 16788 16789the new default is now 1 16790 167912009-09-29 22:55:41 -0700 Arun Persaud <arun@nubati.net>: 16792updated cmail.in to adapt the CVS->git change 16793 16794don't reference $Revision:$ anymore. 16795Instead use reference xboard-version via autoconf. 16796 167972009-09-29 22:04:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16798bugfix for protocol extensions: egtbpath -> egtpath 16799 16800A new and very bad bug was discovered in the implementation of 16801the protocol extensions: XBoard sends a command "egtbpath" to the 16802engine in stead of "egtpath" from the protocol specs. 16803After discussion on WB forum it was decided that egtpath was better 16804than the egtbpath I originally had proposed, and I changed it accordingly, 16805but I had not realized that this string occurred TWICE in backend.c, 16806depending on if matched the -defaultPathEGTB of -egtFormats option. 16807I only changed the first occurence. 16808 168092009-09-27 12:27:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16810fix for edit-position "moves" being sent by XBoard to the engine 16811 168122009-09-27 12:25:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16813Engine did not start playing when out of GUI book on second move with white 16814 168152009-09-27 12:24:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16816Opening Engine #1 Settings crashed XBoard when there were no 16817text-edit options in the dialog (to which to set keyboard focus) 16818 16819 168202009-09-27 12:18:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16821added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request 16822 168232009-09-27 12:15:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16824Updated the RTF docs for the chat windows, engine-settings dialog, 16825/keepAlive option and new game-list tag 16826 168272009-09-27 12:14:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16828Made the beep sounds for JAWS board navigation configurable through 16829command-line options 16830 168312009-09-27 12:11:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16832Prepared a system to internationalize the WinBoard menus 16833 168342009-09-27 12:10:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16835added the result comment to the game-list tags when the game list is 16836exported to the clipboard 16837 168382009-09-27 12:05:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16839rewrote wevalgraph for better frontend/backend separation 16840 16841I have finished re-writing the eval-graph code to have some 16842front-end / backe-end separation, something I had already started on my 16843holiday in Norway (when I had no internet :-) ). 16844The new code now appears to work exactly like the old code, 16845and I guess it could be ported to gtk comparatively easily. 16846 168472009-09-27 12:00:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16848fix for keepalive and chat window 16849 16850I made a fix to the keepAlive option so it does not send the date command 16851to the ICS after every move. This required changing ScheduleDelayedEvent() 16852so that it does not execute the event if a new identical one gets scheduled. 16853I also added the option to XBoard. Affects xboard.c (DOS!) and winboard.c 16854 16855(This also cures the regression of the winboard.c copyright patch) 16856 16857I extended the chatbox patch to also listen to channel tells, and divert 16858them to a chatbox for that channel number. Affects 16859backend.c and wchat.c 16860 16861That should make those patches fully operational. No docs for either of them 16862yet, though. 16863 168642009-09-27 10:36:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16865fixed parse bug for pgn files 16866 16867fixed the existing bug that the time-control tag was displayed as "?" 16868in the game list; turns out it was never parsed on reading PGN files 16869 168702009-09-27 10:35:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16871allow the result comment as a display item in the game list 16872 168732009-09-27 10:35:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16874fixed the HAVE_LIBXPM-dependent compile errors 16875 168762009-09-27 10:24:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16877added a chat window to keep track of multiple conversations 16878 16879The chat-window patch affects: 16880winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds 16881the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms. 16882 16883In addition I added a new option -keepAlive, which affects 16884common.h (in addition to winboard.c and backend.c). 16885 16886As I had to modify backend.h, I also defined the -reset option type there, 16887which we are going to add later. This required some changes 16888to suppress warnings in wsettings.c. 16889 168902009-09-27 10:22:16 -0700 Arun Persaud <arun@nubati.net>: 16891more files for git to ignore 16892 16893most of these are generated by make distcheck 16894 168952009-09-08 09:33:53 -0700 Arun Persaud <arun@nubati.net>: 16896another bug fix found by Stanislav Brabec 16897 16898returned -1 in some case although the variable was a char... 16899changed to signed char 16900 169012009-09-20 23:13:13 -0600 Eric Mullins <emwine@earthlink.net>: 16902Swapped 'tell' and 'message' parsing order for colorization. 16903Sometimes messages are relayed as tells and should be colorized as tells. 16904 169052009-09-08 09:10:34 -0700 Arun Persaud <arun@nubati.net>: 16906added some more files to be distributed via make dist 16907 16908as suggested by Stanislav Brabec 16909 169102009-09-08 09:01:07 -0700 Arun Persaud <arun@nubati.net>: 16911fixed some implicit declarations reported by Stanislav Brabec 16912 169132009-09-07 22:04:39 -0700 Arun Persaud <arun@nubati.net>: 16914fixed a few more small bugs reported by Stanislav Brabec 16915 16916- A function uses a 'return;' statement, but has actually a value to 16917return, like an integer ('return 42;') or similar: xboard voidreturn 16918xengineoutput.c:766, 782 16919 16920- Program returns random data in a function at xengineoutput.c:602 16921 16922- With a new toolchain, AM_LDFLAGS cannot contain libraries. Linker 16923ignores them. Fix is attached. 16924 16925- ToDo: Convenient name in most projects is TODO (autotools package it 16926automatically). 16927 169282009-09-06 19:11:22 -0700 Arun Persaud <arun@nubati.net>: 16929reverted .texi file and fixed Makefile.am 16930 16931the problem was actually not in the texi-file, but the Makefile.am. 16932Reverted changes in the .texi and fixed it (hopefully) correctly now. 16933 169342009-09-06 18:23:01 -0700 Arun Persaud <arun@nubati.net>: 16935get "make distcheck" to work 16936 16937needed to add all *.h files to Makefile.am and also the bitmaps that 16938are needed and some other files. Also had modified copyright.texi. 16939 169402009-09-05 09:54:37 -0700 Arun Persaud <arun@nubati.net>: 16941changed to version 4.4.0 16942 169432009-09-05 09:44:21 -0700 Arun Persaud <arun@nubati.net>: 16944updated AUTHORS, README and ChangeLog files for release 16945 169462009-09-05 08:52:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16947fixed some typos 16948 169492009-09-04 22:39:45 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16950set castling rights after setting up a position 16951 16952I was going through old WB forum posts, and I encountered a 16953bug report for a bug that I never fixed: The castling rights should 16954be properly set (actually: cleared) after setting up a position 16955in Edit Position mode (as opposed to pasting a FEN). 16956 169572009-09-03 23:11:18 -0700 Arun Persaud <arun@nubati.net>: 16958removed install files from master 16959 16960they now live in their own branch 16961 169622009-09-03 22:30:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16963updated polyglot protocol 16964 16965I added a new option type "-reset" to the protocol for the new option feature. 169664.4.0 does not implement it yet, but Michel wants it for future Polyglots, 16967and I think it is best to update the protocol in one big swoop. 16968So I want to already include it in the specs now. (engine-intf.html) 16969I made xboard's response to an unknown option type compliant 16970with the new protocol specs. 16971 169722009-09-03 22:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16973fixed some typos 16974 169752009-09-03 20:47:13 -0600 Eric Mullins <emwine@earthlink.net>: 16976Updated project files for DevCpp and Visual Studio to add wsettings.c 16977 169782009-09-03 20:46:33 -0600 Eric Mullins <emwine@earthlink.net>: 16979Added newline at end of file to silence warning. 16980 169812009-08-31 20:29:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16982workaround for error message for missing pieces used in variants 16983and initstring bugfix: error messages showed for non-existing pieces 16984showed up for old user supplied pixmaps. 16985Loading a pixmap of the king for the missing pieces now. 16986 16987Another bad bug surfaced: the -initString argument does not work in any 16988XBoard version! (Including 4.2.7b) The escape sequences for linefeed in 16989the string are not understood: -initString "new\nrandom\n" actually sends 16990the \ and n to the engine (which then does not recognize the line as a 16991valid command)! 16992 16993So I also added a patch to expand escape sequences in the InitString and 16994ComputerString command-line options. 16995 169962009-08-31 20:27:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 16997updated installe script 16998 16999I re-organized the doc files in the install, so they now all go in the 17000WinBoard\doc folder (and none in the root). I so included the COPYING 17001and COPYRIGHT files there. This required some updates of the links in 17002some html files, and of the menu link to README.html in the install script. 17003I also fixed an error with the current directory 17004in the menu short-cuts of some engines (which started in the fonts folder, 17005and could not find the opening book there...). 17006 170072009-08-31 20:25:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17008updated documentation 17009 170102009-08-31 20:20:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17011updated installer script 17012 170132009-08-31 19:51:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17014new help files for windows 17015 170162009-08-25 20:41:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17017updated installer 17018 170192009-08-25 20:36:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17020undid some previous changes 17021 17022some files got mixed up 17023 170242009-08-25 20:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17025fixed small bug in wsetting 17026 170272009-08-25 20:29:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17028trigger a focus switch to ICS input field when typing 17029 17030old behavior was that "." or "," triggered this, 17031now every printable character except 1-9 will trigger the focus switch 17032 170332009-08-25 20:26:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17034bug in backend.c when receiving lines from ICS 17035 17036A space was appended to every character received from an ICS 17037in stead of just at line breaks. 17038 170392009-08-24 23:47:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17040fixed warning messages from compiler 17041 170422009-08-23 14:24:38 -0700 Arun Persaud <arun@nubati.net>: 17043fixed build on OS X 17044 17045this seems to fix it. Bug reported by Louis Zulli who also did the testing. 17046 170472009-08-23 11:54:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17048OK, this is the beefed up version of the Polyglot info-string kludge, 17049for WB and XB. 17050 170512009-08-23 10:22:48 -0700 Arun Persaud <arun@nubati.net>: 17052added missing X_LIBS references to Makefile.am 17053 170542009-08-22 23:33:44 -0700 Arun Persaud <arun@nubati.net>: 17055made the install script and executable 17056 170572009-08-22 23:19:07 -0700 Arun Persaud <arun@nubati.net>: 17058changed beta1 to beta2 17059 170602009-08-22 23:14:11 -0700 Arun Persaud <arun@nubati.net>: 17061fixed enable zippy in configure script and added some checks for OS X 17062 17063make tried to compile zippy even when --disable-zippy was given. 17064Also fixed a bug in xboard.c where #ifdef instead of #if was used 17065to test for ZIPPY (it's either 0 or 1, so we need #if). Also added 17066some special checks for OS X, not sure if these will do it, but it's a start;) 17067 170682009-08-22 19:09:54 -0700 Arun Persaud <arun@nubati.net>: 17069added configure summary to configure output, also cleaned up configure.ac a bit 17070 17071used AS_HELP_STRING where possible 17072 170732009-08-22 18:10:57 -0700 Arun Persaud <arun@nubati.net>: 17074added check for malloc.h 17075 17076this should fix a build error on OS X 17077 170782009-08-22 17:47:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17079A small cosmetic change in the size of buttons 17080inside a groupbox of the Engine-Setup dialog. 17081 170822009-08-22 17:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17083make xboard usable with UCI engines 17084 17085I made a small patch in xoptions.c (where the corresponding Engine Settings 17086dialog was for XBoard), to make it at least usable for UCI engines: I now 17087divide the options over upto 4 columns, if there are too many to fit into 17088a single column. This seems to work. Still looks very ugly, but it is 17089functional. 17090 170912009-08-22 17:30:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17092fix premove for winboard 17093 17094This might fix the illusive premove problem. In 4.2.7 the code was not properly 17095indented, and this led to an unbalanced braces error that I then fixed the 17096wrong way. Click-click premoves did only work after clicking the toSquare twice. 17097It might be that they actually did work after clicking it once, 17098but that the highlights were not displayed (although set) 17099for lack of a display refresh. 17100 171012009-08-22 17:28:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17102fixed bug for double saved games 17103 17104This patch should solve the problem with doubly saved games when XBoard is 17105closed. I calculate a cecksum of each saved game now (including move comments), 17106and suppress saving if the checksum is not changed. 17107 171082009-08-22 17:25:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17109fixed xengineoutput.c, to keep the duplicated code identical to that of wengineo.c. 17110 171112009-08-22 17:24:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17112updated xboard.texi: added warning that pixmaps are not build for all variants 17113 171142009-08-22 17:19:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17115added a dialog for engine-specific option settings 17116 171172009-08-22 17:09:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17118updated some documentation 17119 171202009-08-22 17:07:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17121fixed several bugs in the backend and added some more polyglot support 17122 17123* I added recognition for the new UCI3 option types that are recognized in the WB 17124option features, to make sure this version is compatible with future Polyglots. 17125Also fixed a bug that failed to strip an asterisk prefix from the first 17126combo-box item. 17127 17128* I fixed the ICS-time-in-PGN bug. 17129 17130* I fixed a bug which caused a space to be missing when long lines broken up by 17131an ICS were joined. 17132 171332009-08-22 17:02:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17134better polyglot support for engine ouput 17135 17136I fixed the algorithm for clearing the Engine Output window to work better with 17137the latest Polyglot, whight outputs UCI "info strings" amongst the thinking 17138output. 17139 171402009-08-22 16:23:32 -0600 Eric Mullins <emwine@earthlink.net>: 17141Beginnings of installer for 4.4.0. HGM asked me to forward the nsi file, 17142but it seemed best to just add the installer tree to git even though 17143it's not finished. You must install NSIS then FontName-0.7.exe 17144(included in installer folder) then run build.bat in the same directory. 17145 171462009-08-05 22:18:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17147patch backend.c to make the -noGUI option also work in ICS mode. 17148 171492009-08-01 13:09:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17150temporary fix for pre-select 17151 17152As a temporary kludge I replaced looking into the holdings for the piece type 17153by figuring out which piece would belong on the clicked holdings square. 17154This is a non-trivial process, as it depends on which pieces participate 17155in a certain variant. 17156 171572009-07-30 00:19:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17158changed click-click moves 17159 17160I got complaints about the way XBoard 4.4.0 handles click-click moves, 17161in particular changing the selected piece after selecting King 17162(for which I suppressed interference with FRC castling in a rather brutal way). 17163People tell me it is very annoying that clicks sometimes don't work to select a piece. 17164WinBoard uses refined logic in the back-end to handle this, but the XBoard 17165front-end is not interfaced with that yet. 17166(This would require a major rewrite of the mouse handler.) 17167This temporary patch suppresses this behavior in all variants that do not support 17168Fischer castling, and even there only exhibit it for Rook-after-King selection 17169(which will be interpreted as an attempt to enter a castling move as K x own R). 17170 171712009-07-26 08:43:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17172option -adjudicateDrawMoves is not included in the XBoard list. 17173 17174added it to the option list 17175 171762009-07-21 20:23:23 -0700 Arun Persaud <arun@nubati.net>: 17177converted files from dos to unix format 17178 17179run dos2unix over a bunch of files 17180 171812009-07-16 07:43:38 -0600 Eric Mullins <emwine@earthlink.net>: 17182Stripped out unused VersionInfo 17183 171842009-07-15 23:16:19 -0700 Arun Persaud <arun@nubati.net>: 17185changed version to 4.4.0.beta1 17186 171872009-07-15 23:12:37 -0700 Arun Persaud <arun@nubati.net>: 17188updated INSTALL file to add ./autogen.sh 17189 171902009-07-15 22:44:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17191higher number of engine options possible now 17192 17193I upped the number of options per engine from 1719450 to 100, and the average number of characters per option from 10 to 20. 17195 171962009-07-15 12:30:37 -0600 H.G. Muller <h.g.muller@hccnet.nl>: 17197Fix of bad bug 17198 171992009-07-14 23:41:36 -0600 Eric Mullins <emwine@earthlink.net>: 17200Added version information to resources. 17201 172022009-07-14 23:40:50 -0600 Eric Mullins <emwine@earthlink.net>: 17203Added Jaws targets to IDE projects. 17204 172052009-07-14 23:39:12 -0600 Eric Mullins <emwine@earthlink.net>: 17206Final makefile adjustments and compiling instructions. 17207 172082009-07-13 22:35:17 -0600 Eric Mullins <emwine@earthlink.net>: 17209Cleaned up garbage left behind from my makefile update. 17210 172112009-07-13 22:26:56 -0600 Eric Mullins <emwine@earthlink.net>: 17212Updated cmdline makefiles to be able to produce JAWS binaries. 17213 17214This breaks support for MSVC 4.x. It may still be possible to 17215use that compiler if you obtain the latest SDK from Microsoft. 17216MSVC 6.0 still works, but I had to change the target windows 17217version to 0x500 which causes warnings about building beta 17218applications. This is all due to the use of MENUBARINFO data 17219type in the jaws binary. You can reduce the WINVER to 0x0400 17220safely if you are not building a JAWS binary, and MSVC 4.x 17221will work fine. 17222 172232009-07-13 22:26:10 -0600 Eric Mullins <emwine@earthlink.net>: 17224Removed dependency on jfwapi.h 17225 17226Allows anyone to compile a jaws compatible binary. 17227 172282009-07-13 22:23:31 -0600 Eric Mullins <emwine@earthlink.net>: 17229Fixed duplicate resource in winboard.rc 17230 17231PLEASE remember to pull before commiting. This is the 2nd 17232time I've fixed this. It's a waste of time to keep fixing 17233the same problems. 17234 172352009-07-13 19:36:58 -0700 Arun Persaud <arun@nubati.net>: 17236resolved conflict between Xt and Xaw libraries 17237 17238seems like we don't need to link against Xt. 17239 172402009-07-13 19:33:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17241help-menu was not un-grayed in the JAWS version, when it played with engines 17242 172432009-07-13 19:29:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17244integrated jaws into winboard 17245 17246I integrated the JAWS patch now into WinBoard in such a way that the 17247JAWS and standard version can use the same resource file. This new 17248winboard.c contains the improved dialog layot of the JAWS version, 17249but none of the menus and JAWS-specific acclerator keys. The latter 17250are now generated at run time by code in jaw.s. As a result jaws.h 17251could be cancelled, as there the JAWS-specific defines are no 17252longer needed outside jaws.c (now the .rc does not use them), and 17253is incorporated in it. 17254 172552009-07-12 15:37:26 -0700 Arun Persaud <arun@nubati.net>: 17256fixed problem in autoconf using Xaw3d 17257 17258rewrote the section for Xaw3d in the autoconf file 17259 172602009-07-12 15:29:28 -0600 Eric Mullins <emwine@earthlink.net>: 17261Added Jaws support to GCC makefile 17262 172632009-07-12 15:28:20 -0600 Eric Mullins <emwine@earthlink.net>: 17264added help support: MSVC IDE and DevCpp IDE project files 17265 172662009-07-12 15:26:49 -0600 Eric Mullins <emwine@earthlink.net>: 17267Removed obsolete makefiles and support files. 17268 172692009-07-12 12:33:26 -0700 Arun Persaud <arun@nubati.net>: 17270updated AUTHORS with the help of git. use 17271 17272git log --pretty=oneline --name-only --author=AUTHORNAME v4.2.7..HEAD |sort |uniq 17273 17274a bit of hand editing and a quick emacs macro later and you have a nice 17275comma seperated list of all files changes by one author between two commits. 17276 172772009-07-12 12:31:47 -0700 Arun Persaud <arun@nubati.net>: 17278updated Changelog using git log --no-merges --pretty="* %ai: %s%n %b" HEAD v4.2.7 17279 172802009-07-12 11:34:28 -0700 Arun Persaud <arun@nubati.net>: 17281cleaned up some more copyright notices 17282 172832009-07-12 11:22:30 -0700 Arun Persaud <arun@nubati.net>: 17284updated copyright to reflect A. Scotte as copyright holder 17285 17286need to mention him, since the paperwork won't be finished before the next release 17287 172882009-07-12 10:56:29 -0700 Arun Persaud <arun@nubati.net>: 17289updated patchlevel to "k" 17290 172912009-07-12 10:53:50 -0700 Arun Persaud <arun@nubati.net>: 17292fixed autoconf problem with VERSION/PATCHLEVEL variables 17293 17294xboard used it's own version of PRODUCT, VERSION and PATCHLEVEL variables. 17295Switched to PACKAGE_STRING provided by autoconf 17296 172972009-07-12 10:29:46 -0700 Arun Persaud <arun@nubati.net>: 17298cleaned up old CVS left overs 17299 17300removed $Id tags from all files 17301 173022009-07-12 10:10:17 -0700 Arun Persaud <arun@nubati.net>: 17303converted xhistory via dos2unix 17304 173052009-07-12 10:09:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17306fixed crash in history window 17307 17308someone discovered that opening the move-history window in XBoard leads to 17309an immediate crash. Turns out that renaming the menu item broke it! (The 17310name of the item was apprently used elsewhere in the code to access it, 17311for putting a check mark there.) 17312 173132009-07-12 10:04:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17314fix for Animation of castling moves in Chess960 17315 17316Animation of castling moves in Chess960 turned out to sometimes make the 17317king disappear from the display. For the time being I patched this in 17318xboard.c to suppress animation of FRC castling moves altogether. As FRC 17319castlings internally are represented as KxR, the to-square does not make 17320sense anyway, which made the animation look very weird even when it led 17321not to a king disappearance act. And the Rook move of a castling is never 17322animated. 17323 173242009-07-11 22:44:53 -0600 Eric Mullins <eric@hiarcs.(none)>: 17325Update GCC makefile to remove .obj targets. 17326 17327Dunno how they got in there, but they should be .o 17328 173292009-07-11 22:42:41 -0600 Eric Mullins <eric@hiarcs.(none)>: 17330Update makefile dependencies on help.c and help.h. 17331 173322009-07-11 22:36:59 -0600 Eric Mullins <eric@hiarcs.(none)>: 17333Allow compiling with MSVC6.0 and 4.1 17334 17335Move prototypes into help.h, after making sure that DWORD_PTR is 17336defined. Include help.h from winboard.c and help.c so both files 17337benefit from the definition. 17338 173392009-07-11 18:26:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17340 lists these accelerator keys in the menus for JAWS 17341 173422009-07-11 18:24:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17343added shortcuts 17344 17345This patch allows the use of Ctrl+C and Ctrl+V for Copy Game 17346and Paste even in I C S mode when the board has focus. 17347 173482009-07-11 18:22:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17349better handling of pasting a game without PGN tags 17350 17351patch in wclipbrd.h to make it smarter to decide between pasting 17352a game or a position so it can handle games without PGN tags. 17353If it doesn't parse as a FEN it is assumed to be a game. 17354 173552009-07-11 18:20:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17356fixed parser error for knight move 17357 17358The parser had a strange quirk: it recognized bd2 as a valid Knight move 17359(Nb1-d2) while this SAN format should be reserved for Pawn moves only. 17360 173612009-07-11 18:19:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17362 fixed a few warnings in connection with the help patch (now warning free) 17363 173642009-07-11 18:13:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17365some major re-assignment of accelerator keys in the JAWS 17366 173672009-07-11 16:54:53 -0600 Eric Mullins <eric@hiarcs.(none)>: 17368several small fixes 17369 17370uptracked winboard.ini 17371 17372* Cleanup: moved "Some definitions required..." from winboard.c to config.h, 17373and combined some definitions from borland w/ MS. 17374 17375* Changed internal HtmlHelp return type and 4th argument to facilitate various 17376compilers. These changes, while not strictly adhering to HtmlHelp() conventions, 17377won't impact anything since the function modified is internal only. 17378 17379* Modified HtmlHelp return values to integer to silence warnings. 17380* Added help.c to the project in makefile.gcc & makefile.ms. 17381* Fixed duplicate resource in winboard.rc. 17382 173832009-07-09 22:08:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17384added JAWS support; help files for Vista; bugfixes for winboard.c 17385 17386* JAWS support 17387* help files should now work under Vista (the user has to have either 17388 a program to view old windows help files or to view html-files installed) 17389* I fixed the tabbing between all windows that were added according to Tim's sugestions. 17390* I added typing in of a move number in the move type-in dialog as a shortcut 17391 to going to that position by use of the < and > buttons. Mainly intended to 17392 ease life for the blind, but I think it can be generally useful. 17393 (Although the move-history dialog provides that functionality too, 17394 this is quicker if you don't happen to have it open.) 17395* I added typing of a FEN in the move type-in dialog in Edit Position mode. 17396 (Which could not be used without mouse at all, and is defective 17397 in crazyhouse even with mouse, as there was no way to populate holdings.) 17398 173992009-07-09 22:03:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17400some bugfixes: ICS error handling 17401 17402* play a different sound for takebacks in ICS mode 17403* pop up error messages for illegal moves for typed-in moves 17404 174052009-07-09 21:50:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17406removed no longer needed debug message 17407 174082009-07-09 21:48:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17409fixed compile error from a previous change 17410 174112009-07-09 21:44:54 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17412user selectable font in game list 17413 17414This makes the game list use the same (user selectable) font 17415as the the move-history window. 17416 174172009-06-30 21:27:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17418fixed typos in xboard.texi documentation. 17419 174202009-06-30 21:16:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17421updated the FAQ 17422 174232009-06-27 17:06:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17424changed font in engine output window 17425 17426The engine-output window now uses the same font as the move-history window 17427(which was selectable in the "Options -> Fonts..." menu, while the other 17428wasn't). 17429 174302009-06-27 17:03:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17431fixed some characters in xboard.texi 17432 17433It seems that copying manual sections from the RTF to th texi file did 17434somehow mess up the double-quote characters, and changed them into some 17435strange (unicode?) symbols. 17436 174372009-06-27 16:56:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17438two shogi related bugfixes 17439 17440I discovered a bug in the move generator for the Shogi Dragon King. I 17441guess it went unnoticed so far because this is a promoted version of the 17442Rook, which hardly occurs in games. (moves.c) 17443 17444There was also a problem with the piecesfix I sent you before; Shogi 17445chosen as initial variant did use wrong piece symbols. (I had tested this 17446on gothic, but there it happened to work for a different reason, unique to 17447gothic.) This affects xboard.c. 17448 174492009-06-27 16:54:04 -0700 Arun Persaud <arun@nubati.net>: 17450small cleanup 17451 174522009-06-27 16:51:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17453adds bitmaps for shogi promotions, and selects the bitmaps or 17454pixmaps for the more rarely used piece types on a per-variant basis. 17455 174562009-06-27 16:44:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17457adds new piece types in the promotion dialog and edit-position piece menu 17458 174592009-06-27 16:13:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17460updated bitmaps files: files for fairy pieces where missing, 17461others had names that didn't work with autoloading. 17462 174632009-06-27 16:06:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17464fixed a bug concerning bitmaps 17465 174662009-06-27 15:53:45 -0700 Arun Persaud <arun@nubati.net>: 17467give a default directory for bitmaps files (tiny change) 17468 17469this is also one of the debian patches, should be rewritten to use 17470the correct install directory. No Author was given. 17471 174722009-06-27 15:47:52 -0700 Brian May <>: 17473verbose_error_message_about_recognized_options (tiny change from Debian patches) 17474 174752009-06-27 15:45:14 -0700 Matt Zimmerman <>: 17476add a visual low time warning (tiny change from Debian patches) 17477 174782009-06-24 23:31:52 -0700 Arun Persaud <arun@nubati.net>: 17479dos 2 unix conversion of backend.c 17480 174812009-06-24 23:30:07 -0700 Arun Persaud <arun@nubati.net>: 17482exchanged some sprintf with snprintf found in a patch for the debian system, 17483extended it a bit to other sprintf's original patch included only 11 lines 17484by Florian Ernst <florian@debian.org> 17485 174862009-06-24 23:07:23 -0700 Mark Ioli <chessknight>: 17487enabled a patch for default settings in winboard 17488 174892009-06-24 22:53:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17490updated copyright notice 17491 17492 174932009-06-24 22:52:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17494patches a bug in chosing the initial board size on a virgin startup 17495I introduced recently 17496 174972009-06-24 22:49:33 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17498I put in testing for the winning condition in 3checks 17499 17500on a check it just goes through the entire game to subject 17501every position on a check test, to see if there were two more. 17502 175032009-06-24 22:47:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17504updated copyright notice in docs 17505 175062009-06-24 22:41:40 -0700 Florian Ernst <florian@debian.org>: 17507added small patch from debian (tiny change) 17508 17509according to the debian patch tracker, this patch is by 17510Florian Ernst <florian@debian.org>. 17511It fixes whitespace issues in filename called from cmail. 17512 175132009-06-24 22:33:13 -0700 Arun Persaud <arun@nubati.net>: 17514converted dos2unix format for xboard.texi 17515 175162009-06-24 22:31:57 -0700 Arun Persaud <arun@nubati.net>: 17517deleted two more files that don't need to be in git 17518 17519these files can be generated by autogen.sh 17520 175212009-06-21 12:10:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17522major overhaul of the -stickyWindows feature 17523 17524I did a major overhaul of the -stickyWindows feature. 17525The game-list and ICS-interaction windows are now also sticky. 17526I also added a form of stickiness when the main window is resized; 17527edges of auxiliary windows sticking to the right or bottom side of 17528the main window stay attached when the window resizes 17529(due to nr of board squares or their size). The way the window 17530coordinates are saved in the .ini file is now relative to the 17531main window, and some dummy options are added to be able to 17532recognize right- and bottom-edge sticking, and reconstruct that 17533when WB starts up with another board size. Also added are 17534volatile options to ensure there will be space for auxiliary windows 17535above and left of the main window. 17536 175372009-06-21 12:07:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17538fixed long-algebraic form of drops 17539 17540The WB parser turned out not to understand the long-algebraic form 17541of drops send by an ICS. (like B/@@-e4), so even with 17542legality testing off I now use the SAN move for drops. 17543 175442009-06-18 18:35:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17545Refined stalemate adjudication in Suicide, some cleanup 17546 17547Refined stalemate adjudication in Suicide, which seems to be not always won 17548for the stalemated side, but for the side with the smallest number of pieces. 17549Cleaned up the adjudication code in the process. (backend.c moves.c, moves.h) 17550Also includes a tiny change in the -autoKibitz format, as requested on 17551Talkchess. 17552 175532009-06-18 18:32:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17554Enhancement of the way -autoLogo decides which logos to display 17555 175562009-06-16 00:06:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17557bugfix and enhancement in autoKibitz mode 17558 17559changed the format of the autoKibitz: score/depth in stead of depth/score, 17560as in PGN. I also supress the ICS time for the move now in the PGN 17561if extended info is available. When enhancing the functionality of 17562the autoKibitz command (using the opponent engine kibitz for the saved PGN) 17563I discovered that the xengineoutput.c in our tree was obsolete, 17564and contained a routine of which the arguments were no longer compatble 17565with the call from backend.c, and caused segfaulting. I copied in 17566the corresponding routine in wengineo.c, which was compatible. That the 17567compiler did not flag this is a sign of badly organized code, I suppose... 17568 17569The enhancement itself affected backend.c. 17570 175712009-06-16 00:04:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17572modified clock layout 17573 17574I altered the display of the clocks in the presence of engine logos; I used to 17575stack them, but some inquiry on Talkchess sowed that people disliked the 17576stacking. So now I display them next to each other again, but as 2-line-high 17577fields to make room for te logos. 17578 175792009-06-15 23:59:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17580new zippy option zippyShortGame 17581 17582On request of Mike Adams I added a new zippy option, -zippyShortGame, 17583to make life more difficult for abusers of abort and disconnect for cheating. 17584 175852009-06-15 23:56:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17586fixed some bugs in the animation of atomic captures 17587 175882009-06-13 15:27:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17589some small bugfixes 17590 17591I had overlooked one place from which the FEN writer 17592(of whicf I changed the argument types), which made WB crash 17593if you copied a FEN (or PGN that cotained FEN) to the clipboard. 17594I must have overlooked a warning during compile, or some depedency 17595is not correct in the makefile. Anyway, wclipboard.c had to be changed. 17596I also moved adjudication of some losing conditions to before tetsing 17597for stalemate, (e.g. in atomic, if your king get destroyd you lose, 17598even if you have no moves after that because it was your only piece.). 17599this affects backend.c. 17600I had used the same bits in the rule-modifier flags for indicating 17601mandatory capture as was already used for indicating FRC-style castling. 17602This led to frequent illegal move calls in FRC... (moves.h) 17603 176042009-06-13 10:45:17 -0700 Arun Persaud <arun@nubati.net>: 17605cleaned up HTML in FAQ.html -- still need to work on content 17606 176072009-06-13 09:36:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17608added option for work-around for some FRC engines in regards to FRCFENs 17609 17610It suddenly occurred to me that I had promised on CCC to include an option 17611to provide a work-around for the problem that some FRC engines do not 17612understand FRC FENs (and thus do not play at all under WinBoard, 17613as FRC always has to begin with sending the initial position). 17614So I added the options -firstNeedsNoncompliantFEN, -secondNeedsNoncompliantFEN. 17615This affects winboard.c and xboard.c, (for defining the option), 17616common.h, backend.h, backend.c, (for implementing it), 17617xboard.texi and winboard.rtf (decribing it). 17618This option provides users with a means to always force the FEN castling field 17619to KQkq (but can be used for many other work-arounds as well). 17620 176212009-06-13 09:30:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17622fixed bug with random calls 17623 17624There also seemed to be a bug with the shuffling of opening positions; 17625I had changed the declaration of the position number from 17626long long int to u64 to comply with MSVC, but this suppressed shuffling 17627completely. I now changed it to int. I recently noted a problem with true 17628randomizing anyway: this was based on srand(time()), but time() apparently 17629did not change fast enough, so that starting several games in rapid succession 17630(because the book line contained a 3-fold repetition) produced identical games. 17631So I now seed the random once and for all during startup, based on the msec of 17632the time mark, and removed the other calls to srand(). 17633 176342009-06-13 09:26:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17635changed name for fairymax program in xboard.h 17636 176372009-06-13 09:25:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17638removed my name from copyright message in help->about menu 17639 176402009-06-13 09:22:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17641fixed -stickyWindows option 17642 17643I figured out why -stickyWindows was not working in XP and Vista 17644(while it always worked under Win2K), and I think I found a fix for 17645it that works under all Windows versions. (I tried XP and Win2K.) 17646 176472009-06-13 09:20:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17648Updated docs for Engine-Settings menu 17649 176502009-06-13 09:19:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17651Awareness of winning conditions for atomic and giveaway variants; two bugfixes 17652 17653fixed bug in claim verification 17654Bugfix on initial position of Great Shatranj 17655 176562009-06-13 09:16:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17657Legality testing (mandatory capture) in giveaway variants 17658 176592009-06-13 09:16:17 -0700 Arun Persaud <arun@nubati.net>: 17660don't ignore winboard/parser.c 17661 176622009-06-13 09:12:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17663Added new variant Twilight Chess 17664 176652009-06-13 09:08:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17666some renaming and restructuring of WB menu items, to conform more to XBoard 17667 176682009-06-13 09:07:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17669Fixed bug in atomic patch that interfered with non-atomic variants 17670 176712009-06-10 21:46:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17672fixed different use of engine option compared to Polyglot 17673 17674it turns out the new Polyglot uses a sightly different version 17675of the GUI->engine option command than the one I proposed 17676(and implemented in XBoard; Michel sneaked in an '=' sign 17677between the NAME and VALUE of the option, to allow for 17678more unambiguous parsing. I guess in principle this is a good idea, 17679so I adapted XBoard to Polyglot rather than the other way around. 17680The result is that there are canges in xboard.c, and the documentation. 17681I noticed that I unjustly had internationalized the option strings 17682to be send to the engine in xoptions.c; this was of course nonsense, 17683as this was WB protocol. So I undid that too. 17684 176852009-06-10 21:37:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17686add the already supported variants 3check and great (=Great Shatranj) 17687to the New Variant... menu. 17688 176892009-06-10 21:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17690animate explosions in variant atomic (if animate moves is on). 17691 176922009-06-10 21:30:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17693fixed castling bug in variant twokings. 17694 176952009-06-10 21:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17696fixed forteitary wins for special game variations 17697 17698feature that corrects forfeitary wins (e.g. on time) 17699of a bare King to draws of course breaks proper operation 17700in losers, suicide and giveaway 17701 177022009-06-09 21:02:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17703automatically test ini file extension for files from commandline option @filename 17704 17705The winboard.c is a patch that automatically tries indirection files on the 17706command line (@filename type arguments) also with an extension .ini if the name itself 17707did not match any existing file and contained no period. This saves the user typing the 17708.ini all the time (which I started to find pretty annoying while working on the installer 17709package). 17710 177112009-06-08 15:23:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17712added gamelisttag option to xboard 17713 17714also updated documentation. 17715 177162009-06-08 15:20:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17717updated RTF file for winboard 17718 177192009-06-06 09:12:48 -0700 Arun Persaud <arun@nubati.net>: 17720fixed syntax error in texi file 17721 177222009-06-06 08:57:52 -0700 Arun Persaud <arun@nubati.net>: 17723updated to patchlevel "j" 17724 177252009-06-06 09:00:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17726fixed adjudicating probelm in Shantranj 17727 17728Refrain from adjudicating a draw based on insufficient mating material 17729(except bare King vs bare King) in Shatranj (where in this case you can 17730still win by baring the opponent's King). 17731 177322009-06-06 08:55:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17733updated documentation and FAQ 17734 177352009-06-04 22:52:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17736source clean up. Fix compiler warning, removed unused variables, etc. 17737 177382009-06-04 20:43:29 -0700 Eric Mullins <emwine at earthlink.net>: 17739adding support for different windows compiler 17740 17741Eric kindly provided us with some makefiles for different windows 17742compiler and also fixed some issues that came up while using those compilers. 17743 177442009-06-04 18:27:26 -0700 Arun Persaud <arun@nubati.net>: 17745cleanup: got rid of a lot of files that are not needed for a new release 17746 17747lots of documentation was available in several places, 17748old unused source files and not used graphics file were floating around 17749in the tree. This should clean up most of it. No need to keep these files 17750around, especially since we are using version control. 17751 177522009-05-29 18:56:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17753Added the Action-menu items that allow the user to adjudicate 17754ongoing games in Two-Machines mode. This was an already existing 17755backend function from Winboard_x; I only had to create a menu item for it 17756to be called. Due to an oversight I had forgotten to do that so far. 17757(Logically, I should have done it in the 4.3.5 release, 17758where I updated the XBoard menus to conform to the WinBoard menus.) 17759 17760I tested them, and they seem to work. (As expected.) 17761 177622009-05-28 22:23:00 -0700 Arun Persaud <arun@nubati.net>: 17763updated patchlevel to "i" 17764 177652009-05-28 22:19:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17766small change to mousewheel support; two changes in window behaviour 17767 17768* Visible effects during resizing suppressed, bug in chosing new size fixed. 17769* No longer reserves left and top margins next to main window on first popup. 17770* built in some hysteresis into mousewheel support, ignorng the first event in any new 17771direction to suppress effects from accidential mouse movement. 17772 177732009-05-28 22:11:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17774corrected 'animate dragging' 17775 17776I finally figured out how the 'animate dragging' works in XBoard, 17777so that I could add code to do the unstacking of multiple pieces 17778in the holdings, rather than always leaving an empty square while 17779you drag them. (And then suddenly re-growing the remaining pieces 17780as you make the drop.) It does not look as fancy as in WinBoard 17781yet, because the counts still only decrease when you release the 17782piece, rather than when you lift it. But this is not nearly as 17783disturbing as leaving empty holdings (if only temporarily) when 17784you still have pieces there. 17785 177862009-05-28 22:06:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17787Added comand-line options -debugFile (as synonym for -nameOfDebugFile, 17788as WinBoard also has these synonyms), and -engineDebugOutput 17789(wich already existed in the backend). 17790 177912009-05-28 21:57:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17792updated documentation for new release 17793 177942009-05-28 21:55:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17795added Xiangqi perpetual-chase detection 17796 177972009-05-28 00:06:53 -0700 Arun Persaud <arun@nubati.net>: 17798Updated all files to GPL version 3. 17799 178002009-05-28 00:03:32 -0700 Arun Persaud <arun@nubati.net>: 17801converted two files from dos to unix format 17802 178032009-05-27 23:12:24 -0700 Arun Persaud <arun@nubati.net>: 17804updated INSTALL, NEWS and other files for new release 17805 17806cleaned up a bit and updated some information in the text files. 17807 178082009-05-07 21:48:23 -0700 Arun Persaud <arun@nubati.net>: 17809winboard/config.h shouldn't be in .gitignore, only ./config.h 17810 178112009-05-07 21:47:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17812bumped patchlevel to 0g 17813 178142009-05-07 21:46:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17815corrected path in makefile 17816 178172009-05-07 21:45:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17818updated rtf 17819 178202009-05-07 21:45:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17821added firstOptions, secondOptions, noGUI, firstXBook, secondXBook 17822 178232009-05-07 21:44:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17824handle promotion case for Shogi 17825 178262009-05-07 21:43:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17827add note about RESULT command for GUI programmers 17828 178292009-05-07 21:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17830small changes to book.c 17831 17832 added code for different board sizes 17833 added some debuginfo 17834 handle promotion of pieces 17835 178362009-05-05 23:07:18 -0700 Arun Persaud <arun@nubati.net>: 17837added a .gitignore file 17838 178392009-05-03 12:41:06 -0700 Arun Persaud <arun@nubati.net>: 17840wrong line ending for Unix... ran dos2unix on both files 17841 178422009-05-02 13:51:50 -0700 Arun Persaud <arun@nubati.net>: 17843fixed texinfo files, added windows help file, removed config.h from git 17844 17845texinfo.in is not needed anymore, since it only provided a 17846version string, but this can be created automatically using autotools 17847 17848deleted config.h from version control, since it is automatically created. 17849added winboard.hlp file (not sure if needed) 17850 178512009-04-26 23:34:34 -0700 Arun Persaud <arun@nubati.net>: 17852updated autoconf init file 17853 17854* renamed autoconf init file from configure.in to configure.ac 17855* added bug-report email address to ac_init 17856* replaced ac_output(...) with ac_config_files, ac_config_commands and ac_output 17857 178582009-04-26 14:49:03 -0700 Arun Persaud <arun@nubati.net>: 17859parser.c is generated by lex, so it shouldn't be tracked 17860and also parcer.c shouldn't be in Makefile.am 17861 178622009-04-26 14:44:51 -0700 Arun Persaud <arun@nubati.net>: 17863added book.c to Makefile.am 17864 178652009-04-26 13:49:15 -0700 Arun Persaud <arun@nubati.net>: 17866use autoheader to create config.h.in 17867 17868no need to track this in git anymore 17869 178702009-04-26 11:13:26 -0700 Arun Persaud <arun@nubati.net>: 17871fixed autoheader warings, remove depreciated acconfig.h 17872 178732009-04-26 10:30:23 -0700 Arun Persaud <arun@nubati.net>: 17874added a autogen.sh 17875 178762009-05-02 10:55:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17877changes from H.G. Muller; version 4.3.16 17878 178792009-05-02 10:50:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17880changes from H.G. Muller; version 4.3.15 17881 178822009-05-02 10:38:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17883changes from H.G. Muller; version 4.3.14 17884 178852009-05-02 10:13:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17886HGM fixed cygwin compile for winboard 17887 178882009-04-24 16:11:57 -0700 Arun Persaud <arun@nubati.net>: 17889cross compilier working 17890 178912009-04-19 10:00:52 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17892changes from H.G. Muller; version 4.3.13 17893 178942009-04-19 09:52:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17895changes from H.G. Muller; version 4.3.12 17896 178972009-04-19 09:48:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17898changes from H.G. Muller; version 4.3.8 17899 179002009-04-19 09:44:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17901changes from H.G. Muller; version 4.3.7 17902 179032009-04-19 09:39:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17904changes by H.G. Muller; version 4.3.4 17905 179062009-04-19 09:34:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17907changes from H.G. Muller; version 4.3.2 17908 179092009-04-19 10:26:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 17910changes from H.G. Muller 17911 179122009-04-16 23:06:13 -0700 Arun Persaud <arun@nubati.net>: 17913cleaned up the directory a bit. Removed winboard-dm-beta, 17914merged the two Changelogs together 17915 179162009-04-16 14:12:48 -0700 A. Scotti <dev@ascotti.org>: 17917changes from Alessandro Scotti from 20060129 17918 179192009-04-16 14:09:33 -0700 A. Scotti <dev@ascotti.org>: 17920changes from Alessandro Scotti from 20060112 17921 179222009-04-16 14:04:02 -0700 A. Scotti <dev@ascotti.org>: 17923changes from Alessandro Scotti from 20051231 17924 179252009-04-16 13:59:12 -0700 A. Scotti <dev@ascotti.org>: 17926changes from Alessandro Scotti from 20051129 17927 179282009-04-16 13:53:41 -0700 A. Scotti <dev@ascotti.org>: 17929changes from Alessandro Scotti from 20050322 17930 179312009-04-10 04:18:59 +0000 Arun Persaud <arun@nubati.net>: 17932translated a handfull of strings and set the codeset to UTF-8 17933for the translations. 17934 179352009-03-18 03:20:50 +0000 Arun Persaud <arun@nubati.net>: 17936Translation: added German po file (roughly 50% translated) 17937 179382009-03-01 04:23:54 +0000 Arun Persaud <arun@nubati.net>: 17939fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi 17940 179412009-03-01 02:43:43 +0000 Arun Persaud <arun@nubati.net>: 17942fixed bug #25672, patch #6182 by adding DESTDIR support to Makefile.in 17943 179442009-03-01 02:33:26 +0000 Arun Persaud <arun@nubati.net>: 17945fixed a warning message in the configure script 17946 179472009-02-28 22:58:57 +0000 Arun Persaud <arun@nubati.net>: 17948fixed parser.l. Should fix bug #22812 17949 179502009-02-28 22:58:14 +0000 Arun Persaud <arun@nubati.net>: 17951fixed parser.l. Should fix bug #22812 17952 179532009-02-28 22:55:30 +0000 Arun Persaud <arun@nubati.net>: 17954added myself to the AUTHOR file 17955 179562007-06-15 04:26:57 +0000 Mark Loli <chessknight>: 17957Initial check-in of NSIS Winboard installer files. 17958 17959* 06/12/2005: bugfix some more possible buffer overflows. 17960 17961* 06/27/2004: added simple icsEngineAnalyze for xboard 17962 17963* 06/26/2004: added icsEngineAnalyze for winboard: Analyze observe games 17964with a chessprogram on a Internet Chess Server (ICS) 17965 17966* 02/12/2004: Bugfix ICS interaction console crashed while chess 17967engine starting and user type in some stuff. We wait now to finish 17968the engine boot. 17969 17970* 02/11/2004: Winboard: Added color lines for the ics interaction 17971console if zippy used 17972 17973* 02/09/2004: Added mousewheel support for winboard. Play moves 17974backward and forward with the mousewheel. 17975 17976xboard/WinBoard 4.2.7 -- Fri Nov 28 13:36:00 PST 2003 -- Tim Mann 17977 17978* 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output 17979to WinBoard.debug too. (This isn't needed in xboard because ICS 17980output already goes to stdout, so it's easy to capture along with the 17981debug output on stderr.) This was issue #280 in the ToDo file. 17982 17983* 11/23/2003: Cleaned up some minor problems in cygwin.mak. Thanks to 17984Hans Werner Strube for the problem report. 17985 17986* 11/23/2003: Updated the default list of chess servers in 17987winboard/defaults.h. Deleted two that appear to be dead and added a 17988new one that is active. 17989 17990* 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard. 17991Hopefully this will get them the right way around by default on more X 17992window managers. I wish I understood this better. 17993 17994* 11/18/2003: Implemented a simple 32-bit random number generator for 17995WinBoard, replacing the Windows rand(), which ranges only up to 179960x7fff. Formerly on Windows, only zippy.lines sayings that started in 17997the first 32767 bytes of the file could ever be used. This was issue 17998#505 from the ToDo file. 17999 18000* 11/16/2003: The xboard man page and info files are now built from a 18001common set of texinfo source files, and the xboard man page now covers 18002cmail as well. Formerly, ever since the texinfo file was first 18003contributed to the project, it was separate from the man page and the 18004two files had to be updated in parallel, making for a maintenance 18005nightmare. To make combining the files possible, I took the Perl 18006script "texi2man" from the GNU Units project and added support for a 18007larger subset of the texinfo markup language. I then carefully 18008compared the old man page and old texinfo file to make sure the latest 18009and clearest words survived into the new combined texinfo file. It 18010would be great to merge in WinBoard's help file too, but that's a 18011larger project. It would have to be heavily conditionalized to 18012deal with differences in features between XBoard and WinBoard. 18013 18014* 11/15/2003: Cleaned up and applied a small patch from Daniel 18015Mehrmann, to stop overly long PVs in thinking output from causing a 18016buffer overflow crash in backend.c. 18017 18018* 11/5/2003: When a chess engine sends a "telluser" command (including 18019the cases where "tellall" or "tellopponent" acts like telluser), the 18020information now goes into a nonmodel popup that is automatically 18021dismissed when the user clicks anywhere on the board. This fix is 18022more significant on WinBoard, where formerly you got a fully modal 18023dialog that had to be dismissed by clicking on OK before anything else 18024could happen. The bug was issue #406 in the ToDo file. 18025 18026* 11/1/2003: Removed email addresses from this file to reduce spam 18027load, as it gets linked to from the Web. 18028 18029* 11/1/2003: Updated READ_ME and winboard/READ_ME.txt. 18030 18031* Modified xboard and winboard makefiles to be able to build the 18032project in the new combined directory structure. 18033 18034* Applied a small security fix to pxboard, from Martin Maeok. 18035 18036* Fixed a bug in the game list dialog. The change in 4.2.6 to opening 18037games in text mode (meant to avoid getting extra \r's into comments) 18038caused a new bug in determining seek offsets when parsing a game file 18039to form the game list. Also, the change was incomplete; on some code 18040paths games were still being opened in binary mode. Thanks to Lenik 18041Terenin for reporting the offset bug. I've now gone back to always 18042using binary mode when reading game files, and I've fixed the comment 18043bug by adding code to remove \r's from parsed comments explicitly. I 18044still use text mode for writing game files so that games written by 18045WinBoard will have Windows-style line endings. 18046 18047* Fix for minor bug in WinBoard installer. If you chose a non-default 18048destination directory, the default directory was still used for a 18049couple of unimportant things, namely setting the App Paths registry 18050keys (unused by WinBoard) and trying to copy the existing WinBoard.ini 18051file to WinBoard.old. I inherited this bug from the InstallShield 5 18052sample template. Thanks to "l.d." for noticing the incorrect keys. 18053 18054* Patch from Chris Priest: when two engines are being run through rsh, 18055avoid reusing the same stderr port for both. I'm not sure why this 18056should be needed, but it's harmless, at least. 18057 18058* Bugfix: The kludge to deal with old engines that give an error 18059message because they don't know the "st" command was too sloppy; it 18060could hit on an "st" substring anywhere in an error message. GNU 18061Chess 4 is the only engine I know of where the kludge was needed, so I 18062changed the kludge to match a longer, more GNU-specific string. 18063 18064* Changed the WinBoard self-extracting installer to choose a unique 18065temporary subdirectory name within the Windows temp directory instead 18066of always putting wb-setup directly in temp. Besides being better 18067practice, this avoids the need to deltree wb-setup first, which 18068occasionally alarms someone who thinks that deltree is only used by 18069trojans to delete all your files. (Yes, I'm serious.) 18070 18071* Fixed a bug where FICS-style "wild/0" strings were not parsed as the 18072proper wild type. The "/" was not being skipped. 18073 18074* Fixed a WinBoard bug where temporary files created by game 18075copy/paste were being created in the root directory of the current 18076drive instead of the TMP directory and were not always deleted on exit. 18077 18078* Fixed a small bug in winboard.c's ErrorDialog() function. Thanks to 18079"Ron" (no last name given). The bug might have caused a problem when 18080pressing OK or Cancel in an error dialog when more than one error 18081dialog was being displayed, but I'm not really sure. 18082 18083* Removed a hack that worked around a bug in very old versions of 18084Crafty, where it would sometimes reply "illegal move" to a "." 18085command. The hack kept us from recognizing real illegal move messages 18086in analyze mode from engines that don't respond to the "." command. 18087Thanks to Fabien Letouzey for the report. 18088 18089* Fixed a bug in the xboard version of GetDelayedEvent. It would 18090return the most recently scheduled event even if it had already fired. 18091This caused at least one visible error: in -ics -xreuse mode, starting 18092the engine again and seeing another "feature done=1" would re-run the 18093initialization code in InitBackEnd3, including the code that opens the 18094connection to ICS. The WinBoard version didn't have this bug. Thanks 18095to Bob Hyatt for the bug report. 18096 18097* The promotion popup for ICC wild 26 (giveaway) now includes King. 18098Thanks to Fredrik Josefsson for the bug report. 18099 18100* The first game in a file (or being pasted from the clipboard) can 18101now start with a bare move -- no PGN tags, no move number "1", etc. 18102Suggested by Shane Harrelson. One could imagine taking this farther 18103and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but 18104I haven't done that. 18105 18106* Bug fix: xboard didn't really accept a paste of multiple games, 18107contrary to what I wrote when adding the feature to WinBoard in 181084.2.4. Now it works in both. 18109 18110* Fixed generic start/end of game messages to work on chess.net, where 18111they put ratings in parens after the player names. 18112 18113* Updated config.sub and config.guess to newer versions from 18114automake-1.4p5-2. This makes configure work with MacOS X + X11. 18115 18116* Bugfix: when examining a game fragment on FICS where black plays 18117first, don't show two "(0:00.000)" times on the initial "none" move. 18118 18119* If TestLegality is on and one of the engines makes an illegal move 18120in TwoMachines mode, it forfeits immediately. Formerly the game would 18121get stuck at that point and the engine that made the illegal move 18122would eventually lose on time. 18123 18124xboard/WinBoard 4.2.6 -- Fri Feb 1 22:26:31 PST 2002 18125Tim Mann 18126 18127Another small bugfix release. 18128 18129* Put in a small change from Alexander Mai to allow xboard to build in 18130an OS/2 EMX environment. 18131 18132* Fix WinBoard-only bug where editing a PGN file with comments would 18133insert more \r characters before the \n after every Load/Save cycle. 18134For some unknown reason we were reading the files in "rb" mode but 18135writing them in "a" mode, so we kept the \r characters on reading and 18136added an extra one on writing. Fix: change the "rb" to "r". Thanks 18137to Joel (last name not given) for the bug report. 18138 18139* Put the arguments to rsh/remsh in the right order for better 18140portability. Thanks to Michael Kalisz. 18141 18142* FreezeUI is now implemented in WinBoard; it was previously only 18143implemented in xboard. This function prevents the user from entering 18144moves or other commands while we are waiting for an engine to 18145initialize itself. Implementing it fixes a bug where the user could 18146start a game (etc.) during feature negotiation. One of the symptoms 18147of this bug was that we could send "new" one or move moves *after* the 18148first game started! 18149 18150* Fixed some handle leaks (WinBoard only), including a nasty one that 18151leaked one handle per command sent to ICS. Thanks to several folks 18152who helped characterize the bug and tried to look for leaks. 18153 18154* We now install and look for the info file in ${prefix}/share/info 18155instead of ${prefix}/info. The latter is still the default in 18156autoconf, but the former is currently used in Red Hat Linux and 18157probably elsewhere. 18158 18159xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001 18160Tim Mann 18161 18162* Changed the bundled GNU Chess 5.02 in the WinBoard package to 18163include a much smaller book and to use much less hash table space by 18164default (8 MB transposition table, 0.5 MB pawn evaluation table). The 18165large book included with 4.2.4 made the WinBoard download too big for 18166some people, and the default hash tables were larger than the 18167available physical memory on some people's computers. I built the 18168small book by running Crafty's "small.zip" book line collection 18169through a Perl script that makes it look enough like real PGN games 18170that the GNU Chess book builder will accept it. The script and some 18171minor patches to GNU Chess 5 are available in the WinBoard source 18172distribution and at http://www.tim-mann.org/gnuchess.html. 18173 18174* Fixed a bug in the code that deals with engines that complain that 18175"time" and "otim" are illegal moves. This was a new bug in 4.2.4. 18176 18177* Revamped the implementation of ToStart in analysis mode. Formerly 18178there was some ill-conceived code that would try to get back to the 18179start of the game by doing a "new" command (and all the followup 18180commands that requires) while remaining in analysis mode. This is 18181problematic for engine authors to support, though it works with 18182Crafty. This code was trying to solve the problem of ToStart being 18183slow because the engine would try to start an analysis after every 18184"undo" command all the way back to the start. But ToEnd already had a 18185much better solution to this problem, and now ToStart does the same 18186thing: we exit from analysis mode and enter force mode instead, 18187make/unmake moves to get to the end/start of the game, and then 18188reenter analysis mode. 18189 18190* Formerly, Zippy could try to start playing a game before the engine 18191was initialized; that is, during the initial timeout for protover 1 18192engines, or before "feature done=1" for protover 2 engines. We now 18193wait until the engine is initialized before connecting to ICS, which 18194fixes this in the common case. If you turn off engine reuse for 18195multiple games (that is, if you give the -xreuse option), there could 18196still be problems; see item 503 in the ToDo file. Thanks to Dieter 18197Buerssner for the bug report. 18198 18199* Bugfix: All WinBoard versions since the merge with WinBoard Plus 18200(but not xboard) have had a bug in changing the PeriodicUpdates, 18201PonderNextMove, and ShowThinking options from the menu. The bug 18202mostly just caused changing these options during a game to not take 18203effect until after the next reset. For TwoMachines games, though, 18204changing PonderNextMove just before the game would take effect 18205immediately for the second engine but not until the next game for the 18206first engine. Thanks to Koundinya Veluri for the bug report. 18207 18208* Bugfix: In 4.2.4, we sometimes got confused when trying to leave and 18209reenter analyze mode. One symptom was that Analyze File did not work. 18210Thanks to Igor Syry for the bug report. 18211 18212xboard/WinBoard 4.2.4 -- Sun Dec 9 14:56:30 PST 2001 18213Tim Mann 18214 18215* WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00. 18216 18217* WinBoard's PasteGameFromClipboard will now handle a paste with 18218multiple games in it, popping up the game list dialog. xboard 18219already did this. Suggested by Robert Gerstman. 18220 18221* We now use the "clearboard" command on ICC where appropriate. 18222 18223* Bugfix: don't generate a bogus "variant normal" command to an engine 18224for the loadable ICC wild types that we internally flag as 18225VariantLoadable. Also clarified the message that Zippy sends when 18226declining such wild games -- it can't deal with the possibility of 18227loading an arbitrary position into the game. Thanks to Dieter 18228Buerssner for reporting the problem. It would be nice to be able to 18229actually play these wild types some day; presumably there would have 18230to be an option to either send "loadgame" with a specified position, 18231or to deal with an opponent sending it. 18232 18233* If we get a holdings message from ICS when we thought we were 18234playing normal chess, we now try asking for a move list so that we can 18235find out from the header what's really happening. Formerly we guessed 18236bughouse in this case. Response to a comment from Gian-Carlo 18237Pascutto. 18238 18239* Fixed two longstanding bugs in the clock code. These affected only 18240play between a user and a local engine, or between two local engines, 18241not ICS play. (1) The last fractional second used by a player before 18242moving and virtually pushing his clock was being charged to his 18243opponent instead of to him. (2) The time and otim commands were being 18244sent to an engine before the (buggy) fractional second update was 18245done. The second bug was pretty harmless in itself, but the first one 18246was serious. Many thanks to Peter Rosendahl for carefully diagnosing 18247and reporting these bugs! 18248 18249* Changed WinBoard timestamp key. Nothing is changed other than the 18250key and a recompilation. ICC may phase out the old key soon; if they 18251do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later 18252to connect to chessclub.com. 18253 18254* Fixed an xboard-only bug where most dialogs would not take keyboard 18255input unless the mouse was actually over the dialog, even if the 18256dialog window had focus. Thanks to Jason Varsoke for the bug report. 18257 18258* Bugfix; Remember to send time and otim commands to engine before 18259sending playother. Thanks to Bob Hyatt for the bug report. Also 18260fixed a bug where time and otim were sometimes sent even with feature 18261time=0. 18262 18263* Added small patches from Wilkin Ng that are meant to fix a crash in 18264CopyGameToClipboard and a "can't unlock clipboard memory" error in 18265PasteTextFromClipboard, under Windows 2000. 18266 18267* Changed cygwin.mak to not use -mno-cygwin. In other words, it now 18268uses cygwin1.dll instead of the mingw libraries. This works around 18269bugs in fileno() and stat() that I encountered in mingw. (fileno 18270seems to always return 0. stat fails because the library routine uses 18271a different definition of struct stat than the header files provide.) 18272Thanks to Robert Gerstman for reporting the symptoms these bugs caused 18273when WinBoard was compiled with Cygwin. 18274 18275* Added -showButtonBar option. This lets you delete the << < P > >> 18276buttons and thus widen the message widget a bit. 18277 18278* Added code to address a very obscure bug. If an engine dies and 18279needs to be restarted while in one of the analyze modes, it was not 18280getting put back into analyze mode. This bug should not really ever 18281have gotten tickled unless reuse was turned off and the engine sends 18282game end commands (such as 1-0) when a game ends by rule while in 18283analyze mode. The next version of the protocol spec will say that 18284engines should not do that, but version 2 and earlier didn't address 18285the issue. 18286 18287* We now use the FICS "iset ms 1" feature to get times in ms instead 18288of seconds. Thanks to DAV for email telling me about this feature. 18289 18290* Changed clock display to show tenths of seconds for 9.9 seconds and 18291less, instead of 0.9 seconds and less as before. 18292 18293* It has been discovered that Zippy can play simuls on ICC (but not on 18294FICS). If you arrange for Zippy to send the ICC command "simulize" in 18295the -zippyGameStart string, it will accept additional games while 18296playing. Zippy will use the same engine for every game, so whenever 18297it switches opponents, the engine's state will be reset with the "new" 18298command. This will of course weaken its play, so don't enable simuls 18299if you want your engine to have the highest possible rating. Zippy 18300was never designed to work with simuls; it just works by accident, and 18301it hasn't been tested much. So please report any bugs you notice, but 18302don't expect them to be fixed rapidly. Thanks to Paul McGuire for 18303noticing that this works. 18304 18305* Bugfix: Suppress the direct command to engine popup if there is no 18306engine. In WinBoard this case used to cause a crash. Thanks to 18307"Dargon" for the bug report. 18308 18309* Bugfix: formerly we did part of the engine initialization for the 18310very first game too soon, before feature negotiation. One result of 18311this is that engines would never get the "ics" command for the first 18312game. 18313 18314* Lengthened timeout to detect protocol version 1 chess engines to 10 18315seconds. This should reduce problems with protocol version 2 engines 18316that are slow to initialize missing the timeout and not getting a 18317chance to send their feature commands before the first game starts. 18318 18319* Klaus Friedel says that adding a short sleep to WinBoard after 18320starting a new chess engine solves a problem that occurs under Windows 183212000, in which engines sometimes don't see the initial command(s) from 18322WinBoard and hang. I don't understand how that can happen, but the 18323sleep is harmless, so I've put it in. Others have also reported what 18324may be the same problem, so hopefully this will fix it for them too. 18325 18326* Bugfix: editing the Result field in EditTags will no longer cause a 18327later crash. Thanks to DAV for a clear bug report that let me 18328reproduce the problem. 18329 18330* ICC wild 28 is now recognized as shatranj, but it is not supported. 18331You might be able to play it by turning off Test Legality. 18332 18333* Formerly we would always turn off "feature time" if the engine 18334printed an error message with the string "time" or "otim" in it; now 18335we do that only if the message comes before the engine makes its first 18336move. This change is useful because some engines spew a lot of bogus 18337error messages about commands they don't fully parse, so something 18338like "result 0-1 {White lost on time}" could generate such a message. 18339Engines shouldn't do that, but if they do, mysteriously turning off 18340"feature time" is not a good way to react. 18341 18342* Fixed an infrequently occurring Zippy bug: formerly, resuming from 18343adjournment by position (that is, with GetMoveList turned off) or 18344starting/resuming a wild game (nonstandard starting position) would 18345try to set up the position without putting the engine into force mode 18346first. That was probably tolerated by most engines, but if the 18347position was black-to-play and the engine hadn't set feature 18348setboard=1, then the fake "a2a3" move (which we use as a kludge to get 18349black to be on move before sending the edit command) would appear to 18350be a real move, and the engine might reply to it! This bug could also 18351be seen when trying to use Zippy to play a simul -- something that 18352Zippy was never designed to support, but which seems to mostly work 18353anyway. Thanks to Paul McGuire for sending a WinBoard.debug file that 18354showed the bug occurring. Some other cases of resuming adjournments 18355or starting games from nonstandard positions may have been broken too; 18356I think I've straightened out the problems. 18357 18358* Agreeing to a draw in the human vs. local engine case formerly did 18359not work if the human offered first; now it does. A human's 18360unsolicited offer is considered valid until he makes another move. 18361Thanks to Bruce Moreland for the bug report. 18362 18363* Bugfix: We used to look for just "fr" in Event tags or strings from 18364ICSes to recognize Fischer Random games. This caused a lot of false 18365matches. Now we look for "wild/fr" instead, which is what FICS uses. 18366 18367* Bugfix: Clicking on a move in the MoveList window only updated the 18368displayed position; if a chess engine was active, its state was not 18369updated. Thanks to Alejandro Dubrovsky for the bug report. 18370 18371* Bugfix: The "resign" command from engine to xboard formerly did not 18372work in ICS (Zippy) mode. 18373 18374* Bugfix: Formerly we would register a garbage premove if the user 18375clicked on a piece, then clicked on an edge or outside the board. Now 18376such an errant click is ignored. 18377 18378* Bugfix: GameEnds would send "exit" to an engine in analyze mode even 18379if we did not actually want to leave analyze mode. 18380 18381* Bugfix: "feature pause" was being rejected. We don't currently use 18382it, but that is no reason to reject it. Thanks to Gian-Carlo Pascutto 18383for the bug report. 18384 18385* Bugfix: when "partner" needed to be sent both to ICS and the engine, 18386Zippy was erroneously sending the ICS prefix character to the engine 18387too. Thanks to Gian-Carlo Pascutto for the bug report. 18388 18389* Zippy now declines challenges when the engine is not yet ready to 18390play again, instead of ignoring them. This is needed so that the 18391server will let the opponent repeat the challenge. It might be better 18392to remember such challenges and accept them when the engine is ready, 18393but that would be a bit more complicated to implement. 18394 18395* Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a 18396built-in alias for "it", not a real command. So sending "$i foo" gave 18397an error message instead of doing "it foo". We now leave out the 18398alias-suppressing prefix for emotes. 18399 18400xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001 18401Tim Mann 18402 18403* Bugfix: The error message "Variant X not supported by gnuchessx" 18404formerly could pop up even in -ncp mode. 18405 18406* Fixed an xboard bug in premove highlighting. If you had 18407HighlightLastMove turned on, premoves got highlighted in 18408highlightSquareColor (yellow) instead of premoveHighlightColor (red). 18409 18410* Modified premove again. Now we are back to displaying the move 18411locally immediately after sending it to the server, as in versions 18412prior to 4.2.1. This is good because it lets you register your next 18413premove sooner. As a better fix to the problem that the change in 184144.2.1 had been trying to address, we now suppress animating the 18415opponent's move if you have a premove reply pending. However, it's 18416probably still a good idea for you to turn off AnimateMoves entirely 18417if you are trying to play extremely fast games. 18418 18419* Removed an erroneous patch that left zombie chess engines around 18420when both sigterm and reuse were turned off. (Bug was in xboard only, 18421not winboard.) 18422 18423* Bugfix: loading a game with autostepping did not work for games with 18424PGN result "*" (unfinished). This bug was introduced in 4.1.0, caused 18425by some outdated code that was supposed to leave you in EditGame mode 18426after loading an unfinished game. I fixed this, and also changed it 18427to leave you in EditGame mode after loading *any* game, but without 18428changing the tags to say it's an edited game. It's not really clear 18429whether that is the best thing is to do here -- ideally, perhaps, the 18430tags should change to say "edited game" if you actually make any 18431changes, but that is harder to make work. 18432 18433xboard/WinBoard 4.2.2 -- Tue Feb 6 20:00:00 PST 2001 18434Tim Mann 18435 18436* Fixed a problem introduced in 4.2.1. In -zippyPlay mode, 4.2.1 18437started sending the initString immediately after the old game ended, 18438but then when the next game started, it would still send "force" and 18439another initString. Another problem was that the first initString put 18440the engine out of sync with the displayed board position, though that 18441might not usually have been noticeable. This is now changed to do a 18442full Reset at the end of the previous game, and avoid doing a Reset at 18443the start of a new game if we are still in BeginningOfGame mode. 18444 18445* Fixed some limitations in -zippyPlay mode. The engine was not being 18446fed the moves or history of games that were displayed but not being 18447played, so it would get confused if you tried to do something like 18448examine a game, then enter EditGame mode from somewhere in the middle 18449of the game. 18450 18451* Made a small change so that cygwin can compile xboard for Windows 18452(an X server is required to run it). Thanks to Volker Zell. Most 18453people would probably prefer to run WinBoard on Windows, however; note 18454that cygwin could already compile WinBoard. 18455 18456* Added some missing documentation to engine-intf.html: It is okay to 18457send "feature done=0" even before you receive the xboard and protover 18458commands, if this is needed to give your engine enough time to 18459initialize. See engine-intf.html for more discussion. 18460 18461* Bugfix: "feature done=0" did not work for the second engine; now it does. 18462 18463xboard/WinBoard 4.2.1 -- Sat Feb 3 19:52:26 PST 2001 18464Tim Mann 18465 18466* Bugfix: in Zippy mode with feature san=1, the elapsed time was being 18467sent to the engine after the SAN move; for example, "e4 (0:01)" was 18468sent instead of just "e4". 18469 18470* It seems that scroll wheel mice with incompletely installed software 18471(under Windows 95, at least) can send repeated middle button up events 18472when the wheel is turned. Moved QuickPaste from middle button up to 18473middle button down to avoid problems with this. 18474 18475* A premove is now sent *before* the opponent's move that it replies 18476to is animated. The premove itself is no longer displayed (or 18477animated) when sent; instead, it is displayed when the chess server 18478echoes it back as a board update. 18479 18480* Bug fix: in -xreuse mode, xboard was only sending command line 18481arguments to the engine the first time it was started. (WinBoard 18482didn't have this bug.) 18483 18484* In -zippyPlay mode, we now initialize the chess engine for a new 18485game immediately after the old game ends. (In -xreuse mode, this 18486means starting a new engine process; in the default -reuse mode, it 18487just means sending "new".) If the engine supports ping, we don't 18488accept challenges until the "new" has finished. This should help 18489avoid losing time (re)initializing the engine after the game starts. 18490 18491* We now handle the new FICS field in style 12 that says whether the 18492clocks are ticking. 18493 18494* whiteFlag and blackFlag are now reset whenever an ICS board image 18495arrives, giving autoflag a fresh chance to work. 18496 18497* Suppressed "geometry error" debug messages unless -debug flag is given. 18498 18499* Bugfix: avoid core dump on Solaris with -debug flag, caused by 18500passing NULL to a %s format in GameEnds. 18501 18502* Added -firstProtocolVersion and -secondProtocolVersion. This will 18503allow use of extremely broken engines that hang or die when given the 18504"protover 2" command. It should be rarely if ever needed. 18505 18506* Zippy now strips highlights from player names in the Creating 18507message; previously the ratings would not be extracted from this 18508message properly if you had set the highlight variable. 18509 18510* Bug fix: Zippy with -zp but not -zt used to be fooled by false 18511partner tells inside channel tells; e.g.: 18512Garf(24): Garf (your partner) tells you: sit 18513 18514* Bug fix: when an engine reported its name with the new "feature 18515myname=" command, we had been putting just that name into the window 18516title even when in TwoMachines mode. 18517 18518* By default, WinBoard no longer uses the new feature introduced in 185194.2.0beta of keeping the ICS menu, ICS server list, and lists of chess 18520engine command lines in separate files; instead, the lists are back in 18521the winboard.ini file. This gets rid of some problems where the 18522separate files could not be opened because the working directory was 18523not set to WinBoard's installation directory. 18524 18525* WinBoard command lines and ini files now have another optional 18526syntax for quoting an option value. All characters within { } curly 18527braces are interpreted literally except for '}' itself. SaveSettings 18528now uses this syntax for string values that contain a backslash or 18529newline and do not contain a '}'. This should address the problem 18530that the separate .ini files had been meant to fix; engine command 18531line lists can now be written without \-escapes. 18532 18533* Fixed three bugs in relaying moves between engines in TwoMachines 18534mode: an engine would be sent SAN if the *other* engine had set 18535feature san=1, a relayed SAN move did not end with a newline, and 18536feature usermove was not implemented for relayed moves. 18537 18538* Fixed several bugs in exiting: File/Exit would sometimes hang; 18539timestamp/timeseal would not get killed off; an engine crash would 18540cause error messages to be printed recursively until stack overflow. 18541 18542* Fixed a bug in the code to detect which ICS is in use and adapt to 18543it; the chess.net case was broken. 18544 18545* Removed the leading alias-suppression character when sending a move 18546to ICS, because it seemed to break accuclock on chess.net. 18547 18548* Fixed a bug where a FICS prompt like "10:01_fics%" would be matched 18549as finger note number 10, causing a problem detecting when the user is 18550logged in. 18551 18552* Added tellicsnoalias command to protocol. 18553 18554* Changed st command in protocol back to old behavior. 18555 18556* Added done=0 feature to protocol, to lengthen initial timeout. 18557 18558* Added missing -colorSeek command line option to xboard. (Was 18559present in WinBoard.) 18560 18561* Bug fix: setting feature reuse=0 was not working. 18562 18563xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000 18564Tim Mann 18565 18566* Setting -searchTime no longer turns off -clockMode. Note that when 18567-searchTime is set, some engines may search for the lesser of 18568searchTime and the amount of time their normal clock management would 18569dictate, while others will disable their normal clock management and 18570always search for exactly searchTime. 18571 18572* Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the 18573ICS Interaction window would scroll back to the top whenever it filled 18574to capacity and WinBoard trimmed some text off the top. 18575 18576* Changed xboard dragging so that the center of the dragged piece is 18577forced to be over the mouse cursor. (WinBoard dragging already worked 18578that way.) This should avoid confusing cases when you start a drag 18579with the mouse near the edge of a square -- formerly most or all of 18580the piece could be over one square but the mouse cursor over another. 18581Suggested by DAV. 18582 18583* Added move list window for xboard. Code contributed by Manuel 18584Hoelss and re-hacked a bit by me. Performance of this window is poor, 18585because the implementation regenerates the entire window contents 18586whenever anything changes. It's hard to avoid this when using the 18587Athena List widget, though we could be a little smarter and notice 18588when the current move number has changed but the move list has not. 18589There are also several drawing problems caused by bugs in the Athena 18590Form and List widgets. The window should not really allow a 18591horizontal scroll bar, but the bugs are much worse if I turn it off. 18592In both Xaw and Xaw3d, the List widget tries to resize itself when 18593XawListChange is called, even if you tell it not to; and what's worse, 18594if the widget cannot resize itself to be large enough to avoid 18595clipping any of the list item, it does not change the list! Arrgh. 18596On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1 18597(X11R6.4.3). 18598 18599* The OK button in the WinBoard startup dialog is now simply disabled 18600if none of the radio buttons is selected, instead of bringing up an 18601error dialog. Suggested by Ted Milbaugh. 18602 18603* Used ping to address the worst of the race conditions in the 18604protocol. Now if an engine supports ping, we ping it after sending 18605the "new" command and after trying to place it in force mode at the 18606end of a game. When a ping has been sent and the corresponding pong 18607has not yet come back, we (1) ignore or undo any moves the engine 18608sends, (2) ignore game end messages (such as "offer draw", etc.) from 18609the engine, (3) ignore thinking output from the engine, (4) delay 18610starting the next game if in -matchGames mode, (5) in -zippyPlay mode, 18611respond to challenges with a polite message to try again soon instead 18612of accepting them. There are a few more things that should be done 18613(and item 5 might not be quite what we want), but it's hard to fit 18614them all into the existing code. 18615 18616* Patched the version of GNU Chess 5.00 included with WinBoard to 18617support protover, feature, setboard, and ping, and to fix some minor 18618bugs. See gnu500+.patch. 18619 18620* Changed the GNU Chess 4 kludges for missing "st" and "sd" commands 18621to be invoked only if the engine gives an error message for "st" or 18622"sd", and to always use protocol commands instead of engine 18623command-line options. See "Idioms" in engine-intf.html. 18624 18625* Added new protocol command "protover 2" to tell the engine what 18626version of the protocol is in use. Version 2 is still compatible with 18627old engines; see engine-intf.html. 18628 18629* Add new protocol command "feature ..." The engine can send this in 18630response to the protover command command, to say what extended 18631protocol features it would like to enable, etc. xboard responds 18632"accepted F" or "rejected F" for each feature F that is set. See 18633engine-intf.html. 18634 18635* Added new protocol command "setboard <fen>". This is an alternative 18636to "edit", used only if the engine says "feature setboard=1". 18637 18638* Added new protocol command "ping <msg>". The engine is supposed to 18639respond "pong <msg>". This gives us a tool to fix some race 18640conditions in the protocol, but it is not used to the fullest yet. 18641 18642* Added new protocol command "tellopponent". This will do a "say" if 18643you're on a chess server in Zippy mode, or pop up an information 18644dialog otherwise. 18645 18646* Added new protocol command "tellall". This will do a "kibitz" if 18647you're on a chess server in Zippy mode, or pop up an information 18648dialog otherwise. 18649 18650* Added new protocol command "tellothers". This will do a "whisper" if 18651you're on a chess server in Zippy mode, or do nothing otherwise. 18652 18653* Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames, 18654and /secondChessProgramNames options to accept a filename preceded by 18655"@", meaning to find the value in the file. Changed the defaults to 18656use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini, 18657and scp.ini. This should make it easier for users to edit the values, 18658since one less level of quoting is needed, and each value is in its 18659own file, not mixed into winboard.ini. Those who upgrade from an 18660older winboard version and already have a winboard.ini file will not 18661automatically have these values moved to a file; that has to be done 18662by hand if desired. 18663 18664* We now strip .exe from engine names for "name" command, tags, etc. 18665 18666* Allowed WinBoard input widget to hold more than one line. You can get 18667a newline into the widget with copy/paste or with Ctrl+Enter. 18668 18669* Fixed an xboard bug where the [P] button would appear in the 18670opposite highlight state from what it should be after being pressed. 18671 18672* We now use the "/" or "$" alias suppression feature on the chess 18673servers, to avoid problems if the user inadvertently aliases a 18674needed command to something else. 18675 18676* Changed the method used to deiconize xboard in AutoRaise and cmail. 18677This may fix bugs under some window managers where after 18678deiconization, the board window was mapped but nothing was drawn 18679inside. 18680 18681* Preliminary, partial support for playing several chess variants 18682against a local engine or editing variant games. The -variant option 18683must be given on the command line or WinBoard startup dialog; there is 18684no menu. The current variant is not displayed (except in the 18685Tags/EditTags window). Many variants will not work quite right even 18686if the engine supports them; see item 326 in the ToDo file for 18687details. 18688 18689* Added a workaround to detect the variant type when examining a 18690scratch wild game on an ICS. 18691 18692* Fixed two cases where "variant" command should be sent to the engine 18693when necessary but was not: loading a game from a file and restarting 18694a dead engine. Thanks to Gian-Carlo Pascutto. 18695 18696* Added missing support for FICS games that start from a bsetup position 18697with Black moving first. 18698 18699* Fixed a bug in loading a file from the game list window while in 18700Analysis or AnalyzeFile mode. This now leaves us in AnalyzeFile 18701mode, analyzing the new file. 18702 18703* Fixed a bug in loading games with a comment before the first move. 18704 18705* Fixed a bug in handling LoadGame (or -lgf) with -td 0. 18706 18707* Added a command line option to select an initial minor mode from the 18708Mode menu. This should satisfy requests from a couple of users with 18709special applications. 18710 18711* Fixed a problem where some things in WinBoard's General Options 18712dialog box were grayed out at the wrong time. 18713 18714* We look for a few messages from the chess engine pipe that are 18715intended to catch problems starting an engine via rsh, such as "No 18716such file". Moved code so that these strings won't match until other 18717protocol messages have been looked for, and documented the messages in 18718engine-intf.html. 18719 18720* Fixed the WinBoard bug that sometimes made the console input box 18721white-on-white even when not in password-entry mode. 18722 18723* Small changes to WinBoard to be compilable with the latest Cygwin 18724net release (as of 10-16-2000). Thanks to Mark Schoenberg. 18725 18726* Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net 18727release (as of 10-16-2000). Also rebuilt the book just to be sure, 18728since I had one bug report about it. It came out identical and seems 18729to work fine. 18730 18731* Added messages for some common InstallShield errors instead of just 18732printing InstallShield's stupid error code numbers. 18733 18734* Added -firstComputerString and -secondComputerString, allowing you 18735to suppress or change the command that is sent to a chess engine when 18736its opponent is another computer. 18737 18738* Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead 18739of Xaw widgets in xboard. Thanks to Johnny C. Lam of the NetBSD 18740project. I've left Xaw as the default because Xaw3d is too ugly. 18741 18742* The version of the Xaw Form widget released in XFree86 4.0.1 18743(X11R6.4.3) has a bug that causes xboard to display the button bar 18744on top of the message widget. I've reported the bug and have 18745installed a kludge workaround into xboard. 18746 18747xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000 18748Tim Mann 18749 18750* Merged Winboard Plus 4.0.8 from Mark Williams into xboard 18751 source pool. Status of Winboard Plus features in xboard: 18752 18753 - White pieces now have borders, but the implementation is 18754 completely different from WinBoard's; see below. 18755 18756 - Options menu not changed, probably won't be. 18757 18758 - Copy&paste support working, using Mark's changes to backend.c, Ben 18759 Nye's changes to xboard.c for FEN positions, and some code of my 18760 own in xboard.c for PGN games. 18761 18762 - Premove hooked up and working. No pre-first-move, though. 18763 18764 - ICS Alarm hooked up and working. 18765 18766 - Auto-flip working. 18767 18768 - PGN Training mode hooked up and working. 18769 18770 - Improved menu item enable/disable working. 18771 18772 - Improved >> button working. 18773 18774 - Auto activate board working. I changed this to be optional; you 18775 might not always want it, especially in Zippy mode. 18776 18777 - Blindfold working. 18778 18779 - Documentation updated. 18780 18781* Fixed more colorization bugs. Commands like "message foo tells you: 18782xxx" and "tell 33 tells you: xxx" will no longer generate bogus 18783colorization. 18784 18785* Added low-tech sound support to xboard, by invoking an external 18786program on a filename for each sound to be played. 18787 18788* ICC wild 27 is now recognized as VariantAtomic, and it sets the 18789"ignore check" flag, but is not otherwise supported. 18790 18791* Converted the piece bitmaps from .bm to .xpm for use with xboard's 18792xpm support. (An .xim version was not created.) Wrote a shell script 18793using ImageMagick to do the conversion and to bucket fill from 18794coordinate 0,0 with the background color. Used xpaint by hand to 18795clean up a few pieces where background color "leaked" into the inside 18796or didn't flow all the way around the outside, then a sed script to 18797fix up color names and bitmap names in the xpaint output. If any more 18798sizes are added later, they should be straightforward to convert with 18799reference to the existing scripts. With this conversion, not only do 18800the white pieces now have dark borders, but (unlike with WinBoard) the 18801light details on the black pieces are opaque. 18802 18803* If the XPM library is found when building xboard, the new xpm pieces 18804are compiled in as the default. External bitmap (or xpm) pieces can 18805still be used by giving the -bitmapDirectory (or -xpmDirectory) 18806option. If the XPM library is not found, the old bitmap pieces are 18807the default. In this case external bitmap (or xim) pieces can be used 18808by giving the -bitmapDirectory (or -xpmDirectory) option. There is no 18809way to compile in xim pieces. 18810 18811Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000 18812Mark Williams 18813 18814* Bugfix release. 18815 18816* Main menu now visible in Win NT. Thanks to Microsoft for creating a 18817compiler which auto-mutilates the WinBoard.rc file so that the menu is 18818displayed under Win 98 but not Win NT. I fixed the problem by hand editing the 18819.rc file. Sigh. 18820 18821* "Reset game" now works properly when invoked from Analysis mode when two 18822engines are present. Correction of bug introduced in Winboard Plus. Thanks to 18823Mogens Larsen for reporting the bug. 18824 18825* Pasting a FEN position with Black to move now works in all modes. 18826Thanks to Mogens Larsen for reporting the bug. 18827 18828* Added gnuchess.dat to the distribution and a couple of text files that were 18829missing in 4.0.7. 18830 18831*** Merged in the following changes from Tim Mann: 18832 18833* Bugfix: Highlights would sometimes not be taken down, at least in 18834xboard. The problem is that SetHighlight works in chess coordinates, 18835not view coordinates, so if flipView has been toggled since the 18836highlight was put up, it gets taken down from the wrong square. Fixed 18837by being careful to call ClearHighlights before toggling flipView, not 18838after. Ugh. 18839 18840* Bugfix: HighlightLastMove would sometimes highlight square a1 after 18841a FICS "tomove black" command. 18842 18843* Bugfix: a move list with initial position that has black to play was 18844not being handled correctly. 18845 18846* Removed "decline abort" and "decline adjourn" commands from Zippy. 18847The syntax is changing on FICS, and Zippy really doesn't have to 18848explicitly decline the requests anyway; it's sufficient to not accept 18849them. 18850 18851* ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC 18852calls it "giveaway"). 18853 18854* Bugfix: PGN games with black to move in the initial position weren't 18855being legality checked correctly. I think this was introduced in 188564.0.6 when I fixed a different PGN bug. Thanks to Mark Williams for 18857spotting the bug and suggesting a fix. 18858 18859* Bugfix: the initial "name(" of a kibitz wasn't being colorized. 18860 18861Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000 18862Mark Williams 18863 18864* New white pieces with black borders. 18865 18866* Major overhaul to Options menu. New dialogs for setting General Options, 18867 Board Options, ICS Options, Sounds, Fonts, Colors. 18868 18869* Clipboard support for PGN game scores and FEN positions. 18870 18871* Optional ICS Premove with user-specified first moves for White and Black. 18872 18873* New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm. 18874 18875* New auto-flip option when playing against a chess program. 18876 18877* Added PGN Training mode. 18878 18879* Certain menu options now disabled while program is thinking. 18880 18881* ">>" button now always goes to the end of the game. 18882 18883* In ICS mode, the board is automatically activated at the start of a 18884new game. 18885 188864.0.7 -- Sun Mar 5 17:17:49 PST 2000 Tim Mann 18887 18888* Fixed a nasty bug in parsing ICS game histories that was introduced 18889in 4.0.6. 18890 188914.0.6 -- Fri Mar 3 16:20:11 PST 2000 Tim Mann 18892 18893* Fixed bugs in Zippy's code for responding to messages sent with the 18894ICS "message" command. 18895 18896* Fixed bugs where xboard could still create dialogs partially off the 18897top of the screen. Fixed unwanted interactions between initial sizes 18898and positions of various unrelated xboard dialogs. Deleted 18899borderXoffset and borderYoffset resources. 18900 18901* Fixed restoring the xterm name on exit to work in more cases. 18902 18903* Small fix to the WinBoard self-extracting installer: when it starts 18904up, it now always deletes any old wb-setup directory left over from a 18905previous installation. Formerly this worked only on Windows 95/98, so 18906on NT the self-extractor would sometimes stop and ask the user whether 18907it was OK to overwrite the old wb-setup files. 18908 18909* Modified WinBoard to be compilable with the free Cygwin tools 18910available from http://sourceware.cygnus.com/cygwin/. Based on work by 18911Mark Schoenberg. (His mods were enough to get WinBoard through the 18912compiler, but a few things were broken along the way, so I reworked them.) 18913 18914* Merged changes from Don Fong to make WinBoard compilable with 18915Borland C++ 4.5. I do not have Borland C++ and am unable to test with 18916it, but I did make sure the changes don't stop it working with MSVC++ 189175.0 and Cygwin. 18918 18919* Forbade entering TwoMachines mode from MachineWhite or MachineBlack 18920mode when machine is on move. This used to confuse the engine and 18921cause problems, because when we try to get the engine to stop, it 18922might make a move first, and it might not do that immediately. 18923 18924* Variant classification now deals with new ICC wild 25, classifying 18925it as "3check". Also, we are now conservative about new wild numbers 18926we don't know about, classifying them as "unknown" instead of 18927"normal". 18928 18929* Replaced bad GNU Chess 5.00 book in WinBoard distribution with a 18930correct one. 1.e4 now no longer takes GNU Chess 5.00 out of book! 18931Thanks to Pete Galati. 18932 18933* Made move parser accept and ignore nonstandard ep suffix on PGN moves, 18934e.g., "exf6ep" or "exf6e.p." 18935 18936* Fixed bugs in parsing PGN files starting with no move number, or 18937with a move number other than "1." (including "1..."). Thanks to 18938Michael Soulier and Stefan Zipproth for example PGN files 18939demonstrating the bugs. 18940 18941* Changed InitComboStringsFromString to not modify the input string; 18942this caused an exception when WinBoard was compiled with MSVC++ 6. 18943Thanks to Bert Tuyt for the report. 18944 18945* In WinBoard, dragging a piece off the edge of the board without 18946releasing the mouse button no longer instantly aborts the move. You 18947still must release the mouse button inside a square to complete a 18948move, but you can now drag off the edge and come back inside. 18949 18950* WinBoard bugfix: If you went into EditGame or EditPosition mode 18951while observing or playing an ICS game, and a new move came in 18952(snapping you back to ICSClient mode) while you were dragging a piece 18953around, the drag state would not be reset, causing the piece you were 18954dragging to remain on the board wherever you dropped it. Thanks to 18955David Brinegar for the bug report. 18956 18957* WinBoard bugfix: If you moved or resized the board while your 18958opponent was moving, and you had AnimateMoving on, his move would not 18959be displayed until after your next move. Thanks to DAV for reporting 18960the bug repeatedly until I finally understood it. 18961 18962* Added a Zippy "farewell" feature; see zippy.README. 18963 18964* Fixed a bug (xboard only) in processing -zippyReplayTimeout on the 18965command line. Thanks to Steve Beer for the report and patch. 18966 18967* Send "computer" command to both sides in TwoMachines matches. 18968 18969* Fixed a Y2K bug in Evan's cmail code! Thanks to Brian Mays for the 18970report and patch. 18971 18972* Bugfix: Initialize variant field of GameInfo struct in gameinfo.c. 18973This could cause crashes in LoadGame. Thanks to Andrzej Nagorko. 18974 18975* Fixed several pattern matching problems: Finger notes and formula 18976vars no longer get replied to by zippyTalk or colorized. Channel 18977tells by players with many titles are now colorized fully, and 18978zippyTalk handles channel tells by such players correctly. The shout 18979"--> foo(99): bar" no longer gets colorized as a channel tell. Code 18980is cleaned up a bit, and autocomment capture now uses the same 18981criteria as colorization. 18982 18983* xboard fix: Enter key now closes error popups as in WinBoard. 18984Especially nice for the "Exiting: Connection closed by ICS" popup. 18985 189864.0.5 -- Tue Dec 7 10:30:40 PST 1999 Tim Mann 18987 18988* Added missing documentation of SIGTERM usage into engine-intf.html. 18989 18990* Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as 18991-zippyReplyTimeout. Thanks to Francesco Di Tolla. 18992 18993* xboard -ics now restores the xterm's original title upon exit, at 18994least if $WINDOWID is set. 18995 18996* Bugfix: -matchGames mode wasn't terminating properly. Final score 18997popup would come up twice and engines would not be killed off. Thanks 18998to Frank Quisinsky for the bug report. Bug was introduced in 4.0.4. 18999 19000* Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout; 19001similarly for "...s-shouts:" and "...c-shouts:". Thanks to David Lee 19002for the bug report. 19003 190044.0.4 -- Fri Dec 3 17:51:27 PST 1999 Tim Mann 19005 19006* Bug fix: formerly if you invoked SaveGame from EditPosition mode 19007with black to play, the position was not saved properly. As a quick 19008fix, SaveGame now takes you out of EditPosition mode before saving. 19009 19010* Changed -matchGames to keep track of the score (won-lost-drawn) and 19011display it in the banner. The final score is displayed in a modal 19012popup before the program exits. 19013 19014* Changed "Connection closed by ICS" to display in a model popup 19015before the program exits. 19016 19017* Added -popupExitMessage option, default on. Setting this to false 19018suppresses the modal popups that you sometimes get just before 19019xboard/winboard exits -- both the two new ones listed above and the 19020existing Fatal Error popup. This is useful when running Zippy 19021unattended from a shell script (or .bat file) that loops and starts a 19022new copy after a time delay when there is an error. 19023 19024* In xboard, added missing support for WM_DELETE_WINDOW to all 19025windows. This makes xboard a better citizen, and is much needed with 19026the newer X window managers that put an [X] button on every window and 19027bind it to "kill application" if the applicationd does not support 19028"delete window". We can't allow xboard to be thoughtlessly killed, 19029since that leaves the chess engine running in the background. 19030 19031* We now avoid positioning tops of xboard dialog boxes offscreen. 19032 19033* zippy.lines can now use the caret ('^') character as an inter-saying 19034separator. You no longer need to dig up a text editor that can put NUL 19035('\000') characters in text files. 19036 19037* Bugfix: In traditional chess clock mode, White now gets time added 19038to its clock as soon as it makes time control. Previously both White 19039and Black got their time added only when Black made time control, 19040which would cause some engines to make their 41st move as White too 19041quickly, thinking they were low on time. 19042 19043* The zippyAcceptOnly feature no longer sends a decline command or 19044a tell. Thus you can use it to put Zippy into a manual accept mode. 19045 19046* Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a 19047personal tell; similarly for "...whispers:" and "...kibitzes:". 19048 19049* WinBoard no longer blanks the message line when you start a new 19050move, unless there was an error message there from the previous move. 19051 19052* WinBoard now never puts the white piece drop menu on the middle 19053mouse button. Both colors are always on the right button. Windows 19054users often don't think to look for a middle button menu, or don't 19055really have a working middle button despite what Windows says. 19056 19057* Guest login handles on ICC are now parsed again; an ICC wording 19058change had broken this feature. 19059 19060* Autodetect when the engine does not support the "draw" command and 19061don't relay the command to it in that case. Needed because sending an 19062unsupported command to GNU Chess makes it move immediately, so people 19063could make Zippy move without thinking by continually offering a draw. 19064Thanks to Frank Walker for the problem report. 19065 19066* Small changes based on code from Robert Jurjevic: The WinBoard 19067analysis window can be minimized (though not to the taskbar). The 19068WinBoard ICS Interaction window will autoscroll if you drag the mouse 19069above or below the window while selecting, and password entry mode 19070leaves the entry line as the background color instead of using 75% 19071gray. Seeks are now colorized with a new color of their own. 19072 19073* Added -zippyMaxGames feature. 19074 19075* -zippyNoplayCrafty command line option was missing in xboard; fixed. 19076Thanks to John Perry. 19077 19078* Fixed bug in detecting when Zippy loses his bughouse partner. 19079Thanks to Ben Dean-Kawamura. 19080 19081* allobs fix in 4.0.3 didn't work; corrected it. 19082 19083* WinBoard will now update the board immediately if a move is made 19084while the window is being moved or resized. 19085 190864.0.3 -- Sun Aug 15 18:44:39 PDT 1999 Tim Mann 19087 19088* Bugfix: moved winboard wizard functions that send a command directly 19089to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2. 19090Ctrl+Alt is equivalent to the European AltGr key, so the old assignments 19091conflicted with typing an @-sign on some keyboards. 19092 19093* Bugfix: prevent "If this message stays up, your chess program does 19094not support analysis" from appearing if AnalysisMode is selected when 19095already in Analysis or AnalyzeFile mode. Also, deleting analysis window 19096in WinBoard now switches you to EditGame mode, to avoid the anomaly of 19097being in an analysis mode with no analysis window present. 19098 19099* Change all Zippy environment variables to work as command line 19100options. For now they still work as environment variables too, but 19101the environment variables are deprecated. 19102 19103* Use unsigned long to hold node counts from engines. 19104 19105* Print error instead of crashing on attempts to use xpm or xim pieces 19106in monochrome mode. Thanks to Jim Torrance for the bug report. 19107 19108* Tightened pattern recognition for ICS messages sent to Zippy; should 19109no longer match ICC allobs output. Fixed recognition of when Zippy is 19110sent a message; small change to FICS output had broken it. 19111 19112* Zippy now exits if the engine dies unexpectedly. 19113 19114* Added Zippy "spoofedby" feature; see zippy.README. 19115 19116* Narrowed the margins on some older WinBoard dialogs to make their 19117style uniform with the newer ones. 19118 19119* Bugfix: Changing Ponder Next Move from the Options menu did not take 19120effect until the next game. This bug was in WinBoard only. Thanks to 19121Stefan Zipproth for the bug report. 19122 19123* Got rid of "Internal error: bad move type" message when the engine 19124makes a move that we can parse but think is illegal. Now the move is 19125just passed on (which also may be the wrong thing to do). 19126 191274.0.2 -- Thu Feb 25 19:55:32 PST 1999 Tim Mann 19128 19129* Added one more built-in sound choice to WinBoard: move.wav from Pete 19130Galati. 19131 19132* Added new larger piece sizes: big, huge, giant, colossal, titanic. 19133 19134* Modified the xboard font searcher to be able to use scalable fonts. 19135The new -fontSizeTolerance flag controls how closely a nonscalable 19136font must match to be used in preference to a scalable font. 19137 19138* Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control 19139whether Zippy will accept abort and adjourn requests. 19140 19141* We now determine the variant type being played on ICS, send it as a 19142command "variant VARTYPE" to the chess engine (if in Zippy mode), and 19143put it in the PGN tags. See engine-intf.txt for variant names. See 19144ZIPPYVARIANTS in zippy.README to control what variants Zippy will 19145accept. Note that this now applies to bughouse, too. 19146 19147* Zippy now won't do -zippyTalk in a channel unless his handle is 19148mentioned there. 19149 19150* Zippy now ignores bughouse holdings if not actually playing, instead 19151of stupidly trying to abort the game. Let me know if other strange 19152things happen when Zippy is observing a game. 19153 19154* Set ICS Interaction title bar to "user@server". User name is 19155determined by parsing message during the login sequence. Zippy now 19156uses this method to get its name too, so ZIPPYNAME is eliminated. 19157Problem: with xboard, the title bar gets set to "xterm" upon exit, 19158since we didn't know what it was to start with. 19159 19160* Fixed xboard-only bug in -colorChannel1 command line option. Thanks 19161to Fredrik Sandstrom for the bug report and fix. 19162 19163* Check for overflow of MAX_MOVES. Still not sure this is checked for 19164everywhere it needs to be. 19165 19166* Added .epd to suffixes recognized by WinBoard as position files. 19167This is a bit of a kludge, as the .fen reading code was not written 19168with .epd files in mind, but reading them with it is said to work. 19169 19170* Added ZIPPYGAMESTART feature, suggested by Jason Hoblit. See 19171zippy.README. 19172 19173* Restored the feature of soaking up the moves from a user-typed "moves", 19174"oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but 19175changed it so that the move list is also echoed to the screen. Some folks 19176still liked the old feature since it is faster than examine mode, and 19177printing the moves to the screen should eliminate the confusion it caused 19178for other people. 19179 19180* Bugfix: in WinBoard, starting a click-click move and then clicking on 19181a black line would cause the source square to be forgotten without taking 19182the highlight down. Now the errant click is ignored. 19183 19184* Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's 19185File menu. Thanks to Andreas Stabel for the bug report. 19186 19187* Bugfix: if you had a completely full ICS context menu in WinBoard 19188(90 items), the last one would do nothing if selected. 19189 19190* The "computer" engine command added in 4.0.1 was not working; I had 19191left out part of the code patch. Oops. 19192 191934.0.1 -- Fri Feb 12 21:24:15 PST 1999 Tim Mann 19194 19195This is a minor bugfix release. The first item listed below is the 19196only interesting new feature. 19197 19198* You can now type in moves from the keyboard in WinBoard. Either 19199select TypeInMove from Step menu, or (if you are not in ICS mode), 19200just start typing. In ICS mode you can type moves into the ICS 19201interaction window anyway, so I've retained the feature that typing 19202switches you there. Not implemented in xboard. 19203 19204* Removed the "noise 1000" command that used to be sent to the chess 19205engine when entering analysis modes. 19206 19207* Deleted the feature where we soak up the output of a user-typed ICS 19208"moves" or "oldmoves" command. This ancient feature is not really 19209useful anymore, now that "examine" exists, and it caused a lot of 19210complaints. 19211 19212* Increased maximum size of ICS text menu to 90 entries and added 19213overflow checking. 19214 19215* The command sent to ICS by Zippy at the end of each game can now be 19216customized with the ZIPPYGAMEEND environment variable. 19217 19218* We treat xboard.info as a pseudo-source since most people don't have 19219the tools to rebuild it. But "make install" erroneously had a 19220dependency on it, even though "make all" did not. Fixed. 19221 19222* Miscellaneous minor updates and clarifications to engine-intf.txt. 19223In particular, documented the st and sd commands (support for command 19224line options -searchTime and -searchDepth), warts and all. 19225 19226* Added a small code patch from Bob Hyatt to detect when Zippy's ICS 19227opponent is a computer and send the command "computer" to the engine. 19228Added this command to engine-intf.txt. Thanks, Bob. 19229 19230* Bugfix: configure was looking for usleep(), but config.h.in didn't 19231have an entry for it, so HAVE_USLEEP was never defined. Also, in the 19232non-HAVE_USLEEP case, there was a possible race condition between the 19233signal handler and the pause() call. Thanks to Ben Dean-Kawamura for 19234the bug reports. 19235 19236* Bugfix: a "1..." preceding Black's first move (usually present if 19237there is a comment on White's first move) would cause the parser 19238to think a new game started there and report "End of game" on the 19239current game. Thanks to Dell Garner for the bug report. 19240 19241* Changed the abbreviation for -searchDepth from -sd to -depth to fix 19242a clash with -secondDirectory. 19243 19244* Changed -searchDepth to be orthogonal to the various timing options. 19245Previously it would search for an unlimited time to the given depth; 19246now the engine is allowed to choose its search time in the normal way, 19247but is told to cut off the search early if it reaches the given depth. 19248 19249* Bugfix: SaveSettings in WinBoard was saving both the long form 19250option highlightSquareColor and its abbreviation (hsc). 19251 19252* Fixed a redisplay bug in DisplayBothClocks that could cause White's 19253clock to be highlighted in EditPosition mode when Black's should have been. 19254 19255* Fixed Zippy's feature of passing on draw offers from the ICS opponent. 19256The colorization code was eating the offer before Zippy saw it, so I disabled 19257colorization of offers while in -zp or -zt mode. (Other types of 19258colorization are already disabled in Zippy mode for similar reasons.) 19259 19260* Added some more commands to the default ICS context menu in WinBoard, 19261and put "(name)" on the ones that insert a playername (or game number). 19262 19263* Added missing documentation to WinBoard help file: PonderNextMove, the 19264-ponder/-xponder argument, and the up/down arrow history feature in the 19265ICS Interaction window. 19266 19267* Fixed ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty, 19268not if some other Crafty is observing the game and kibitzes. 19269 19270* Fixed bugs in generating "partner" commands when Zippy is playing 19271bughouse. 19272 192734.0.0 -- Sat Jun 20 16:59:47 PDT 1998 Tim Mann 19274 19275* Fixed WinBoard resizing so that the edges you do not drag remain in 19276place, even when the final size is different from what you dragged to. 19277(This doesn't work on NT 3.51 or earlier, if anyone cares.) 19278 19279* Fixed problems with resizing WinBoard on Windows NT: you no longer get 19280whitespace around the board, a clipped board, or a lot of flashing during 19281the drag. 19282 19283* Added customization for highlight-square color. 19284 19285* Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't 19286work in WinBoard. 19287 19288* Added Index Number field back to LoadGame/LoadPosition dialog boxes in 19289WinBoard. This required some extra code to work with both the 19290Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes. Ugh. 19291 19292* WinBoard startup dialog now understands -zp mode. The first chess 19293engine selector is enabled and the value is used. 19294 19295* Bugfix: ResetGame would send "exit" to engine twice if it was in an 19296analysis mode. 19297 19298* Bugfix: The response "Illegal move: bk" to the "bk" command, indicating 19299that it is not implemented, would confuse xboard. 19300 19301* Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message 19302saying that some bogus string (often "Hint:") is illegal. 19303 19304* Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken. 19305 193063.6.12 -- Sat Jun 13 14:57:10 PDT 1998 Tim Mann 19307 19308Beta test release of xboard and WinBoard. 19309 19310* Spruced up xboard man page a bit. 19311 19312* Added Highlight Last Move to xboard too. 19313 19314* The revamped xboard mouse click code had several more bugs than the 19315previous version, so I revamped it again. All fixed now, I hope. 19316 19317* xboard bugfix: crash in CreatePieceMenu. 19318 19319* Oops. winboard-3_6_11beta.exe installed 3.6.10beta, not the new version. 19320 193213.6.11 -- Fri Jun 12 20:00:48 PDT 1998 Tim Mann 19322 19323Beta test release of xboard and WinBoard. 19324 19325* Major reorganization to engine-intf.txt. Some new features added, 19326many existing features clarified and hints for engine programmers added. 19327Support for new features added to program. 19328 19329* Changed defaults for -scp (etc.) back to being independent of -fcp, as 19330in 3.6.2. That is, the default is no longer to copy the value from -fcp if 19331-scp is not specified. This will sometimes make command lines longer but 19332will remove some confusing situations. 19333 19334* Split -reuseChessPrograms into two options: -reuseFirst and 19335-reuseSecond. Fixed obscure bugs when reuse is off. 19336 19337* Detect ICC and change some command usage slightly there: only ICC has 19338set-quietly; only FICS has iset and bsetup clear. With this feature, we 19339can now safely use bsetup clear when appropriate instead of deleting each 19340piece one by one. 19341 19342* Added indent to lines that are wrapped by WinBoard ICS Interaction 19343window. This seems to tickle a Microsoft bug in the RichEdit control: 19344occasionally the start of the next line after the wrapped line is indented 19345too. I think the wrapped indent feature is useful enough that it's worth 19346having in spite of the bug. 19347 19348* WinBoard bugfix: bounding box for the board was computed incorrectly by 19349mouse code. It would think you moved off the bottom of the board before 19350you really did, so it was hard to drag pieces along the bottom rank on 19351smaller board sizes. 19352 19353* Fixed obscure parser.l bug: ambiguity between capture using : instead of 19354x and email header line. Also removed or simplified a lot of complex 19355patterns for English (as opposed to PGN) end-of-game indications while I 19356was in there. 19357 19358* Added PonderNextMove option. 19359 19360* xboard EditPosition piece menus now let you set the side to play by 19361selecting the "White" or "Black" label at the top of the menu, like 19362WinBoard. (Both xboard and WinBoard still let you set the side to play by 19363clicking on the clock.) 19364 19365* Merged documentation of Crafty and GNU Chess thinking output in 19366engine-intf.txt. Corrected code in backend.c to match documentation; it 19367used to require the PV to start in column 27 (!). 19368 19369* Fixed bug that caused crashes in "-reuseChessProgram false" mode. 19370 19371* Draw by agreement in Two Machines mode now works as it is supposed to. 19372Other minor bugs in handling game end messages from machines are also 19373fixed, and engine-intf.txt is revised in this area. 19374 19375* Revamped xboard code for handling mouse clicks on the board. In 19376particular, it had a bug if a click-click promotion move was made. 19377 19378* Fixed and reinstated optimization for << in analysis modes: send 19379initString and re-send the board if needed. Sending repeated undos 19380is bad because Crafty prints some analysis after every one. 19381 19382* Don't go into a spin loop while pausing between xboard animation frames. 19383This caused problems, especially when compiling with -O2 on HP-UX. 19384 19385* WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome 19386if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults. 19387This seemed to confuse people before. 19388 19389* Bugfix: ICS Interaction context menu items with neither of the two 19390optional flags set did not work. 19391 19392* Bugfix: PGN move numbers are optional, but we were insisting on "1" 19393right after the tags. 19394 19395* Bugfix: only the first game of an -mg match was loading -lpf or -lgf. 19396 19397* Other minor fixes and code cleanup. 19398 193993.6.10 -- Mon Jun 1 01:32:31 PDT 1998 Tim Mann 19400 19401* Added ZIPPYNOPLAYCRAFTY feature; see zippy.README. 19402 19403* Added timestamps for chess engine interaction to -debug output. 19404 19405* Now allow 10 seconds (was 5) between games in match mode for engines to 19406respond to "force" command that ended previous game. 19407 19408* When a game is picked from the game list and the names of White and 19409Black are known, display them in the window banner instead of the filename 19410and game number. 19411 19412* Changed default for -scp and -sd to be the values of -fcp and -fd. 19413 19414* Added boxes for both engines to WinBoard startup dialog. Changed to 19415dropdown boxes whose content can be set from winboard.ini, similar to 19416the box for ICS name. 19417 19418* Accept "offer draw" (or "*offer*draw*") from engine to offer a draw. 19419 19420* Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax. 19421 19422* Added support for bughouse engines (Zippy mode only). 19423 19424* Move bombproofing for engines sending illegal or out of turn moves. 19425 19426* Always send "xboard\n" to engine as first command. Eliminates need 19427to run crafty as "crafty xboard". 19428 19429* Rewrote xboard code for input from engines to fix longstanding bugs. 19430Previously an engine that sent one line in two separate writes with 19431some time lapse in between (or perhaps that sent several lines in one 19432write) could make xboard hang. WinBoard did not have this bug. 19433 19434* Fixed minor bugs in dealing with illegal moves. 19435 19436* Added "iset startpos 1" for FICS. 19437 19438* Removed special support to put "GNU Chess" or "Crafty" in the window 19439banner instead of the engine's base filename. This gives a more level 19440playing field for other engines. Also fixed bugs in the code that finds the 19441engine's base filename. 19442 19443* Bugfix: Abort or Resign at the very start of a game in chess engine mode 19444would fail to send "force" to the engine. 19445 19446* Fixed some minor bugs in new "result" messages, and changed format to 19447include a trailing PGN comment giving the reason the game ended. 19448 19449* Changed syntax of /font options in WinBoard; old syntax was assuming 19450that a font name can't contain a digit, which is wrong. Old font names in 19451WinBoard.ini files are still accepted. 19452 19453* Serious further work on getting WinBoard to read/write files in the 19454"right" directories and documenting exactly what it does. 19455 19456* Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition. 19457 19458* Misc. tiny fixes and cleanup. 19459 194603.6.9 -- Sun May 24 20:53:08 PDT 1998 Tim Mann 19461 19462xboard and WinBoard beta release. 19463 19464* Tightened up illegal move handling. Illegal or meaningless moves from a 19465file or chess engine should no longer get translated into a1a1 and blindly 19466applied. Explicit moves to the same square (like a1a1) no longer make the 19467piece on that square capture itself and vanish. 19468 19469* Added AlwaysOnTop feature to winboard. 19470 19471* Fixed bug in winboard "@" command line indirection operator. 19472 19473* Removed buggy "optimization" code for ToStart in analysis modes. 19474 19475* Fixed typo bug in zippy.c that would often cause winboard to crash 19476right after starting a game in -zp mode. 19477 194783.6.8 -- Sat May 23 22:23:19 PDT 1998 Tim Mann 19479 19480xboard and WinBoard beta release. 19481 19482* Added -firstDirectory and -secondDirectory so that chess engines can 19483be started in a different directory from xboard/WinBoard itself. 19484 19485* Added -matchGames to allow more than one game in -matchMode. The games 19486are played with colors alternating between the two chess engines. Had to 19487add a time delay at the end of each game to catch up with game ending 19488messages from both chess engines -- yuck. 19489 19490* Changed TwoMachines mode to have firstChessProgram play White by 19491default. Added -firstPlaysBlack to restore old behavior. 19492 19493* Major rework of code in backend.c for dealing with first and second 19494chess engines. Generalized the code and created a struct type with one 19495instance for each engine. Several small bugs fixed along the way. 19496 19497* Fixed bugs in Abort in local chess engine mode. 19498 19499* Tightened pattern matching to recognize moves from machine. Should cure 19500bogus "Illegal move" errors while Crafty is pondering with Show Thinking 19501on, among other things. 19502 19503* WinBoard keeps focus in board window after popping up a comment due to 19504Forward/Backward/ToStart/ToEnd commands. 19505 19506* Finally got rid of warnings on compiling moves.c under Windows. 19507 19508* Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not 19509defined. 19510 19511* Removed various bits of unused code. 19512 19513* Parse (and ignore) NAGs in PGN files. 19514 19515* Updated engine-intf.txt. 19516 19517* Send "result R" to the chess program at the end of each game, where 19518R is the PGN result 1-0, 0-1, 1/2-1/2, or *. 19519 19520* Bugfix: suppress animation when loading a game with timeDelay=0. 19521 19522* Bug fix: pondering output from Crafty that contained "..." could be 19523mistaken for a move, causing bogus error messages and general chaos. 19524 19525* xboard "make clean" bug fix: moved things created by configure to be 19526removed only by "make distclean". 19527 19528* Fixed a remaining case where move was being animated before being 19529relayed to opponent. 19530 19531* Backend was reversing time/otim commands to the chess program (new bug), 19532and was often not sending them on the first move of a game or the first 19533move after a mode change (old bug). Fixing the latter required a kludge 19534to work with both GNU Chess and Crafty, because Crafty swaps white and 19535black clock times when it swaps sides, while GNU Chess does not. The 19536kludge is that we always make sure the chess engine thinks its opponent is 19537on move before we set the clock. This will sometimes result in sequences 19538like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and 19539black interchanged. 19540 19541* Removed last trace of old -whiteString and -blackString arguments. 19542 19543* Fixed so that you can type "bd" into the Direct Command dialog when 19544debugging gnuchess, without having xboard parse the clock display 19545(starting with "White") as "White wins" and end the game. 19546 19547* Changed moves.c to make a distinction between IllegalMove (where we 19548could tell what move was intended, but it violates the chess rules) and 19549MeaninglessMove (where we could not tell). This is a step towards getting 19550rid of cases where we translate meaningless moves into "a1a1", but some 19551work is probably needed to track them all down. 19552 19553* Fixed bug in WinBoard monoMode dragging. 19554 19555* Changed WinBoard to new style file dialogs. In the process, disabled 19556the feature that let you enter the index number of a game or position within 19557the file in the dialog. This is no loss in LoadGame, as you can pick your 19558game from the game list dialog that follows, but it does remove some 19559functionality from LoadPosition. 19560 195613.6.7 -- Mon May 18 21:25:00 PDT 1998 Tim Mann 19562 19563xboard and WinBoard beta test release. I've been unable to reproduce some 19564reported drawing bugs, so they may still not be fixed. 19565 19566* Changed PopUpErrors option to PopupMoveErrors, which is more useful, and 19567changed default to off. Errors other than move errors should always be in 19568popups; they are often too big for the message area and too important to 19569put where they can be easily missed. But it seems good to get rid of the 19570popups for move errors by default. 19571 19572* xboard analysis window no longer forces itself to top whenever there is 19573new output. Also, now uses built-in Xaw word wrapping instead of trying 19574to do its own; works better. 19575 19576* Bugfix: Reset did not take Crafty out of analyze mode. 19577 19578* A chess engine no longer has to claim to be Crafty to be able to use 19579AnalysisMode and AnalyzeFile; it just has to implement the analyze 19580command as Crafty does. Put in heuristics to generate more informative 19581error messages if the engine does not support analyze, and checked that 19582they work at least with GNU Chess. 19583 19584* Added click-click moving, HighlightLastMove, and HighlightDragging to 19585WinBoard. The highlight features are unlikely to go into xboard unless 19586the xboard drawing code is cleaned up to do *all* drawing on the board 19587from DrawPosition, as WinBoard does. This is low priority for me. 19588 19589* Eliminated bogus "Error gathering move list: no header" popup. You 19590could get this by observing two fast games at once without turning off 19591GetMoveList. 19592 19593* Disable WinBoard Sounds menu entirely in -ncp mode, since not even 19594MoveSound is used in that mode. 19595 19596* WinBoard bugfix: Several problems were caused if the user changed 19597WinBoard's current directory in a Load, Save, or Browse dialog. In 19598particular, WinBoard.ini would get saved in the wrong directory, and 19599sound .wav file names would not get saved with a full pathname. I think 19600all such problems are now fixed. 19601 19602* WinBoard bugfix: iconizing the board after an aborted mouse resize would 19603(partially) resize it to Tiny. 19604 19605* WinBoard bugfix: board was not being drawn in color on 256-color 19606displays. This bug was introduced in 3.6.6. 19607 196083.6.6 -- Tue May 12 17:43:43 PDT 1998 Tim Mann 19609 19610xboard and WinBoard beta release. Note: not all reported bugs are fixed. 19611 19612* Move animation in WinBoard, programmed by Henrik Gram. Great stuff! 19613 19614* Animate backward moves too. 19615 19616* xboard bugfix: -font (and friends) can now specify a font alias (such 19617as "fixed"), not just a full X Consortium name pattern. Previously this 19618would give a resource conversion error message. 19619 19620* Some coding style cleanup in xboard.c. 19621 19622* Earlier error check for moving wrong color piece in EditGame mode. 19623 19624* Completed fix to pattern matching; see 3.6.5. 19625 19626* Fixed some software rot bugs in Zippy. 19627 19628* Split AnimateDragging as separate option from AnimateMoves. 19629 19630* Added FlashMoves to options menu and -flash/-xflash to command line 19631options (xboard only). 19632 19633* Some preliminary work on visible bughouse holding support. Most of the 19634code is not present in this release because I have not gotten it working 19635properly yet; my first approach went down a blind alley and I had to 19636remove most of the partially working code in preparation for a rewrite. 19637 196383.6.5 -- Fri May 8 14:22:09 PDT 1998 Tim Mann 19639 19640Not generally released. 19641 19642* Pack bughouse holdings display in banner more tightly when board is one 19643of the smaller sizes (when smallLayout or tinyLayout is true, that is). 19644An interim measure, but should help. 19645 19646* Completed fix to make move list parsing recognize the end condition and 19647final comment. 19648 19649* Fixed pattern matching for chatter (tells, etc.) to be more reliable. 19650This should reduce the incidence of colors starting in the wrong place and 19651of incorrectly matching things that look like other patterns inside 19652chatter, such as "shout <12>". (These errors were already rare.) 19653 19654* WinBoard now lets you customize the list of ICS's in the startup dialog. 19655For now, at least, requires editing WinBoard.ini with a text editor. 19656 19657* Bug fix: WinBoard window sizing and position setting save/restore did 19658not work right when the taskbar was at the top (or left side) of the 19659screen and not in autohide mode. 19660 19661* Merged xboard click/click mode and drag mode, and deleted 19662ClickClickMoving option on menu. Now if you click on a piece, it 19663highlights and a further click on another square will move it. (A second 19664click on the same square takes down the highlight.) Or if you press down 19665on a piece and start to drag, you can drag it to a new square. 19666 19667* When making click/click style moves, if your second click is on a piece 19668of the same color, instead of saying "Illegal move", we now cancel the first 19669starting square, replace it with the second, and wait for another click to 19670finish the move. 19671 19672* Separate -secondInitString. Default: same as -initString. Suggested by 19673Remi Coulom. 19674 19675* Patch from Frank McIngvale to make animation work with XIMs. Yay! 19676 19677* Changed move animation to happen after move is passed on to ICS or the 19678chess engine, where applicable. Fixed problems with updating moveList 19679that this uncovered. 19680 19681* Changed game list to show PGN result token for each game. 19682 19683* The usual minor bug fixes. 19684 196853.6.4 -- Thu Apr 30 23:14:43 PDT 1998 Tim Mann 19686 19687xboard and WinBoard beta test release. 19688 19689* xboard documentation updated, both man page and info file. An attempt 19690to generate both from the same source with LinuxDocSGML was abandoned, at 19691least for now. WinBoard doc updated too. 19692 19693* Merged updates to animation code from Hugh. Fixed a couple of remaining 19694bugs, mostly to do with handling Pause mode correctly. 19695 19696* Added SaveSettingsOnExit to WinBoard. 19697 19698* WinBoard now saves the last screen position of the Comment, Edit Tags, 19699Game List, and Analysis windows (in addition to the board and ICS 19700Interaction windows) in WinBoard.ini. 19701 19702* WinBoard now provides a way to customize the right-button context menu 19703in the output area of the ICS Interaction window. For now, requires 19704editing WinBoard.ini with a text editor. 19705 19706* Various minor fixes to ICS message recognition, most affecting only Zippy. 19707 19708* Colorize the notification when someone sends you a message while you are 19709logged in, not the output of the "messages" command. 19710 19711* Fixed colorization to turn off at the right place more reliably. 19712 19713* Added a new color and WinBoard sound for "requests": abort, adjourn, 19714draw, pause, and takeback. The same color and sound are used for all of 19715these. 19716 19717* Added GUI to change sounds in WinBoard. 19718 19719* Suppressed WinBoard error popup when a sound can't be played. They were 19720popping up when two separate WinBoards tried to play a sound at the same 19721time (such as during a bughouse match). 19722 19723* Fixed WinBoard crash when a sound file didn't exist. 19724 19725* WinBoard ports of timestamp and timeseal now produce decent error 19726messages if they fail to connect, and WinBoard captures the messages and 19727puts them into a popup. Previously WinBoard would exit with no message on 19728such errors. 19729 19730* WinBoard resizing with mouse improved; now accurately picks the largest 19731size that fits in the new area. 19732 19733* Added option to turn off error message popups. 19734 19735* Added sizes slim, dinky, and teeny. 19736 19737* Fixed some minor problems with error message wording. 19738 197393.6.3 -- Mon Feb 23 19:08:57 PST 1998 Tim Mann 19740 19741xboard beta test release only. Man page is updated for the changes, but info 19742file is not. 19743 19744* Bug fix: LoadGame could not load a PGN game whose first move was 19745castling (which is possible from setup positions). 19746 19747* Bug fix: we were ignoring illegal move messages from chess engines in 19748modes where the engine is refereeing but not participating (EditGame, 19749LoadGame, AnalyzeFile). The problem was in a workaround for a Crafty bug, 19750where Crafty generates a bogus illegal move message if a "." (used by 19751the PeriodicUpdates feature) is sent in analysis mode when the current 19752analysis reveals a forced mate. Installed a different workaround (that 19753works in most but not all cases) and reported the Crafty bug. Bob Hyatt 19754replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so. 19755 19756* WinBoard only: enabled resizing board with the mouse. It snaps to the 19757nearest (but not too much larger) predefined size. 19758 19759* The xboard default font is now sized according to piece size, just as 19760clockFont and coordFont have always been. 19761 19762* Added more sizes: bulky, moderate, average, middling, mediocre, petite. 19763 19764* xboard only: Added Animate Moves and Click-Click Moving to Options menu. 19765 19766* xboard only: Added code to animate piece movement, from Hugh Fisher. 19767 19768* New feature: autoflag is implemented in MachineWhite, MachineBlack, and 19769TwoMachines modes. If it is on and either a chess program or the user 19770oversteps his time, xboard will automatically call the flag and end the 19771game. This feature was requested by someone who runs matches between 19772programs and wants to penalize GNU Chess for its habit of running slightly 19773over at the end of a time control. I personally think it's pointless. 19774 19775* Fixed a bug in Zippy's pattern matching; he can now reply to ICC 19776messages again. 19777 19778* Generate prettier notation for illegal moves. If a move is illegal only 19779because it leaves the player in check, generate notation as if that were 19780not illegal. For instance, if two knights are a knight's move away from 19781f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to 19782move the g1 knight, Nef3 to move the e5 knight. (Suggested by Philippe 19783Schnoebelen.) In addition, if a move is illegal because the type of piece 19784moved cannot go that way, would be jumping over another piece, etc., we 19785give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8, 19786d2xd8=Q, etc. An alternative would be to still write Ng3 if there is only 19787one knight on the board, or Ngg3 if the other knight is not on the g file, 19788but life is too short to code up all this stuff, and perhaps the way I did 19789it is better as it emphasizes that this move was really made despite being 19790illegal. I wonder if the new PGN standard revision will speak to notation 19791of illegal moves? 19792 19793* Fixed gross bug from 3.6.2: if a chess program said "checkmate" and 19794White was left on move, the PGN outcome was "1-0 {Black mates}" instead 19795of "0-1 {Black mates}"! The bug occurred only for that specific string. 19796 197973.6.2 -- Wed Jul 23 16:47:29 PDT 1997 Tim Mann 19798 19799* There was a bug in backing up from the end of a game against a chess 19800engine, introduced when -reuse mode was added. Fixed. 19801 19802* Recognize "{" as terminating an ICS move list. Previously we needed to 19803see a prompt (containing %), but occasionally ICC can send more stuff 19804right after a move list with no prompt in between. 19805 19806* In WinBoard, -mm now implies -cp, so you don't get the startup dialog. 19807 19808* WinBoard startup dialog no longer sets -scp. People used to get 19809confused because they would give the -fcp and -scp arguments, but omit 19810-cp. This would bring up the startup dialog, which would set both -fcp 19811and -scp to the value in the engine name box. Now you can change -scp 19812only with the command-line argument. That will confuse some people too, 19813but hopefully fewer. I think overall it's better than putting spaces for 19814both -fcp and -scp in the dialog, which would puzzle newbies. 19815 19816* Bug fix: Analyze File mode now works in WinBoard. 19817 19818* Bug fix: WinBoard window no longer cuts off part of the bottom row if 19819the menu bar wraps to a second line. 19820 19821* Accept game end messages of the form "PGN-result {comment}" from the 19822chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2. Accept "resign" 19823or "computer resigns" from the chess engine as a synonym for "0-1 {White 19824resigns}" or "1-0 {Black resigns}". Accept any message from the chess 19825engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}". 19826Accept "White resigns" or "Black resigns". 19827 19828* Enable "Action / Draw" menu item in chess engine mode. It sends the 19829command "draw" to the engine. Accept any message from the chess engine 19830containing "offers a draw" as a draw offer. WARNING: Draw offers from the 19831user and the engine (or from two engines) are not yet matched up by xboard 19832in chess engine mode. Two engines could get into a loop offering each 19833other draws. 19834 19835* Bug fix: Game end messages from the chess engine are always ignored in 19836Zippy mode. Previously they could sometimes be processed, which was 19837sometimes making Zippy hang at the start of a new game that followed 19838quickly after an old one. 19839 19840* Zippy can now respond to titled players in channels. Zippy will avoid 19841talking to himself in a channel if he knows his own name. 19842 19843* Bug fix: in colorization arguments, the bold setting was being ignored 19844if the background color was defaulted. (xboard only.) 19845 19846* Extended ParseFEN to accept Crafty 12.2's interpretation of FEN. 19847If fewer than 8 squares are given in a row, or fewer than 8 rows are 19848given, the uncovered squares are empty. Also, there can be a / after the 198498th row. 19850 198513.6.1 -- Sat May 17 01:02:33 PDT 1997 Tim Mann 19852 19853* Bug fix: Hitting escape while entering a password on WinBoard no longer 19854sets the font color back to black (which made further typing visible). 19855 19856* Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would 19857often hang if you tried to exit with the Exit menu item, the [X] button, 19858etc. The same fix may also have corrected the problem where running a 19859chess program with /xreuse would sometimes crash Windows 95 (but not NT) 19860when the chess program was killed and quickly restarted. 19861 19862* Bug fix: Periodic Updates would not work if turned on after having been 19863off. Also, the default was needlessly "off" in WinBoard. 19864 19865* Zippy bug fix: Continuing an adjourned game was totally broken. The 19866wrong moves, or no moves at all, were being fed to the chess program. 19867 19868* WinBoard change: Giving -ics without -icshost now pops up the startup 19869dialog with "Use an Internet Chess Server" pre-selected, so that you get a 19870menu of chess servers instead of going directly to ICC. 19871 19872* Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and 19873-icshelper in winboard.ini. This causes a problem if you use a different 19874icshost later that needs the default values for icsport (5000) and 19875icshelper ("", meaning none). 19876 19877* Disabled complaints about unexpected "[Ii]llegal move" messages from 19878the chess program; we still get them at times. 19879 19880* Greatly simplified the code for Move Now and SIGINT (ATTENTION). Fixes 19881the bug where Move Now did not work with GNU Chess in WinBoard, and 19882several more obscure bugs as well. Reintroduces a minor bug: GNU Chess might 19883not think on your time after a Move Now command. Trying to fix this 19884causes too many other problems. Documented change in engine-intf.txt. 19885 19886* Cleaned up code for obtaining ratings from ICS. It was kludgey and may 19887have had bugs on systems with no "Creating:" message. It should fail 19888gracefully there, just not finding the ratings. 19889 198903.6.0 -- Thu May 8 19:55:58 PDT 1997 Tim Mann 19891 19892* WinBoard now has right-button context menus in the ICS Interaction 19893window. Some of the items do immediate commands on the player name you 19894have selected or pointed to. (Suggested by Paolo Casaschi.) Also, the 19895middle button or shift+right does a immediate Copy and Paste. 19896 19897* Fixed a bug in Zippy's wild rejection. The bug was causing Zippy to 19898reject all forms of wild. Now it rejects only 1, 9, 16, 17, and 24, as 19899was intended. These variants have different rules, while the other 19900variants defined so far only have different starting positions. 19901(Actually, wild 2, 3, and 4 never allow castling, but may sometimes by 19902chance have king and rook start on squares where castling appears legal. 19903This could cause a problem later.) 19904 19905* Zippy now resumes adjourned games by feeding the chess program 19906the move list instead of the position. Setting -getMoveList to False 19907restores the old behavior. Feeding in the move list is better because 19908it enables the chess program to correctly handle en passant legality, 19909castling legality, draw by repetition, and draw by the 50 move rule. 19910 19911* Added a WinBoard startup dialog for people who run WinBoard.exe without 19912using the Start menu or reading the help file. Instead of being dumped 19913directly into GNU Chess mode, you now get a menu of choices. You now have 19914to give the new WinBoard -cp option to go directly into chess engine mode. 19915I did not add this feature to xboard. 19916 19917* Handling of "illegal move" from Crafty is now back on. (It was turned 19918off in 3.4.6; see below.) Crafty 12.0 doesn't seem to send bogus ones 19919anymore. I did have to suppress sending time and otim in analyze mode to 19920make this work, but there is no harm in that. 19921 19922* Zippy now sends "gameend" to ICS at the end of each game. You can alias 19923this to "seek" or whatever you like. 19924 19925* Added Crafty support for Move Now, using the "?" command. We test 19926whether this command exists by trying it once at the start of the first 19927game, before it really makes sense. If we don't get a message like 19928"Illegal move ... ?", we assume it's OK. (We're careful about this 19929because sending a "?" to GNU Chess on Move Now keeps it from pondering the 19930next move as it should.) 19931 19932* Added support for a tellusererror command from the chess engine. See 19933engine-intf.txt. 19934 19935* Attempted to make engine-intf.txt complete. 19936 19937* Minor fixes/cleanup to GameEnds code, to be sure we always interrupt 19938when needed, and always undo an extra move generated by stopping the chess 19939program while it is thinking. 19940 199413.5.7 -- Sat May 03 22:37:44 PDT 1997 Tim Mann 19942 19943Beta release of both xboard and WinBoard. 19944 19945* Updated xboard documentation. I really wish the man page was built from 19946the info file instead of being separate! It's a pain to update them both. 19947 19948* Updated documentation of the interface between XBoard/WinBoard and chess 19949programs, and renamed it to engine-intf.txt. 19950 19951* Added support for tellics, telluser, and askuser commands from the chess 19952engine. See engine-intf.txt. 19953 19954* Various bug fixes. On WinBoard, 256 color displays are finally handled 19955right; no more color flashing when you switch windows unless the colors 19956really need to be updated. Also, I think the problem of the console font 19957failing to change or changing back by itself is finally fixed. 19958 199593.5.6 -- Tue Apr 29 03:08:00 PDT 1997 19960 19961Beta release, WinBoard only. ChangeLog was out of date in release, 19962updated here. 19963 19964* Added ICC timestamp and FICS timeseal to WinBoard distribution. These 19965are my own ports to Win32, based on and used by permission of the owners 19966of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram 19967for timeseal). The owners permit these programs to be distributed only in 19968binary form (to help prevent cheating), so to avoid running afoul of the 19969GPL, I have kept them as separate programs, not linked into the WinBoard 19970address space. Updated Start menu icons to use them. 19971 19972* Miscellaneous smaller changes. 19973 199743.5.5 -- Fri Apr 25 03:06:00 PDT 1997 19975 19976Beta release, WinBoard only. ChangeLog was out of date in release; 19977updated here. 19978 19979* Added simple sound support to WinBoard. 19980 19981* Updated WinBoard documentation. 19982 19983* Internal implementation of the telnet protocol is now more complete. 19984You can now hop through a VMS host on the way to ICS. For example, do 19985"xboard -ics -icshost vms.host.edu -icsport 23", then log in. Do not use 19986the -telnet flag; that says to use an *external* telnet program. To avoid 19987double echoes, you need to force character mode in VMS telnet after 19988connecting from VMS to ICS. Do "^]^Mset mode char^M^M". 19989 19990* Display opponent names in the title bar for MachineWhite, MachineBlack, 19991and TwoMachines modes. 19992 19993* WinBoard now has an installer, built with InstallShield. The installer 19994works with a binary-only distribution. Sources are still freely 19995available, but now separately. 19996 19997* Added SaveSettings to WinBoard, which saves current option settings to 19998winboard.ini. Made sure all options can be saved and loaded, including 19999fonts and com port settings. 20000 20001* If the game ends while you are dragging a piece, we now don't let you 20002finish the move. Formerly the move was accepted and your opponent's clock 20003would start running again. 20004 200053.5.4 -- Fri Apr 18 01:15:24 PDT 1997 Tim Mann 20006 20007Beta test release of WinBoard and xboard. The documentation remains 20008out of date. 20009 20010* Many fixes and improvements to new WinBoard user interface code. 20011 20012* In Zippy mode, avoid sending another copy of the same move to the chess 20013program if ICS sends us another copy of the board image. Hard to believe 20014it took me until now to diagnose and fix this problem! 20015 200163.5.3 -- Sat Apr 12 19:49:33 PDT 1997 Tim Mann 20017 20018Beta test release of WinBoard and xboard. 20019 20020* Fixed fatal bug in WinBoard input handling. 20021 20022* Made code to stop chess program for reuse a bit smarter. Removed kludge 20023of "white" in initString; it didn't work well, and is unneeded 20024with Crafty 11.21 and later. 20025 200263.5.2 -- Sat Apr 12 15:40:01 PDT 1997 Tim Mann 20027 20028Beta test release of WinBoard. 20029 20030* Ignore check and permit promotion to King during suicide games; no need 20031to turn off TestLegality. 20032 20033* Renamed CheckLegality to TestLegality to avoid confusion with the chess 20034term "check". 20035 20036* Added Rematch to Action menu. 20037 20038* WinBoard now has a custom ICS interaction window with scrollback, a 20039separate line for input, and colorization. Accelerators that conflict 20040with normal editing keys were changed (by requiring Alt+) so they can work 20041in both the console and the main window. 20042 20043* WinBoard error popups are now non-modal and disappear when you make a 20044new move, as in xboard. 20045 20046* Configure now defaults to --disable-ptys on all systems. If anyone has 20047an ancient SysV system where pipes don't work with select, they can still 20048do "configure --enable-ptys" explicitly. I would appreciate getting a bug 20049report if this happens to anyone, with complete output from configure and 20050"uname -a". 20051 20052* "make install" now makes the installation directories too. 20053 20054* Fixed a bug that would cause an "Illegal move" message for Black from 20055GNU Chess to be incorrectly considered bogus. 20056 20057* Handle name changes during an ICS game (FICS bname and wname commands). 20058 20059* You can force both chess programs to be killed at the end of each game 20060by turning off the reuseChessPrograms option. There are still some 20061problems with reusing Crafty even in version 11.20. 20062 20063* Now the second chess program stays around by default too, if it ever 20064gets started. 20065 200663.5.1 -- Sat Apr 5 16:47:48 PST 1997 Tim Mann 20067 20068Beta test release. 20069 20070* Don't kill off and restart the chess program for each game; keep the 20071same one running, using the "new" command to start a new game. This 20072change works around the problem in Windows 95 that makes WinBoard crash it 20073at times, and is generally desirable to make new games start faster. The 20074second chess program (for TwoMachines) is still killed at the end of the 20075game, and unfortunately this can still crash Windows 95. Temporarily 20076added "white" to the initString to make this work with Crafty 11.20, which 20077has a minor bug in "new". Older versions of Crafty have worse bugs in 20078"new"; they should not be used with this version of xboard. 20079 20080* Support for FICS suicide chess: Parse illegal moves (that leave King in 20081check) in game history. If CheckLegality is off, allow promotion to King 20082and illegal moves in game files. We still generate e2e4 style notation 20083for illegal moves. 20084 20085* Handle FICS "has timeseal; checking" message. 20086 20087* Changed the coords from white back to black; this was a bug. 20088 20089* Fixed problems compiling with K&R compilers. 20090 20091* Fixed an old bug in RegisterMove that was crashing cmail on some systems 20092(notably linux). 20093 200943.5.0 -- Thu Jan 2 16:59:49 PST 1997 Tim Mann 20095 20096Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above! 20097 20098* Fix Crafty resumed game time bug (frankm) 20099 20100* Word wrap text in Analysis window (frankm) 20101 20102* More debug info for XPM loading (frankm) 20103 20104* Replaced config.sub, config.guess, etc., with up-to-date versions from 20105autoconf 2.12. Hopefully this will fix problems on Pentium Pro machines. 20106 20107* Removed some Makefile gunk that was causing looping for one person. 20108 201093.4.7 -- Thu Dec 19 14:22:41 PST 1996 Tim Mann 20110 20111All changes from Frank: 20112 20113* Retrieve ratings from ICC (and FICS, etc., when they add the Creating: 20114message), save them in the PGN tags, and pass them to Crafty in Zippy mode. 20115 20116* Add settable time delay between characters in ICS login script. 20117 20118* Colorize messages like personal tells. Fix false recognition of channel 20119tells. 20120 20121* Pass "tells" from Crafty through to ICS (in Zippy mode). 20122 20123* Implement ~/ filename convention from C shell for game and position file 20124names. 20125 20126* ZIPPYACCEPTONLY feature for testing. 20127 201283.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996 Tim Mann 20129 20130* Put recognition of "illegal move" messages from Crafty for 20131illegal castling, etc., inside an #if that is currently turned off, 20132because of a bug in Crafty that generates bogus "illegal move" messages 20133after some moves that are actually legal and accepted by Crafty. 20134 20135* Added -checkLegality option; previously this could not be turned off. 20136 20137* Fixed an old bug in finding default board size parameters. 20138 20139* Differentiated among channel tell, kibitz/whisper, and personal tell/say. 20140 20141* Fixed a bug in detecting Xpm in the configure script. 20142 201433.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996 Tim Mann 20144 20145* Added zic2xpm to the kit; it had been omitted by mistake. 20146 20147* Added some default colors for -colorize 20148 201493.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996 Tim Mann 20150 20151This is meant to be a beta release in preparation for version 3.5. 20152 20153* Added InfoXBoard and ManXBoard to the Help menu. 20154 20155* Made Frank's ICS input box optional, defaulting to off. 20156 20157* Merged in Frank McIngvale's XbKit. Many new features, including 20158-clickClick mode, the Analysis modes, piece flashing, ZIICS import, 20159ICS text colorization, and the ICS input box. Many thanks to Frank for 20160supplying and documenting this code. 20161 201623.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996 Tim Mann 20163 20164Small set of changes made while Frank McIngvale was working on XbKit in 20165parallel. Unreleased in this form. 20166 20167* Updated zippy.README. 20168 20169* Removed useless X event handler and removed strange code for copying 20170form translation table to board that worked around the bug it caused. 20171This makes changing bindings in .Xdefaults more straightforward. 20172 20173* Now pressing the Control key steps back one move, and releasing it steps 20174forward again. 20175 20176* Moved quit from "q" to "Q" for greater safety. 20177 20178* Use "unobserve" instead of "observe" to stop observing; needed on FICS. 20179 20180* Support for interface variable. 20181 20182* Strip titles from people who are talking to us, so (for example) Zippy 20183won't try things like "tell Darooha(*) hello". Needed on FICS. 20184 201853.4, patchlevel 2 -- Tue Jul 9 19:06:42 PDT 1996 Tim Mann 20186 20187This patchlevel is not planned to be an announced release. It's in 20188preparation for integrating Frank McIngvale's XbKit. It mostly contains 20189minor fixes I've accumulated since 3.4.pl1. 20190 20191* WinBoard /telnet option now fires up an external program, as 20192with xboard, instead of trying to use a feature of NT 3.1 that does not 20193exist in later versions of NT or in Windows 95. ChangeLog for 3.4.pl1 20194said this had been implemented there, but it really wasn't. 20195 20196* Indicating player to move by the icon color now works under Windows 95. 20197 20198* WinBoard now kills the chess program when you exit using the system menu 20199or the [X] button. Thanks to Michael Lowe. 20200 20201* Minor changes to Zippy, including: Now understands wild challenges on 20202FICS; these used to crash it. Removed limit on how fast a game will be 20203accepted. Use "set formula ..." on the chess server to limit this if you 20204are using GNU Chess. Now sends correct opponent name to Crafty. 20205 20206* Added some missing default values to documentation. Thanks to Stuart 20207Cracraft. 20208 20209* Bugfix: Trying to print "No fonts match pattern" error message would 20210crash. This can happen to Linux users who don't install Helvetica, for 20211example. 20212 20213* Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an 20214infinite loop. 20215 20216* Added more directories to search for Athena widgets on HPUX. 20217 20218* New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan. 20219 20220* Recognize "illegal move" messages from Crafty for illegal castling, etc. 20221 20222* Bugfix: "name" command added to zippy.c for Crafty was producing error 20223message if GNU Chess was in use. 20224 20225* In bughouse mode, suppress holding messages from console window; show 20226holdings only in banner. 20227 20228* Minor fixes/cleanup to Makefile.in and configure.in. 20229 202303.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995 Tim Mann 20231 20232* This patchlevel updates WinBoard to match xboard, and includes a few 20233fixes and minor improvements. "-size tiny" and "-size n,n,n,n,n,n" 20234are still not implemented for WinBoard. 20235 20236* Installed support for Crafty based on code from Bob Hyatt. 20237Currently the only documentation for this is in the FAQ, and a few 20238things don't work with Crafty 8.23. Please do not report these 20239problems as bugs in either xboard or Crafty. Bob and I know about 20240them. The worst ones (if not all of them) should be fixed in Crafty 202418.24. 20242 20243* Changed the kludge command we send when gnuchess wants to print 20244something that doesn't end with a newline, from "help" to "bogus". 20245This works because the error message gnuchess prints ends with a 20246newline. It also improves compatibility with Crafty, which doesn't 20247need the kludge, but for which sending "help" causes a problem. 20248 20249* Don't draw grid at all if lineGap is 0; previously we drew the grid 20250with X "0-width" lines (usually 1 pixel wide) and then overwrote it. 20251 20252* Makefile: Removed xboard.info from "all" target so we won't try to 20253rebuild it, because this fails on hosts that don't have makeinfo 20254installed. Other minor fixes to "clean" targets, etc. 20255 20256* Fixes and cleanup to Auto Comment code that handles continuation 20257lines and highlighting. 20258 20259* Auto Observe now tries to observe the game from the point of view of 20260the player who was on your gnotify list. Requested by rng. 20261Limitations: We can't tell which player it was unless you have ICS 20262highlighting turned on. Also, currently "observe foo" works as 20263required (observing from foo's point of view) only on ICC, but FICS 20264will probably implement this soon. 20265 20266* "-size tiny" now makes the default font smaller automatically. This 20267was implemented by introducing an extra Form widget in the hierarchy 20268for all xboard windows, named either normalLayout, smallLayout, or 20269tinyLayout. So you can have resource specifications that apply only 20270to certain layouts; in particular, XBoard*tinyLayout*font. 20271 20272* Bug fix: EditGame or EditPosition while playing or examining still was 20273not really being permitted. 20274 20275* WinBoard bug fix: On the EditPosition menu, King did not work. 20276 20277* Added text catalog of WinSock error messages to WinBoard, because 20278Microsoft still has not put them in the system message catalog. 20279 20280* Removed support for older ICS game-ending messages that do not have 20281a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'. 20282The code for older messages was sometimes firing on the newer 20283messages, due to parsing ambiguity. If the current code sees an old 20284message, it will understand that the game is over, but will always 20285display * as a result token instead of trying to guess the result by 20286interpreting the text message. 20287 202883.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995 Tim Mann 20289 20290* This patchlevel was released for xboard only. 20291 20292* Updated the info file. It should now be as up-to-date as the man page, 20293with good English except in the parts that pertain only to AmyBoard. 20294 20295* Added "-size tiny", requested by Bob Hyatt. Also cleaned up bitmap 20296support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps, 20297if the actual bitmaps are supplied by the user. 20298 20299* Updated bughouse support. 20300 203013.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995 Tim Mann 20302 20303* Unreleased beta that works with preliminary FICS bughouse code. Will 20304need changes before release to track FICS message changes. 20305 20306* Removed use of .EX macro from man page. It is not supported by some 20307nroff -man macro packages, notably the one on Slackware Linux. Switched 20308to boldface for references to xboard and other commands within the man 20309page, as this seems to be the modern way. 20310 20311* Bug fix: If ICS rejected a move, it was correctly undone on the board, 20312but the message widget still displayed the bad move. Reported by DAV. 20313 20314* Normally, xboard in ICS mode fetches the move list whenever the board 20315display switches to a new game. Doing this is now an option 20316(getMoveList) that can be turned off, which is useful if you are watching 20317multiple blitz games. Requested by rng. 20318 20319* Move list fetching code is now smarter: it ignores a move list if it is 20320not for the right game. 20321 20322* Added support for bughouse as implemented on FICS. Holdings are shown 20323in the window title in place of the strength numbers. A menu on mouse 20324buttons 2 and 3 (same on both) lets you drop pieces. There is no checking 20325as to whether you actually hold the piece you are trying to drop; we rely 20326on ICS to check that. Notation of the form P@f7 is generated and parsed. 20327The mate detector does not understand that non-contact mate is not really 20328mate in bughouse, but this does no real harm. It results in a "#" 20329suffix being displayed on the move notation, but xboard does not assume the 20330game is over. 20331 20332* Bug fix: Promotion to a knight was not working with ICC! Thanks to 20333Wendigo for the report. 20334 20335* Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3* 20336(supplied from configure.in) had a bug that would cause childio.c to 20337fail to compile, due to a "continue" that was not within a loop. 20338 20339* Bug fix: In pgntags.c, memory was being freed while still in use. One 20340symptom this caused was that on some machines, cmail would fail with a 20341message that it could not find the BlackNA tag. The error was in some 20342submitted code that I included in version 3.2.pl3 without reading 20343carefully enough. Anders Forberg noticed the symptoms, and Evan Welsh 20344(who had nothing to do with causing the bug) found the bug and submitted a 20345fix; thanks to them both. 20346 20347* Removed restriction against using EditGame while playing, observing, 20348or examining on ICS. You still get a warning popup. 20349 203503.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995 Tim Mann 20351 20352* Bug fix: Going directly from MachineWhite to TwoMachines mode would kill 20353off the second chess program after Black's first move. 20354 20355* Added -timeIncrement feature. Thanks to Joel Rivat. 20356 20357* Deleted code that tries to keep you from observing more than one game, 20358or observing while playing or examining. There is actually no problem in 20359doing this, except that every time an update comes in from a different 20360game than is currently being displayed, xboard fetches the history of the 20361new game, which may be time-consuming if you are on a slow link. 20362 20363* Fixed configure so as not to crash when neither lex nor flex is found. 20364lex or flex is needed only if the user wants to rebuild parser.c. Thanks 20365to Phil Humpherys for reporting the crash. 20366 20367* Bug fix: config.h.in used #define instead of #undef for some macros used 20368in the pty code in childio.c. This causes the code to fail to compile on 20369some architectures, because the symbols are supposed to be undefined, not 20370defined to empty, when they are not set in configure. Bug originated in 203713.3.pl0 when config.h was introduced. Thanks to Phil Humpherys for report. 20372 20373* Bug fix: ShowThinking would not show anything when current position had 20374no move to display in the move window. E.g., if position was created by 20375LoadPosition or EditPosition. 20376 203773.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995 Tim Mann 20378 20379* Zippy code was omitted from xboard-3.3.pl1 by mistake; now included. 20380 20381* For WinBoard, added hint to help file that you may need to turn off 20382LocalLineEditing while typing dialing commands to your modem. 20383 203843.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995 Tim Mann 20385 20386* Zippy distribution is no longer separate from regular xboard distribution. 20387 20388* Deal properly with Show Thinking output from GNU Chess when it is 20389thinking on its opponent's time. In TwoMachines mode this output is 20390suppressed to avoid interfering with the output from the machine that is 20391on move; in other modes it is displayed (including the move that GNU Chess 20392is predicting the user will make next). GNU Chess produces this output 20393only if it is built without -DQUIETBACKGROUND defined; this symbol is 20394defined by default in patchlevels before pl75, but undefined by default in 20395pl75. 20396 20397* Bug fix: Handling of initial board position in move list for wild games 20398was broken, so wild games could not be observed and adjourned wild games 20399could not be continued. Thanks to "Maximum Entropy" for the bug report. 20400 20401* Added feature: algebraic notation now shows "+" indicator for check 20402and "#" for checkmate, as called for in PGN standard. Thanks to Kevin 20403Maher for the suggestion. 20404 204053.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995 Tim Mann 20406 20407* Changed configuration to use a config.h file instead of passing zillions 20408of -D options on the cc command line. 20409 20410* Merged a small fix and some updates to the texinfo file from Jochen 20411Wiedmann. The texinfo file still needs work. 20412 204133.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995 Tim Mann 20414 20415* Beta test release of xboard only. 20416 20417* Updated WinBoard code to include new xboard features. 20418 20419* Added texinfo file from Jochen Wiedmann to the release, but not as the 20420primary documentation. It needs updating, and the English needs work. 20421I did make a few improvements, mostly to change incorrect uses of @var to 20422either @samp or @code as appropriate. 20423 20424* Merged in code changes to 3.2.pl4beta from Jochen Wiedmann. 20425 20426* Fixed EditComment; did not pop up window in previous beta. 20427 20428* Added AutoComment feature. 20429 20430* Added GameListDestroy to disable the outdated game list popup in cases 20431where we load a new game file without building a new popup. 20432 20433* Added yyskipmoves feature to parser.l to speed up building of gamelist. 20434 20435* gamelist.c wouldn't compile with a non-ANSI compiler. Fixed. 20436 20437* Change to yy_text handling in patchlevel 3 still had problems. Can't 20438use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER 20439according to whether the lexer on the current host makes yytext a pointer. 20440But most people will be using a parser.c that was generated on another 20441host and shipped with the package. 20442 204433.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995 Tim Mann 20444 20445* Beta test release of xboard only. 20446 20447* Added FIREWALLS section to man page. 20448 20449* Changed -icsport to be a string. Now with the -telnet option, 20450specifying -icsport "" suppresses the second argument to telnet. 20451 20452* Added EditTags feature. Removed AboutGame from menu, because EditTags 20453subsumes it. EditTags suggested by Jochen Wiedmann and first implemented by 20454him in AmyBoard. xboard implementation is my own. 20455 20456* Fixed some missing or incorrect prototypes. 20457 204583.2, patchlevel 3 -- Sat Jun 3 18:57:38 1995 Tim Mann 20459 20460* Beta test release of xboard only. 20461 20462* New version of cmail from Evan Welsh, to fix compatibility problems with 20463perl 5.0. 20464 20465* Added game list feature on Load Game, based on code from Jochen 20466Wiedmann. Integrated it with cmail. 20467 20468* Several bug fixes from Jochen Wiedmann, including one to my yy_text 20469workaround for the difference in the type of yytext between lex and flex. 20470 20471* Handle clock pause on FICS. 20472 20473* Suppress clocks in untimed FICS games (time control 0 0). 20474 20475* Rebuilt configure script with autoconf 2.3. This fixes a bug in 20476configuring for X11R6, where -lSM -lICE would not be added when needed. 20477 20478* Fixed inconsistent type declarations on IntSigHandler and 20479CmailSigHandler. Bug report from Josh Daynard. 20480 20481* backend.c wouldn't compile with a non-ANSI compiler. Fixed. 20482 204833.2, patchlevel 2 -- Tue Feb 7 14:50:30 1995 Tim Mann 20484 20485* Minor release of both xboard and WinBoard. 20486 20487* Added recognition of some FICS messages. On the other hand FICS is also 20488changing some of its messages to match what xboard already recognizes. 20489 20490* Temporarily went back to using "promote" command on ICS instead of 20491"a7a8=Q", because FICS doesn't implement the latter yet. 20492 20493* We now avoid using overlapped I/O on pipes in WinBoard, to make Windows 2049495 beta 2 happy. This lets WinBoard work with GNU Chess on Windows 95! 20495 20496* Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard. 20497 20498* Installed patch to cmail bug in LoadGame from Evan Welsh. 20499 20500* Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode 20501were not being handled correctly. Bug was in GameEnds(). 20502 20503* Implemented EchoOn and EchoOff for xboard, using system("stty echo\n"). 20504Now passwords won't be echoed when you connect directly to ICS. Also, 20505telnet negotiation characters aren't displayed (when possible). 20506 20507* Implemented more of the telnet protocol. Now connecting to a telnet 20508server with "-icsport 23" should work even without giving the -telnet 20509option. The telnet is in "old line-by-line mode". 20510 205113.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994 Tim Mann 20512 20513* This patchlevel released for WinBoard only. 20514 20515* winboard.c: Fixed ConsoleInputThread(). Needed to change CRLF to LF, 20516not to CR. This was stopping normal /ics mode from working. Thanks to 20517Asher Kobin for the bug report. 20518 20519* winboard.c: Fixed Raw(), EchoOn(), EchoOff(). Now they take effect 20520immediately, not on the next console read after the one in progress. 20521 20522* winboard.c: Attempted to make WinBoard work with gnuchessx running 20523directly on Windows (not remotely via rsh). It now works on NT, but only 20524if gnuchess is told not to think on its opponent's time ("easy\n" removed 20525from initString). The problem seems to be that GenerateConsoleCtrlEvent 20526is not doing anything. On Windows 95 beta 2, we get error messages on 20527both reading and writing to gnuchessx; I didn't investigate why. 20528 205293.2, patchlevel 0 -- Wed Dec 7 13:23:36 1994 Tim Mann 20530 20531* Thanks to all the beta testers who gave me feedback: Josef Nelissen, 20532Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen, 20533Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike 20534Lee. Sorry if I forgot anyone. Thanks to Virendra Kumar Mehta for 20535information about DYNIX/ptx. 20536 20537* Don't exit on keyboard EOF unless we get two in a row. 20538 20539* WinBoard only: added -localLineEdit switch to allow turning off local 20540line editing if you really want to. It is still a bad idea to let the 20541echoing be done remotely, however; see below. 20542 20543* Fixed some configure problems on HP-UX. [Steve Booth] 20544 20545* Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3. [Josef Nelissen] 20546 20547* cmail bugfix from Evan Welsh (cmail 3.4). 20548 205493.1, patchlevel 9 -- Fri Dec 2 23:54:56 1994 Tim Mann 20550 20551* Beta distribution only 20552 20553* Always do local echo/edit of user typing in ICS mode. Doing the echo 20554downstream may seem nicer in some modes, and it can be hard to turn that 20555echo off, but the echoed characters can be interleaved with ICS output 20556and make it impossible to parse correctly. For xboard this involved only 20557a change to recommendations in the man page, as Raw() isn't implemented. 20558For WinBoard, removing Raw() made a real difference. Added code in 20559WinBoard to change /r/n back into /r on keyboard input, as we get the 20560former when Raw() is not called. 20561 20562* Do not issue ICS "refresh" command after we start to observe a game 20563unless we get to the next prompt without seeing a board image. Newest 20564version of ICS doesn't require this refresh, but old versions around still 20565do. 20566 20567* cmail bugfix and small code cleanup in LoadGame, from Evan Welsh. 20568 20569* Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame. Evan 20570Welsh request. 20571 20572* Using "-" on the command line as a filename for loading (saving) games 20573or positions specifies the standard input (standard output). Alain Picard 20574suggestion. 20575 20576* On WinBoard only, a command line option without a leading '-' or '/' is 20577now taken as the value of -lgf. 20578 20579* Changed to not use stdin, stdout, stderr as initializers in backend.c; 20580needed for GNU libc compatibility. You also must build parser.c with flex 20581(not lex) if you are using GNU libc, to avoid having the same problem 20582there. 20583 20584* Changed WinBoard to avoid using "overlapped" input on the console. It 20585now seems to fully work on Windows 95 beta 2. 20586 20587* Improved comment popups on WinBoard. Now newlines are handled properly, 20588and the plain Comment popup window doesn't disappear and reappear when we 20589step to a new move with a new comment. 20590 20591* Fixed bugs in detecting the absence of the time and otim commands. 20592 20593* Added built-in implementation of rcmd protocol to WinBoard. Windows NT 20594does not implement passing signals through rsh, and Windows 95 does not 20595have rsh at all. 20596 20597* Added -remoteUser option. 20598 205993.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994 Tim Mann 20600 20601* Beta distribution only 20602 20603* Rearranged ChangeLog file into reverse chronological order to be closer 20604to GNU standards. 20605 20606* Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2). 20607Includes a bug fix to TruncateGame. 20608 20609* Updated ICS address to be chess.lm.com. 20610 20611* Bug fixes to handling the aftermath of FatalError. Thanks to Chris 20612Petroff for the bug report. 20613 20614* Test for remsh before rsh, other fixes for HP-UX. Thanks to Richard 20615Lloyd. I wasn't able to do all the things he suggested, so there may 20616still be some rough edges in building on HP-UX. See the FAQ file for hints. 20617 20618* Bug fix; added missing check for HAVE_SYS_SYSTEMINFO. Thanks to Josef 20619Nelissen for testing on Solaris 2.x. 20620 20621* Updated WinBoard to match xboard. (WinBoard still has a few option 20622dialogs that don't exist in xboard.) 20623 20624* Changed Hint output to a popup. 20625 20626* ShowThinking output and move output no longer overwrite each other. 20627ShowThinking output won't appear if the displayed position is not current. 20628ShowThinking output in TwoMachines mode made clearer and documented. 20629 20630* Implemented --enable-ptys and --disable-ptys arguments to configure. 20631 20632* Fixed Book and Hint code to work over a pty with echo enabled and tabs 20633expanded to spaces. Thanks to Dima Dahknovsky for the bug report. 20634 20635* Moved Attention calls from all over xboard to one place, inside 20636SendToProgram. 20637 20638* Added bulletproofing to ShowThinkingEvent. 20639 20640* Added code to handle "refresh N" boards that come in from ICS properly, 20641assuming ICS is changed to mark them with a new relation code (-3). 20642 206433.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann 20644 20645* Beta distribution only 20646 20647* Changed ShowThinking to just show the current best line in the 20648DisplayMessage area, instead of dumping everything to stdout. 20649 20650* Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and 20651changes to cmail code in backend.c, from Evan Welsh. 20652 20653* Miscellaneous minor fixes. 20654 206553.1, patchlevel 6 -- Fri Nov 4 12:53:53 PST 1994 -- Tim Mann 20656 20657* This patchlevel was not actually released to anyone. 20658 20659* Updated the pty code to be based on GNU Emacs 19.24, and moved it to a 20660separate file. It was hard to split out just the pty configuration from 20661all the stuff emacs does with its custom configure script and .h files, 20662but I did my best. 20663 20664* Converted from imake to GNU autoconf. This was a serious upheaval. 20665 20666* Put in code to help trap "error gathering move list" problem reported by 20667Michel van der List if it recurs. I couldn't reproduce it. 20668 206693.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann 20670 20671* Beta distribution only. 20672 20673* We now test for checkmate or stalemate in EditGame mode after every user 20674move, and in LoadGame mode whenever we hit the end of a game without 20675seeing a PGN end marker. cmail needs an update to deal with this 20676correctly; Evan promises one. 20677 20678* Bugfixes in new move generator. Thanks to Mike Lee for reporting one of 20679the bugs. 20680 20681* Imakefile was omitted from patchlevel 4. 20682 206833.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann 20684 20685* Beta distribution only. 20686 20687* The move generator includes a mate tester. Initially this is used only 20688by cmail, and even that usage needs further work. 20689 20690* Wrote a true move generator and used it to replace all the move 20691disambiguation and legality checking code in parser.l. The move generator 20692is capable of dealing correctly with en passant and castling availability, 20693but the rest of the program still does not keep track of this information. 20694 20695* Bug fix: xboard did not handle "foo has made you an examiner of game 23" 20696message. Thus you could not use examine features until the next board 20697came in, showing your new relation to the game. Thanks to POOKIEWOOKIE on ICS 20698for the bug report. 20699 20700* Added AutoObserve feature. Thanks to Chris Petroff for the idea. 20701 20702* Added Book feature to use new gnuchess "bk" command. Mike McGann request. 20703 20704* Redid code to handle missing "time" command in gnuchess, because latest 20705gnuchess no longer sends a response to this command. 20706 20707* Eliminated need for -DFLEX. Thanks to Michael Shields (Vladimir?) for 20708the idea. 20709 20710* Added missing code to implement MoveNow in TwoMachines mode. 20711 20712* Added ShowThinking feature. Thanks to Richard Lloyd for the idea. 20713 20714* Applied patches from Evan Welsh; some fixes and improvements to the 20715cmail code. 20716 20717* Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack, 20718introduced in previous patchlevel. Also fixed related bug in ending a 20719game in ICS mode; was entering EndOfGame mode instead of IcsIdle. 20720 20721* Added patch to implement internetChessServerLogonScript flag, from Kevin 20722O'Connor. Thanks! 20723 207243.1, patchlevel 3 -- Wed Sep 7 13:22:07 PDT 1994 -- Tim Mann 20725 20726* Beta distribution only. 20727 20728* Merged in new cmail code from Evan Welsh. He added the ability to have 20729more than one game per message, needed for official IECG matches. I added 20730the ability to resign or offer/accept/decline a draw in a cmail game. 20731 20732* Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError 20733was called too early in initialization. Georges Honore reported this bug. 20734 20735* Decided to keep EndOfGame mode as an element of the user interface---it 20736means that a gnuchess game or loaded game has ended, and the user must 20737explicitly select EditGame to edit it, rather than just being able to 20738enter more moves freely. But internally there is no longer an invariant 20739tying this mode to whether the chess program is running. 20740 20741* Zippy bugfix: Was saving only the final position in the -sgf file when 20742the game ended by something other than resignation or flag. Also fixed 20743the longstanding bug that Zippy would think the final board of such a game 20744was a new game and restart the chess program. 20745 20746* Now does a better job of faking castling availability in FEN. We still 20747don't really keep track of it, but now at least we don't say that castling 20748is still available when the king or rook is not on its home square. 20749 20750* Bugfix: Initial board of game history for wild games was going through 20751too much processing, causing us to forget the game length, which is now 20752needed by ParseGameHistory. This was causing problems with resuming 20753adjourned wild games. 20754 20755* Updated ICS host to ics.onenet.net. 20756 20757* Zippy now accepts challenges where the opponent specified his color. 20758 20759* Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess. 20760 20761* Bitmap directory can include alternative icons now, too. 20762 20763* Handle "Game * (*) has no examiners" message from ICS. 20764 20765* Revamped window title and icon name selection. 20766 207673.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann 20768 20769* "Beta" distribution for Zippy users only. 20770 20771* Bugfix: common.h was assuming that X11 type Boolean is char, which is 20772not always true. This might have caused all sorts of obscure bugs! 20773 20774* Installed new bitmaps from Elmar Bartel as the default. Many thanks! 20775The old bitmaps can be used by changing the "bitmaps" symbolic link before 20776compiling xboard, or by using the -bitmapDirectory option at runtime. 20777 20778* Loading a game that ends with the PGN unfinished symbol ("*") now always 20779leaves you in EditGame mode. 20780 20781* Added documentation of -icscomm to man page. Thanks to Maarten Remkes 20782for the linux script. 20783 20784* ^C now kills gnuchess as well as xboard. Thanks to Dima Dakhnovsky for 20785reminding me how to do this. 20786 20787* Bitmap icon color now indicates player to move. Stuart Cracraft 20788suggestion. 20789 20790* Changed piece bitmap flags to have just one flag, which points to a 20791directory full of bitmaps, instead of a flag for each bitmap. Also 20792changed bitmap naming convention. 20793 20794* "Connection closed by ICS" is no longer a FatalError popup. This was 20795too annoying in the normal case where the user typed "quit". 20796 20797* Changed default font to 14 pixels instead of 10 points. This seems to 20798make it close to the size I want it to be on more displays. 20799 20800* Major mode (GNU Chess, etc.) appears in title bar. Stuart Cracraft 20801request. 20802 20803* Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and 20804TwoMachinesEvent were calling PauseEvent to get out of pause mode, which 20805now has undesired side effects, such as advancing the display to the 20806forwardMostMove. It works fine to just set pausing = FALSE instead. 20807 20808* IcsExamining mode now lets you access ICS edit position commands using 20809the same popup menus as xboard's EditPosition mode. Thanks to DAV on ICS 20810for inspiring the idea. 20811 20812* Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd. 20813 208143.1, patchlevel 1 -- Wed Jun 1 16:25:11 PDT 1994 -- Tim Mann 20815 20816* Added parser.c.lex and parser.c.flex to the distribution. 20817 20818* Added HP gcc options to Imakefile, from Mats Nylen. 20819 20820* EndOfGame mode no longer highlights EditGame mode indicator, because the 20821modes really do differ. I would like to get rid of EndOfGame mode in the 20822future, at least as far as users can see. 20823 20824* Larger %a in parser.l, needed for RS/6000 users. 20825 20826* Minor improvements to Mail Move error messages. 20827 20828* When -debug flag is given to xboard, -v is passed to cmail. 20829 20830* Old Save Style uses "1. ..." instead of "1..." when black moves after a 20831comment; more like xboard 3.0's actual style. 20832 20833* New version of cmail from Evan Welsh. Looks for UCB Mail in a more 20834portable way and has some minor bug fixes. 20835 20836* Bug fix: Saving a FEN position while in EditPosition mode with black to 20837play was showing white to play in the saved position. 20838 208393.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann 20840 20841* This is the first general release since 3.0, patchlevel 9. Releases 20842since then have been limited-distribution or beta releases. 20843 20844* Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway, 20845Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff, 20846Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and 20847Evan Welsh. Sorry if I've forgotten anyone who gave me feedback. 20848 20849* Updated man page. 20850 20851* Minor cleanup on menu sensitivity code. 20852 20853* Integrated another even better version of cmail from Evan Welsh, 20854including some code he supplied in xboard itself. 20855 20856* A few more fixes to cmail support. 20857 20858* Automatically update clocks after an ICS "moretime" command. 20859 20860* Handle ICS automatic examine mode (set examine 1) after a game. 20861 208623.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann 20863 20864* Beta test release only. 20865 20866* Don't suppress prompt on first board of game being examined; otherwise 20867it looks like nothing happened at all (i.e., like you're lagged). 20868 20869* Added StopExamining and StopObserving (Chris Petroff suggestion). 20870 20871* Made Reset do a refresh on ICS. John Chanak's original ICS code for 20872xboard tried to do this; I finally decided it was a good idea after all. 20873 20874* Fixed bugs in handling updates that come in while you are pausing in 20875examine mode. This is pretty tricky to do right. 20876 20877* Made un-Pausing immediately pop you to the current position. This is 20878always necessary in examine mode, since the game may have changed under 20879you; your remembered moves might no longer be right. So I made it do the 20880same in all modes. 20881 20882* Took Detach Examine mode back out...used Pause mode for this instead! 20883 20884* Put in a trap for the GNU Chess bug of printing an Illegal Move message 20885when its own hint move is illegal. 20886 20887* Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after 20888it checkmates its opponent. This involved adding an argument to GameEnds 20889to say who says it ended (ICS, GNU, etc.) and taking different actions in 20890different cases. Unfortunately, this just restored an older Zippy bug, where 20891Zippy restarts gnuchess when it gets the board with the final position, 20892because GameEnds still puts xboard in EndOfGame mode. Sigh. 20893 20894* We now capture elapsed time on last move when getting game history. 20895(Josef Nelissen bug report) 20896 20897* Rewrote code to redisplay last file title so it really works. 20898 20899* Fixed bug in oldSaveStyle. 20900 20901* Larger %a and %o were needed for lex. 20902 209033.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann 20904 20905* Beta test release only. 20906 20907* FatalError popups stay on the screen now. If the error is really fatal, 20908all functions are disabled, and the program exits when you press OK. 20909 20910* Redisplay last file title when using Load (Next/Previous/Same) Game. 20911 20912* Zippy understands new match challenge message format on ICS. 20913 20914* Added Revert command. 20915 20916* When examining a game on ICS, < > buttons do ICS backward/forward 20917commands, unless you set the Detach Examine option. Thanks to Dima 20918Dakhnovsky for the idea. 20919 20920* Fixed various minor problems in cmail mode. 20921 20922* cmail generates the tags now. New version of cmail from Evan Welsh. 20923 20924* cmail mode won't let you do MailMove unless the currently displayed 20925position is exactly one move past the end of the game you loaded. 20926 20927* Fixed building of man pages in Imakefile 20928 20929* Updates to INSTALL file 20930 209313.0, patchlevel 12 -- Sat May 7 21:10:03 PDT 1994 -- Tim Mann 20932 20933* Beta test release only. 20934 20935* Brought man page up to date. 20936 20937* Added Shift+R to resign from keyboard. 20938 20939* Some items on Action menu available in GNU Chess mode now. 20940 20941* Revamped Action menu. 20942 20943* Reordered functions in backend.c as a small step toward reorganizing 20944this whole mess. 20945 20946* Generate TimeControl PGN tag. 20947 20948* Get type of ICS game (e.g., rated blitz) and save in PGN tags. 20949 20950* Bug fix: Clocks were not redisplayed when entering EditGame mode. 20951 20952* Bug fix: Clocks were not being redisplayed after loading a game file 20953with -td 0, so they could show the wrong color active. 20954 20955* Bug fix: Chess programs would be killed and match mode would exit 20956prematurely when loading a PGN game fragment ending with "*". 20957 20958* ICS command "sposition" no longer confuses xboard. 20959 20960* Integrated new version of cmail (with support code in xboard) from Evan 20961Welsh. 20962 20963* Added TruncateGame, MoveNow, RetractMove, and QuietPlay. 20964 20965* Bug fix: switching between MachineWhite and MachineBlack was not calling 20966Attention(). Reported by Dino Dini. 20967 20968* More improvements to INSTALL and Imakefile. 20969 20970* Pack moves into 79 character lines in PGN output. We don't generate 20971check indications, and we always break the line before the result, 20972so this is not quite PGN export format. 20973 20974* Use FEN tag in PGN. 20975 20976* Improved finding and counting of game starts in save files. 20977 20978* Negative position or game numbers in -lpi/-lgi mean to seek to that byte 20979offset. Hook for possible future features, not in man page. 20980 20981* Detect and handle absence of either "time" or "otim" commands in 20982gnuchess. 20983 20984* Don't use "promote" command to ICS anymore. 20985 20986* Handle switching sides and taking back moves on FICS. 20987 20988* Handle flip state flag in style 12 board. 20989 20990* Handle examine mode on ICS. 20991 20992* Improved error popups for various kinds of illegal moves. 20993 20994* Suppress unasked-for hints from gnuchess (which it generates in post 20995mode). 20996 20997* Load/save position functions use FEN. Old style also supported. 20998 20999* Added detailed error messages if loading a bitmap file fails. 21000 21001* Small board has 2-pixel lines between squares instead of 3-pixel. 21002 21003* Added OldSaveStyle and AboutGame. 21004 21005* Renamed ForceMoves to EditGame. 21006 210073.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann 21008 21009* The following changes were present in xboard 3.0, patchlevel 11, but the 21010first group did not make it into WinBoard 3.0 until later. xboard 210113.0.pl11 was a limited-distribution release only, mostly to Zippy users. 21012 21013* Man page minor fixes. 21014 21015* Added a missing file close. 21016 21017* Removed automatic error popdown on Reset, which was destroying some 21018error messages before they could be read. 21019 21020* Fixed char vs. unsigned char warnings on bitmaps. 21021 21022* Use ICS board style 12. Some improvements to ICS parsing. 21023 21024* Comment window is now labelled with the move the comment is on, and 21025comments don't pop down when you step to the next move. 21026 21027* Save files now in PGN format. 21028 21029* Support for loading PGN files. PGN tags pop up when a PGN game file 21030is loaded. 21031 21032* More info in INSTALL and Imakefile about building for Suns (and 21033other systems). 21034 21035* WinBoard 3.0 patchlevel 11 split off from an early version of xboard 210363.0 patchlevel 11, so it does not have all the features of that 21037patchlevel. The following changes made it into both xboard and 21038WinBoard: 21039 21040* Made Comment dialog non-modal in WinBoard. 21041 21042* EndOfGame mode is now more transparent. It looks like ForceMoves 21043mode except that there is no chess program running. 21044 21045* Small bug fixes in clock management. Most noticeably, pausing when 21046it is gnuchess's move now works as documented (again). 21047 21048* Add minimal support for -icscomm option. Not documented yet because 21049I haven't sorted out the issues with setting the tty modes on the comm 21050port device, or with locking it properly. But it's usable by wizards. 21051 21052* Don't restart the chess program upon Backward event from EndOfGame mode. 21053 21054* Suppress extra prompt after ICS sends us a board. 21055 210563.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann 21057 21058* Beta test release only. 21059 21060* Zippy now plays chess. zippy.c and zippy.h are still not included 21061in the standard distribution, but are available on request. 21062 21063* Switched to using style 12 on ICS. 21064 21065* Updated man page, and documented use of XBoard*form.translations to 21066add more shortcut keys. 21067 21068* Added shortcut keys "d" to claim/offer/accept a draw, and "t" to 21069call flag. Suggested by venu on ICS. 21070 21071* More explicit instructions in INSTALL file. 21072 210733.0, patchlevel 9 -- Tue Sep 7 14:02:00 PDT 1993 -- Tim Mann 21074 21075* General release, minor update to 3.0.pl8. 21076 21077* Loosened checking on whether it's okay to start a move, to satisfy 21078ICS ultra-blitz players. Now we don't check whether it's your turn 21079until you let go of the piece. 21080 21081* Parser now recognizes "+-+" as meaning the game ended in a draw. 21082 21083* Got rid of S_NONE symbol, which seems to conflict with some symbol 21084Sun defines. 21085 21086* Tweaked the man page. Clarified that there is currently no way for 21087two people running copies of xboard to play each other without going 21088through the Internet Chess Server. 21089 21090* Fixed a bug in color name conversion. Asking for two different 21091colors whose names were the same in the first four characters would 21092get you two copies of the first one. Thanks to Volker Zink for the 21093bug report. 21094 21095* Improved confusing Usage() message. 21096 21097* Added a bunch of Sun information to the Imakefile and INSTALL file. 21098Thanks to Ed Hanway, Arik Klingensmith, and others who responded. 21099 21100* Test for defined(WIN32) instead of !defined(unix). 21101 21102* Avoid using (void *) type with non-ANSI C compilers. Thanks to 21103James Altucher for the bug report. 21104 211053.0, patchlevel 8 -- Thu Sep 2 12:23:01 PDT 1993 -- Tim Mann 21106 21107* Note: Patchlevel 8 was the first non-beta release of xboard 3.0 21108 21109* Added cmail to distribution. Contributed (and still maintained) by 21110Evan Welsh. 21111 21112* Bug fix: -queen option wasn't initializing menu check. Reported by 21113Pat Surry. 21114 211153.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann 21116 21117* Sent WinBoard 3.0.pl7 to Torre on ICS 21118 21119* Added parser.h to hold the interface to parser.l 21120 21121* Upgraded COPYING file and copyright notices to GNU GPL version 2. 21122 211233.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann 21124 21125* We no longer display intermediate positions or intermediate comments 21126while loading a game file with -timeDelay 0 or loading an opening to 21127start up a -matchMode game. 21128 21129* Loading an empty game from an xboard save file now gives a status 21130message "No moves in game" instead of an error popup saying "Game not 21131found in file." 21132 21133* Added comment.awk to distribution. 21134 211353.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann 21136 21137* Bug fix: xboard would crash if it couldn't get all its colors; now 21138it switches to monoMode instead. Also, xboard was trying to convert 21139color resources even when using a b/w display. Reported by Larry 21140Rogers. 21141 21142* Bug fix: Declared fields of TimeMark as signed so that we get signed 21143instead of unsigned arithmetic. SubtractTimeMarks was breaking on 21144Alpha AXP (which has 64-bit longs) with old declarations. Reported by 21145Michel van der List. 21146 21147* Bug fixes: Keyboard accelerators now work after EditComment window is 21148popped down. Iconize keyboard accelerator now works even if xboard 21149was started with -iconic flag and later deiconized. 21150 21151* Bug fix: The routine that tests whether a move is illegal because it 21152would leave you in check was not handling e.p. captures properly. 21153Reported by Patrick Surry. 21154 21155* Bug (?) fix: Was adding time to clocks at time control even when 21156loading a game file. Actually it's not entirely clear how time 21157controls should be dealt with when some moves are loaded from a file 21158or clicked in with ForceMoves. For now ForceMoves mode does add the 21159time (because it can be used to change moves during a live game), but 21160LoadGame mode does not. 21161 21162* Updated usage message. 21163 21164* Previous attempted fix to matchMode had broken TwoMachines mode and 21165generally needed more work. Also simplified command line interface to 21166matchMode. 21167 211683.0, patchlevel 4 -- Thu Aug 5 14:17:18 PDT 1993 -- Tim Mann 21169 21170* Thanks again to the beta testers listed for 3.0 patchlevel 3, and also 21171Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe. 21172 21173* Reorganized man page, splitting OPTIONS into subsections. 21174 21175* matchMode was very broken; fixed. 21176 21177* Changed convention for turning off command line options from --opt 21178to -xopt, to be less inconsistent with GNU standards. Also changed 21179the long command line options to take True/False arguments like 21180resources; seems to make more sense this way. 21181 21182* Added AlwaysQueen option -- suppresses promotion dialog and always 21183promotes to a queen if you move a pawn to the last rank. Has no 21184effect on gnuchess (or your ICS opponents!) -- they can still 21185underpromote. 21186 21187* Subtracted an extra fudge term when determining how wide message and 21188title widgets should be. This fixes a problem some beta testers had. 21189Wish I knew why it's needed. 21190 21191* Bugfix in parser; symptom was that you couldn't do LoadGame after 21192observing a game on ICS. 21193 21194* Bugfix in Forward; didn't work after game ended while Pause was turned on. 21195 21196* Removed bogus execute bits on .h files. 21197 21198* Use REMOTE_SHELL and TELNET_PROGRAM definitions. 21199 21200* MachineWhite and MachineBlack now work from TwoMachines mode. 21201 21202* Popping down an error message with the [ok] button was not turning off 21203the errorUp flag, so the next move would cause xboard to try to pop it 21204down again, resulting in a wild memory reference and sometimes a crash. 21205 212063.0, patchlevel 3 -- Tue Aug 3 17:40:27 1993 -- Tim Mann 21207 21208* Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma, 21209Chris L. Petroff, Richard K. Lloyd, Michel van der List, Craig Metz, 21210Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell, 21211Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel. 21212 21213* Improved error messages for trying to move the wrong color pieces or 21214to move when it's not your turn. 21215 21216* Special code for monoMode on 1-bit displays now understands displays 21217where 1=white and 0=black. 21218 21219* Declare getenv() if <stdlib.h> not included; avoids a compiler warning. 21220 21221* Documented borderXoffset and borderYoffset. 21222 21223* Added -titleInWindow option for use with X window managers that 21224don't let us set the title in the window banner. 21225 21226* Fixed error message printing in WinBoard; system error messages no 21227longer appear as numeric codes. 21228 21229* The error message popup is now non-modal; you don't have to press the 21230[ok] button before you can do something else. In addition, the popup is 21231positioned so that it doesn't cover up the board (too much), and making a 21232move or otherwise clicking on the board pops it down. (Not implemented in 21233WinBoard.) 21234 21235* You can now call your opponent's flag in ICS mode by clicking on his 21236clock. 21237 21238* Fixed minor bugs in -flipView option and documented exactly how xboard 21239decides which way to flip the view. 21240 212413.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann 21242 21243* Added Autosave to Options menu. Would be better to have Save 21244Options dialog as in WinBoard, but this was quick to do and gives the 21245most-needed functionality. 21246 21247* Changed "Reload Game" on menu to "Reload Same Game". 21248 212493.0, patchlevel 1 -- Thu Jul 8 21:22:59 PDT 1993 -- Tim Mann 21250 21251* Sent a copy of patchlevel 1 to Patrick Surry to beta-test. 21252 21253* Added -cmail option that sets appData.cmailMode. Currently a no-op. 21254In the future this may set special modes for use by the cmail script 21255for playing chess by email. 21256 21257* Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu. 21258ReloadGame suggested by Patrick Surry. 21259 21260* Added -flipView command-line option. Suggested by Patrick Surry. 21261 21262* Fixed bugs in parser.l: (1) Pattern for "# xboard game file ..." 21263needed to match to end of line. (2) Start of a new file was not matching 21264the ^ start-of-line character. The fix for this is a kludge. 21265 21266* Made game counting code in LoadGame more robust, and made LoadGame 21267able to detect the end of a saved partial game (by noticing the start 21268of the next game) in game files created by XBoard itself. We don't 21269try to find the start of the next game that way in other kinds of game 21270files, because the only way I can think of to do that is to look for 21271another move #1, and that technique gets too many false hits. 21272 21273* Fixed recently introduced bug in LoadGame when game starts with a 21274position diagram. 21275 212763.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann 21277 21278* Changes in this patchlevel were too numerous to list. Larger ones are 21279listed below. 21280 21281* Added a popup dialog to enter and edit comments. Inspired by some 21282code from Patrick Surry. Changed the normal read-only comment popup 21283to the same style. 21284 21285* Added ICS init script feature from Karl Schwamb. 21286 21287* Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan. 21288 21289* Revamped code to allow use of flex instead of lex on parser.l. 21290Using flex requires adding -DFLEX to defines in Imakefile. 21291 21292* Source code is split into front end (xboard.c), which knows about X 21293and Unix, and back end (backend.c), which knows about chess, gnuchess, 21294and the ICS. There is also a front end for Windows NT. 21295 21296* Boolean command line options now use "-foo" to turn on and "--foo" 21297to turn off instead of "-foo true" and "-foo false". [Later -xfoo; 21298see above.] 21299 21300* Added menu commands to control autoflag, bell, and coords options. 21301 21302* User interface has a new look: (1) Menu bar instead of array of 21303buttons. A few very commonly used features have small buttons in 21304addition to being on the menus. (2) Large font for clock. (3) Pop-up 21305dialogs for errors. 21306 213072.1, patchlevel 11 -- Sat Jun 5 00:01:01 PDT 1993 -- mann@src.dec.com 21308 21309* Added code to deal with "wild" games on ICS. This includes allowing 21310castling with the king on d1 or d8, which is allowed in wild(1) games 21311if the king started there. Notation is o-o to castle "short"---to 21312whichever side the king is closer to---and o-o-o to castle "long." 21313Right now wild castling is always allowed by xboard; we rely on ICS or 21314gnuchess to reject it when we aren't really in wild mode. 21315 21316* memcpy call had arguments in wrong order. 21317 21318* Removed April Fool code 21319 213202.1, patchlevel 10 -- Mon Feb 15 10:19:31 PST 1993 -- mann@src.dec.com 21321 21322* Avoid trying to select on a pipe when using System V. Needed to 21323copy some code from InitChessProgram() up into establish(). 21324 21325* Bug fix in disambiguating pawn moves like "ed". 21326 21327* Fix to error handling in ReceiveFromProgram. 21328 21329* Bug fix: entering EditPosition mode with black to play highlighted 21330White's clock instead of Black's. 21331 21332* Added telnetProgram resource in case "telnet" is not the name of the 21333telnet program. 21334 213352.1, patchlevel 9 -- Fri Jan 22 19:08:27 PST 1993 -- mann@src.dec.com 21336 21337* Entering Force Moves mode clears "flag has fallen" messages from display. 21338 21339* ICS host name can now be in numeric format; for example 128.2.232.4. 21340 21341* Bug fix: LegalityTest was failing to test whether a pawn move was 21342illegal because the move would discover a check. 21343 21344* Handle ICS message "mann asserts a win over manntest, who disconnected." 21345 21346* Bug fix: A recent change to PromotionCallBack had broken 21347underpromotion to a knight. 21348 21349* Bug fix: In EditPosition mode, dragging a piece onto a square border 21350would make it vanish. xboard wasn't distinguishing this case from 21351dragging the piece off the board. Thanks to Matthew Kidd. 21352 21353* Removed "static" declaration from yywrap for compatibility with IRIX 21354version of lex. Thanks to stiller@blaze.cs.jhu.edu. 21355 21356* Added substitutes for bzero, bcopy, and gethostname for Solaris 21357SVR4. Thanks to Michael Grant. 21358 21359* Bug fixes to queen move disambiguation. Bugs showed up only when 21360promotion resulted in more than one queen on the board. 21361 213622.1, patchlevel 8 -- Fri Dec 11 17:54:18 PST 1992 -- mann@src.dec.com 21363 21364* parser bug fix: It now really works to leave off the piece a pawn is 21365promoting to and let it default to queen. 21366 21367* When starting to observe or play an ICS game, don't draw board in 21368initial position and then immediately redraw it in the current 21369position. 21370 21371* Handle ICS messages when an "abuser" forfeits a game by 21372disconnecting and when a game is aborted ("removed") by an 21373administrator. 21374 21375* Bug fix: A user move when in LoadGame+Pause mode was resuming the 21376game load instead of putting us in force mode. 21377 21378* It seems that crashes inside sscanf when xboard is compiled with gcc 21379(as on IBM PS/2 AIX, mentioned below, and also on VAX Ultrix 3.1) are 21380caused by an incompatibility between gcc and the sscanf implementation 21381on these platforms. A workaround is to specify -fwritable-strings to 21382gcc (see the gcc documentation). Added info on how to do this to the 21383Imakefile. Thanks to Tom McConnell for this information. 21384 21385* Clocks are allowed to go negative. This is mostly for ICS 21386compatibility, but it affects gnuchess mode too. Also, we give the 21387time bonus when a player hits the time control boundary even if his 21388flag is already down. This choice is a bit debatable, but it makes 21389things look better when you are in TwoMachines mode and gnuchess's 21390time management screws up causing it to exceed its time limit. 21391 21392* Implemented move legality checking code. Moves made with the mouse 21393or parsed from a file are checked for legality before being made. 21394This is mostly in preparation for future extensions, such as 21395human-human play. For now it makes -noChessProgram mode more useful. 21396 21397* If the user takes back moves, we restore the clocks to the earlier 21398settings. 21399 21400* We now handle the output of the ICS oldmoves command, including 21401parsing the game end condition. 21402 21403* Added autoCallFlag mode. 21404 21405* Fixed glitches in the medium size outline king and rook bitmaps, and 21406touched up the medium size solid king and outline queen. 21407 21408* bug fix: DisplayMove would not display backwardMostMove - 1. 21409 21410* Added CallFlag button and removed AcceptMatch. CallFlag is more 21411important with new ICS, and accepting the current match offer is easy 21412with the new ICS command "accept" (can be abbreviated "ac"). 21413 21414* LoadGame and LoadPosition display tail of file name (plus index 21415number, if any) as title. 21416 21417* MachineWhite, MachineBlack, and TwoMachines now work properly from 21418LoadGame and LoadGame+Pause mode. 21419 21420* Use o-o and o-o-o to castle on ICS, not 00 and 000. 21421 21422* Stripped out code for old ICS messages; new ICS is now installed. 21423 21424* Bug fix: don't offer autosave when paused during LoadGame. 21425 214262.1, patchlevel 7 - Fri Dec 11 17:40:56 PST 1992 - mann@src.dec.com 21427 21428* Track change to "Illegal move" message in new ICS. 21429 214302.1, patchlevel 6 -- Tue Dec 8 10:48:44 PST 1992 -- mann@src.dec.com 21431 21432* Kludged around bug in keeping comment popup where you put it by 21433adding borderXoffset and borderYoffset resources that give the width 21434of the borders added by the window manager. Yucch. 21435 21436* Changed searchDepth kludge back to using "help" instead of "bd"; the 21437latter didn't work because the output contains a line starting with 21438"White", so we think gnuchess is telling us that White won. Oops. 21439 21440* Removed some code that uses an X11R5 feature, XrmGetDatabase. 21441Without this, the auto font sizing code is harder to make work, so to 21442keep my sanity I had to change it to affect only the fonts that appear 21443in the main window and the comment popup, not the other popups. Maybe 21444this is better anyway. 21445 21446* AcceptMatch button now works after a counterchallenge, too. 21447 21448* Added code for more variants of messages about games being adjourned 21449or aborted. These messages need to be unified in new version of ICS. 21450 21451* Added workaround for minor bug in ICS; game number on first board 21452can be wrong. 21453 21454* Removed code to say "refresh n" instead of "refresh"; was broken and 21455wasn't needed anyway. 21456 21457* Added missing casts for compilers that distinguish enums from ints 21458and missing cast in connect call. 21459 21460* Added code to recognize "both sides are out of time" draw message 21461proposed for next version of ICS. 21462 21463* Thanks to Danny Sleator and Joe Peterson for bug reports. 21464 214652.1, patchlevel 5 -- Sun Dec 6 19:52:40 PST 1992 -- mann@src.dec.com 21466 21467* Removed gcc and CDEBUGFLAGS from Imakefile. 21468 21469* Corrected setting of mode to ForceMoves when game file ends or 21470contains an AmbiguousMove or BadMove. Previous bug was harmless. 21471 21472* Added AcceptMatch button and mention of 50-move rule for Draw button 21473to man page. 21474 214752.1, patchlevel 4 -- Sun Dec 6 02:55:42 PST 1992 -- mann@src.dec.com 21476 21477* Now handles revised messages from new version of ICS. New ICS is 21478not released yet, so this code might change further. Next patchlevel 21479will remove support for old ICS; both are there now. 21480 21481* Initial processing for a new game being watched or played now 21482happens when we see the first board image. Removes the need to parse 21483some messages and unifies some code. 21484 214852.1, patchlevel 3 -- Tue Dec 1 19:40:40 PST 1992 -- mann@src.dec.com 21486 21487* Handles ICS messages "Draw : neither player has mating 21488material" and "Draw : White has no material, Black has no time." 21489 21490* Added AcceptMatch button for ICS mode. 21491 21492* Fixed bug in previous fix to yylexstr(). 21493 21494* Fixed bugs in code for loading old position files that don't start 21495with "#" and for handling case where user asked for nth position in 21496file but there aren't that many. 21497 21498* Handles ICS message "* has restored your old game" 21499 21500* ResetProc always clears title line now. 21501 21502* Don't issue just "refresh" when watching a game; use game number. 21503Upcoming new version of ICS may need this. 21504 21505* Added code to try to prevent user from watching and/or playing more 21506than one game at a time. There is a race condition inherent here; if 21507we get more than one board from the game before our command to stop 21508watching it takes effect, we'll think the user started it again. Not 21509clear how to fix this. 21510 21511* Redid ParseBoard8 to use sscanf. Code is a good deal cleaner now. 21512Also, we now parse out the game number too, though we don't make much 21513use of it yet. 21514 21515* (Tried to put in a feature that recognizes the current game in a 21516game file must have ended when we see the start of a new one, but had 21517to disable it because we have too many false hits with the current 21518parser, especially in gnuchess listing files.) 21519 21520* Moves read from game files or received from ICS are now translated 21521into canonical algebraic form just like all other moves. Minor nit: 21522If you use Reset while playing or observing a game in ICS mode, the 21523game history (including the current board position) is lost, so the 21524next move of the current game can't be translated. 21525 21526* Default fonts now vary with board size, and are chosen by pixel size 21527instead of point size (since piece bitmaps have a fixed pixel size). 21528 21529* Bug fix: An extra Forward was required to skip over time indications 21530in game files. 21531 215322.1 patchlevel 2 -- Fri Nov 27 23:30:00 PST 1992 -- mann@src.dec.com 21533 21534* If you move the comment popup, the next time it pops up it will come 21535back where you put it. 21536 21537* Fixed yylexstr() so calls to it can be interspersed with calls to 21538yylex(). 21539 21540* Fixed bugs in Forward/Backward while in LoadGame mode. 21541 21542* Changed Save{Game,Position} functions to append instead of 21543overwriting if file exists. Changed Load{Game,Position} functions to 21544deal with multiple games/positions per file. 21545 21546* Changed load{Game,Position}File resources to trigger automatic load 21547on program startup. Changed save{Game,Position}File resources to 21548trigger automatic save after every completed game and on program exit. 21549 21550* Added autoSaveGames mode. 21551 21552* Fixed bug with PromoPiece in call to MakeAlg from MakeMove. 21553 21554* Many changes to get rid of picky compiler warnings and generally 21555clean up the code. 21556 215572.1 patchlevel 1 -- Fri Nov 27 02:45:00 PST 1992 -- mann@src.dec.com 21558 21559* A last minute change before patchlevel 0 went out broke 21560ParseGameHistory(). Immediately fixed in patchlevel 1. 21561 21562Version 2.1, patchlevel 0 -- Fri Nov 27 02:00:00 PST 1992 -- mann@src.dec.com 21563 21564* Uses "time" command of gnuchess 4.0 and following to keep clocks in 21565sync. Still works with older versions without this command; we test 21566whether the command is present the first time each chess program is 21567started. 21568 21569* File name dialog pops up under the mouse cursor, so that it's got the 21570keyboard focus if the window manager is using pointer focus. 21571 21572* Attempts to move the wrong color piece or an empty square are filtered 21573out in xboard instead of being passed on to GNU Chess or the ICS. 21574 21575* The reason a game ended is now remembered even if you move backward 21576and forward after it ends. It is forgotten only if you make a move 21577(which is as it should be---this is now a different game, which hasn't 21578ended yet). The message saying why the game ended no longer wipes out 21579the last move. 21580 21581* Pause, Backward, Forward, ForceMoves, and EditPosition now work from 21582TwoMachines mode. 21583 21584* Forward and Backward now change only the board display unless you 21585are in ForceMoves mode. Pause mode keeps new moves that are received 21586from being displayed on your screen until you unpause (or use 21587Forward). 21588 21589* Added option to ring the bell after opponents' moves. 21590 21591* Saved games that start from other than the standard initial position 21592now begin with a postion diagram as in saved position files. The 21593loader is modified to understand such save files. 21594 21595* Improved error checking when trying to read from gnuchess. 21596 21597* Parser understands things that look like time indications, e.g., (0:12), 21598instead of popping them up as comments. 21599 21600* Send "quit" to gnuchess before trying to kill it. I needed this 21601locally because sending a SIGTERM to rsh was not killing the remote 21602program on some internal field test systems we have. 21603 21604* Merged in code from John Chanak to make xboard a front end to the 21605Internet Chess Server, and added several improvements of my own. 21606(These include parsing end of game messages, loading the current state 21607and previous history of a game that's joined in progress via "watch" 21608or "load", automatic switch from board style 1 to 8 when needed, 21609removing irrelevant buttons and adding some new ones, adding the 21610useTelnet and gateway resources, and miscellaneous code cleanup, bug 21611fixes, and documentation.) Many thanks to John for writing and 21612contributing the initial version of this code. 21613 21614Fri Oct 30 20:16:40 PST 1992 (patchlevel 25) mann@src.dec.com 21615 21616* gnuchess now castles by sending us "o-o" or "o-o-o" (starting with a 21617preliminary version of 4.0.pl60 that I have). Added code to handle 21618this. The old format ("e1g1", etc.) still works too. 21619 21620* Added code to format moves in normal abbreviated algebraic notation 21621(for example, e4, exd4, f8Q, Nf6, 0-0) instead of coordinate algebraic 21622(for example, e2e4, e3d4, f7f8q, g1f6, e1g1). Moves entered with the 21623mouse or received from gnuchess are translated into this canonical 21624format for display on the message line or in saved game files. Moves 21625read from game files are not translated, however; they are shown and 21626saved just as they appear in the file. 21627 21628Mon Sep 14 13:19:01 PDT 1992 (patchlevel 24) mann@src.dec.com 21629 21630* It's not really correct to write an ep capture of a pawn on e5 as 21631fxe5; this should be written as fxe6 because e6 is where the capturing 21632pawn ends up. Nevertheless, the parser now interprets fxe5 as the ep 21633capture f5xe6 unless there is a pawn on f4, in which case it 21634interprets fxe5 as f4xe5. By design, the parser does not flag fxe5 as 21635ambiguous if there are pawns on both f4 and f5; instead it prefers the 21636more legitimate f4xe5 interpretation. 21637 21638* A move like fxe6 or fe6 is now interpreted as an e.p. capture of the 21639pawn on e5 if there is one there and e6 is empty. 21640 21641* A move like fxe5 can no longer be interpreted as an e.p. capture if 21642there isn't a pawn on e5 to be captured. Previously this could happen 21643erroneously if there were pawns on both f4 and f5, and the f4 pawn was 21644capturing a piece on e5. 21645 21646* The parser no longer munges the move it is parsing; in the past, for 21647instance, it would remove the "x" from a move like dxc5 before echoing 21648it to the screen. 21649 21650* The parser now detects when a move is ambiguous and returns an 21651error, instead of arbitrarily choosing one possibility as it used to. 21652 21653Mon Aug 10 18:40:47 PDT 1992 (patchlevel 23) mann@src.dec.com 21654 21655* Added code so parser can handle fully qualified algebraic, e.g., 21656Ng1-f3, N/g1-f3, Ng1f3, or even Pe2-e4. The "P" and "/" work only for 21657fully qualified moves, not generally. 21658 21659* Fixed parser bugs in handling moves with rank or file disambiguator, 21660e.g. N1f3 or Ngf3. 21661 21662Mon Jul 6 17:55:32 PDT 1992 (patchlevel 22) mann@src.dec.com 21663 21664* AIXV3 patch from Tom McConnell; thanks! 21665 21666* After hitting the Backward button we see the last move made instead of 21667the word "Pausing" displayed. 21668 21669* Fixed a couple of problems compiling on IRIX; thanks to Michel Arsenault 21670and Alan Walsh for bug reports and help with fixes. 21671 21672* Added optional display of algebraic notation coordinates along left and 21673bottom edges of board. This was inspired by some code from Jean-Christophe 21674Engel; thanks! 21675 21676* Swapped EditPosition and Pause buttons to reduce danger of losing the 21677game in progress by hitting EditPosition when you wanted Backward. Thanks 21678to Ove Lundberg for complaining (though it bugged me too). 21679 21680* Despite one complaint, I kept the feature of changing both clocks when black 21681makes time control, rather than changing each individually when the player 21682involved makes it. This is to avoid having it look like White is way ahead on 21683time while Black is thinking about the last move of the time control period 21684(i.e., when White has made time control but Black hasn't yet). 21685 21686* Corrected clocks to work as in real tournaments. Time is *added* when you 21687reach time control; previously the clocks were simply set to the length of the 21688new time period. Also, when a player's flag falls, he still does not receive a 21689new time allotment at the next time control, but his opponent does still 21690receive more time if *his* flag has not fallen; previously, time controls were 21691ignored for both players if either flag fell. I forget who reported this bug. 21692 21693* Added a small ESIX patch from Kayvan Sylvan. 21694 21695Mon Jun 22 13:24:38 PDT 1992 (patchlevel 21) 21696 21697* Added some SVR4 support code from Ronald Cole. It's Greek to me. 21698 21699* Note: Stephen Meatheringham reports a bug causing xboard to crash with an 21700error from the X server when run on a Sun Sparcstation IPX with Solaris 1.0.1 21701and OpenWindows 3.0. This bug has not been tracked down yet. 21702 21703* Fixed a problem with ATTENTION code. On some operating systems, you have to 21704be even more cautious about when you send a SIGINT to gnuchess, because the 21705signal handler gets deinstalled each time it is used, and gnuchess does not 21706reinstall it immediately. In particular, if you send a SIGINT and make an 21707illegal move or ask for a hint, gnuchess does not reinstall the handler until 21708*after* you make your next move, so you had better not send a SIGINT before 21709it. I put a workaround for this case into xboard; I hope there are no more. 21710 21711* The ATTENTION code is needed when compiling for the ESIX operating system, 21712because ESIX has a bug in the FIONREAD ioctl, so the code in gnuchess that 21713lets you interrupt its thinking on your time just by typing in your move does 21714not work. Perhaps gnuchess will have a workaround for this eventually. 21715 21716* Fixed yet another bug in using XtGetValues; code to inhibit shell resizing 21717was leaving a null pointer as the place to store the current sizes. 21718 21719* Man page fixes: corrected -sl to -sd, updated LIMITATIONS. 21720 21721* Added include of <sys/time.h> conditional on HAS_GETTIMEOFDAY. I hope this 21722works for all systems; on mine, <time.h> and <sys/time.h> are the same file, 21723but with an #ifndef that makes it harmless to include both. 21724 21725* Thanks for reports from Mike Pearlman, Stephen Meatheringham, Kayvan Sylvan, 21726d87-mal@nada.kth.se, Urban Koistinen, and Ronald Cole. 21727 21728Mon Jun 8 11:39:18 PDT 1992 (patchlevel 20) 21729 21730* Documented default value of initString and explained what it means. This 21731paragraph also serves to inform the user that xboard by default will tell 21732gnuchess to think on his time, something one user apparently didn't understand. 21733 21734* Redid -searchDepth (formerly -searchLevel) and -searchTime code. They both 21735work correctly with gnuchess 3.1 now. The -searchDepth option also works 21736correctly with gnuchess 4.0. The -searchTime option does not work with 21737gnuchess 4.0.pl50 or earlier because those gnuchess versions do not have a 21738working searchTime feature. Instead of having xboard do a half-baked emulation 21739of this feature by using a 1-move time control, I will be submitting a patch to 21740the gnuchess folks to restore the feature as in 3.1. 21741 21742* Improved clock code. It now keeps accurate track of fractional seconds of 21743clock running time, if your system has gettimeofday(); if not, it is generous 21744about them---if a clock has been going for n.m seconds when it is stopped, only 21745n seconds are charged. Previously, xboard would charge one second immediately 21746when a clock was started, so if n.m had elapsed when it was stopped, n+1 would 21747be charged. This should stop xboard from thinking gnuchess has let its flag 21748fall on the last move of a time control, as it often did before. I also 21749improved the comments and condensed the code a little. I hope there are no 21750systems that have X11 and don't have gettimeofday(), but if there are, I'd like 21751to know what to replace it with. 21752 21753* "Flag dropped" messages now show up on the top line, beside the clocks, so 21754that they don't obscure more interesting messages on the second line. 21755 21756* Fixed confusion of NULL and '\000'. 21757 21758* Include time.h to get ctime() declaration. 21759 21760* Fix to "parser bug" messages in parser.l. 21761 21762* Changed code to work with old-fashioned tolower() macro that requires its 21763argument to be an uppercase letter. 21764 21765* Minor fix to some usage error messages; was reversing program name and 21766erroneous argument value. 21767 21768* Thanks to Mitch Wright, Ranier Orth, and Henrik Schmiediche for bug reports. 21769 21770Fri Jun 5 13:06:08 PDT 1992 (patchlevel 19) 21771 21772* Note: xboard does not seem to work when compiled with gcc 1.40 on a 21773PS/2 running AIX. It crashes at the sscanf in line 768 of xboard.c. 21774You can work around the problem by specifying the -timeControl option 21775on the command line instead of defaulting it. This does not seem to 21776be a bug in xboard itself; it runs okay on PS/2 AIX when compiled with 21777MetaWare High C. [But see 2.1.pl8 above.] 21778 21779* Removed bogus files from distribution. 21780 21781* Changed variable name that conflicted with SVR4 ttyname function. 21782 21783* Thanks to Christoph Strozyk for another bug report, and to several 21784of the folks mentioned under patchlevel 18 for testing it. 21785 21786Wed Jun 3 17:50:37 PDT 1992 (patchlevel 18) mann@src.dec.com 21787 21788* Added an include of sys/fcntl.h to pick up the definition of O_RDWR for 21789System V users. 21790 21791* Fixed a bug in CatchPipeSignal; was testing the wrong variable to determine 21792which chess program got the signal. 21793 21794* Removed the declaration of strrchr, which was causing problems for some 21795people, and added an include of <string.h> or <strings.h> instead. 21796 21797* Fixed a bunch of type errors uncovered by compilers that check more carefully 21798than the one I was using. I just patched many of them with casts---typically 21799cases where a function didn't take the same number and type of arguments as the 21800X header file prototype said it should---because I didn't see any other way to 21801fix them. The versions of the X header files that I have don't actually have 21802full prototypes for these function types; they declare only the return type and 21803just give the argument types as comments. 21804 21805* InitChessProgram returns immediately if chess program died while we were 21806waiting for it to say "Chess". I think this fixes a bug that could make xboard 21807crash or go into an infinite loop printing "Warning: Select failed; error code 218089" if gnuchess crashed there. 21809 21810* Removed code that tries to put the file descriptor used to read messages from 21811gnuchess into nonblocking mode. I don't see how this kludge could ever have 21812fixed the problem it was intended to (see below), and it seemed to be causing 21813a race condition when we were waiting for the initial message from gnuchess 21814after it started up. 21815 21816* Thanks to Richard K. Lloyd, Konstantinos Konstantinides, Mark 21817Seiden, Erik Schoenfelder, Andreas Stolcke, Rainer Orth, Henry Thomas, 21818and Kris Van Hees for bug reports and help with fixes. 21819 21820Sun May 31 08:00:00 PDT 1992 (patchlevel 17) Bart Massey bart@cs.uoregon.edu 21821 21822* 'xboard' suffered from a couple of serious bugs. An initial 21823 size needed to be given to the message label to avoid a race 21824 condition (!) so I gave it some text (otherwise occasionally 21825 xboard would fail because the message widget was 0 width under 21826 MIT X11R4). The sizes needed to be Dimension, not int, because 21827 they were written in by Xt -- on my big-endian box Dimension 21828 is short, causing chaos. Also, I hacked a declaration in for 21829 strrchr() to shut the compiler up -- this is arguably a kludge, 21830 but I couldn't think of anything better; maybe you can. 21831 21832Fri May 22 13:40:50 PDT 1992 (patchlevel 16) 21833 21834* First real (non-beta) release of version 2.0. 21835 21836* Added GNU copyleft notices covering version 2.0 enhancements. 21837 21838Thu May 21 12:30:09 PDT 1992 (patchlevel 15) 21839 21840* Removed -g from Imakefile. 21841 21842* Added casts in parser.l to prevent warning messages from some C compilers. 21843 21844* Bugfix: code to exit if chess program couldn't be started had bug in error 21845message printing. 21846 21847Tue May 19 11:58:06 PDT 1992 (patchlevel 14) 21848 21849* Fixes one small bug: If LoadGame does not find a game in the file, it resets 21850xboard to BeginningOfGame mode (as if the Reset button was pressed), instead of 21851leaving it in LoadGame mode. 21852 21853Mon Apr 13 18:32:27 PDT 1992 (patchlevel 13) 21854 21855* Improved error handling when gnuchessx crashes. Now displays a message and 21856enters EndOfGame state without exiting. This should help with diagnosing 21857gnuchessx problems, since the position and move history are not lost. 21858 21859* Debugged man page. 21860 21861Version 2.0 -- Thu Apr 2 16:04:54 PST 1992 (patchlevel 12) 21862 21863* Added small 40x40 pixel pieces; board size now specified as small, medium, or 21864large. 21865 21866* Improved man page. 21867 21868* Saved position files now say "white to play" if it's white's move. 21869 21870* SavePosition while in EditPosition mode now gets side to play right. 21871 21872* Made "Pawn" the default on edit position menus. 21873 21874* Removed "To play" from edit position menus, since it's redundant. Left 21875support code in so it can be restored if someone wants it. 21876 21877* Tightened parser's definition of a move number to help further with skipping 21878over stuff before the first move. 21879 21880* Put back feature of skipping over stuff in game files before a start of game 21881marker. This helps when loading electronic mail messages that have things 21882like "00" in the header (looks like castling), or that talk about moves in 21883running text before the actual game score. Tradeoff is that we can't load 21884games that don't either have move numbers or say "gnuchess game" just before 21885the moves. 21886 21887* Changed version number to 2.0 because others have used "1.3" for patched 21888versions of 1.2. Display version number and patchlevel at startup. 21889 21890Thu Apr 2 15:30:22 PST 1992 (patchlevel 11) 21891 21892* Bugfix: Match started with TwoMachines button now handles the case where 21893user loaded/edited a position *and* forced some moves. 21894 21895* added error message feedback to many cases where the user's button press is 21896rejected because it isn't allowed in the current mode. 21897 21898* added -noChessProgram option to allow use as a passive chessboard without 21899gnuchess, replacing old buggy scheme that tried to do this automatically when 21900gnuchess was not found on the search path. 21901 21902* parser accepts "=" in front of promotion piece 21903 21904* parser accepts ":" notation for captures 21905 21906* Removed SwitchSides button to make room for EditPosition. Left code in 21907place, ifdef'ed out. 21908 21909* Added EditPosition mode. 21910 21911* Reformatted xboard.c to eliminate long lines. 21912 21913* Promotion popup now appears near rank to which pawn is moving. 21914 21915* UI improvement: Button representing current program mode is kept highlighted. 21916 21917* Bug fix: Hint button is now disabled when machine is on move. 21918 21919Sat Mar 21 14:57:37 PST 1992 (patchlevel 10) 21920 21921* TwoMachines now works from MachineWhite or MachineBlack mode. 21922 21923* ForceMoves and Backward/Forward now work at the end of a game started by 21924the TwoMachines button. 21925 21926* Sends o-o or o-o-o to gnuchess instead of O-O or O-O-O. 21927 21928* Bug fix: SwitchSides button is now disabled when machine is on move. 21929 21930* Added -searchLevel option and corrected handling of -searchTime to reflect 21931the way gnuchess really handles command line options instead of what the 21932documentation used to say. Allowed optional ":seconds" on times. 21933 21934Tue Mar 17 21:00:35 PST 1992 (patchlevel 9) 21935 21936* Removed non-working code that tried to recover when a remote chess program 21937could not be started; now exits with a message instead. 21938 21939* Now waits for chess program to print its first message (normally "Chess") 21940before sending it any commands. 21941 21942* Matches between two machines can now start from a black-to-play position or 21943black-to-play opening. 21944 21945* Bug fix: The program would sometimes lose track of the board position after 21946the end of the game, drawing a board full of white pawns next time it got an X 21947redraw request. Now fixed. 21948 21949* Cleaned up handling of illegal moves in game files. Now we just stop reading 21950and go into ForceMoves mode. 21951 21952* Saved games against gnuchess indicate who won (restored and debugged 1.2 21953feature). 21954 21955* Setting -searchTime turns off -clockMode. 21956 21957* My trick for setting up a black-to-play position broke in the transition from 21958gnuchess 3.1+ to 4.0. Installed a different trick that works with both. 21959 21960* Bug fix: Was clobbering memory by mallocing one byte too few for the file 21961name in SetupPositionFromFileProc. This usually resulted in a crash on the 21962second attempt to load a position from a file. 21963 21964Mon Mar 16 16:49:00 PST 1992 (patchlevel 8) 21965 21966* Game and position files are saved in CHESSDIR as well as loaded from there. 21967We actually chdir there, so gnuchess listing files also wind up there. 21968 21969* Underpromotion moves from gnuchess really work now. 21970 21971Sat Mar 14 14:55:24 PST 1992 (patchlevel 7) 21972 21973* Cleaned up lots of bugs and kruft in parser.l. It's a wonder the old version 21974worked at all. Improved rejection of random text interspersed with the moves. 21975 21976* Relabeled buttons to reduce confusion (Play From File --> Load Game; 21977Setup From File --> Load Position). 21978 21979* Bug fix: Doesn't exit at the end of a game that was started by pressing 21980the Two Machines button. 21981 21982* Bug fix: Doesn't get confused if you hit Machine Black (White) while 21983the machine is already playing black (white) and is on move. 21984 21985* Prints "White to play" or "Black to play" after loading a position file. 21986 21987* Bug fix: No longer hangs if no start-of-game is found in a game file. 21988 21989* More permissive about game file format. The first line is not assumed 21990to be a header comment unless it starts with "#". We don't insist on 21991seeing a "1." before the first move. 21992 21993* Added pop-up dialog to allow underpromotion. Moving a pawn to the last rank 21994pops up a dialog to let you select what piece to promote to. Also added code 21995to handle underpromotion moves from gnuchess or from a game file correctly. 21996 21997* Added code to send SIGINT to gnuchess before trying to move, if gnuchess 21998might be busy thinking on our time. The code is ifdef'ed out because it's 21999not necessary; only beta-test versions of gnuchess 4.0 at patchlevel 19 or 22000below require it. 22001 22002Mon Feb 24 20:10:22 PST 1992 22003 22004* Merged fixes received from Stuart Cracraft and Mike McGann, to iconic mode 22005and to ShutdownChessPrograms. (They both sent the same fixes.) I did not 22006install the change that removed "easy" from the initialization string, so 22007xboard will still try to run gnuchessx in "hard" mode (thinking on opponent's 22008time) by sending this command. 22009 22010Version 1.3 -- Thu Dec 19 18:19:00 PST 1991 mann@src.dec.com (Tim Mann) 22011 22012* I've fixed a slew of bugs in this version of xboard: 22013 22014* You can now back up from the end of a game, even if gnuchess was playing 22015against you. Since gnuchess exits upon mate or draw (when it's not in force 22016mode), this feature works by starting up a new copy of gnuchess and feeding it 22017the saved starting position and moves. Drawback: the new gnuchess starts with 22018clocks at the beginning of a fresh time control. 22019 22020* Note: the "force" command to gnuchess is a toggle. I fixed a couple of 22021places in xboard where "force" was being issued when gnuchess was already in 22022force mode, which resulted in chaos. I don't know if they were in 1.2 or if I 22023added them myself in the course of putting in new features. 22024 22025* ForceMoves button is now legal in PlayFromFile mode. It closes the game file 22026and lets you force moves (or go Backward) from whatever position you've 22027reached. 22028 22029* The parser now recognizes "white resigns" and "black resigns" (in any 22030combination of upper and lower case, with or without the closing "s"). These 22031used to be misinterpreted as meaning "white wins" or "black wins" respectively! 22032Added "1 - 0" and "0 - 1" as equivalents for "1-0" and "0-1". 22033 22034* I removed the parser feature of considering "!" as a comment delimiter. 22035"!" is so common as an annotation in game scores that this feature seems like a 22036very bad idea. 22037 22038* Added a wait() after each successful call to kill() to avoid leaving zombie 22039processes around. 22040 22041* Removed the feature of putting an indication of how the game ended into the 22042internal move list when playing from a file. The only benefit of this was that 22043it would get written back out if you saved the game at that point. This 22044feature doesn't seem too useful, since you are unlikely to save a game you've 22045read in without making any changes, and it caused a lot of problems in the code 22046and user interface. The end condition is still displayed as a message when 22047it's first read in from the file. End conditions when playing against gnuchess 22048are still saved, too. 22049 22050* programName is now the last file name component of argv[0], not all of it. 22051 22052* xboard.c got three compiler warnings due to arguments that didn't match the 22053prototypes on X toolkit functions. I got rid of them by adding some casts, and 22054adding extra unused arguments to the ReceiveFromProgram function. 22055 22056* As I received it, the distribution had an extra period glued on the front 22057of every line that started with a period. This broke the manpage in an 22058obvious way. It also broke parser.l in a nonobvious way that stopped 22059PlayFromFile from working. 22060 22061* Fixed one or two bugs where the clock was started when it shouldn't have 22062been. I think one example was if you tried an illegal move in ForceMoves mode. 22063 22064* Now starts the machine's clock if you hit MachineWhite when white is on move 22065or MachineBlack when black is on move. 22066 22067* Now updates the to-move indicator (highlight on clock display) when you use 22068Forward/Backward or ForceMoves. 22069 22070* gnuchess 3.1+ has a bug that makes it try to think on its opponent's time 22071even when in force mode; this causes problems with xboard's SetupFromFile 22072command because gnuchess's saved hint move is garbage after the new position is 22073loaded, so gnuchess prints out an error message when it tries to think about 22074what it would do if the user made this move. Here is a patch for gnuchess 220753.1+: 22076 22077*** nondsp.c~ Mon Dec 2 12:37:18 1991 22078*-- nondsp.c Thu Dec 19 15:36:06 1991 22079*************** 22080*** 1223,1229 **** 22081 ok = flag.quit = false; 22082 player = opponent; 22083 ft = 0; 22084! if (hint > 0 && !flag.easy && Book == NULL) 22085 { 22086 fflush (stdout); 22087 time0 = time ((long *) 0); 22088*-- 1223,1229 ---- 22089 ok = flag.quit = false; 22090 player = opponent; 22091 ft = 0; 22092! if (hint > 0 && !flag.easy && Book == NULL && !flag.force) 22093 { 22094 fflush (stdout); 22095 time0 = time ((long *) 0); 22096 22097* SavePosition/SetupFromFile now handle black-to-play positions. If it's 22098black's move in a saved position, the line "black to play" is printed 22099immediately after the board display. Upon loading a position, xboard 22100looks for "black" at the beginning of this line to determine whether it's 22101black's move. 22102 22103* SetupFromFile now leaves you (effectively) in ForceMoves mode. This 22104eliminates some cases where the program would get into an inconsistent state, 22105and hopefully is more intuitive for the user, too. 22106 22107* PlayFromFile now leaves xboard in ForceMoves mode after playing through all 22108the moves in the file. You can use Backward/Forward, make moves, get gnuchess 22109to join the game with MachineWhite or MachineBlack, etc. The game file can end 22110with either white or black to play. 22111 22112* Backward/Forward now seem to work in all cases. Previously using these 22113buttons during a game against the machine would get xboard out of sync with 22114gnuchess's idea of what was going on, resulting in chaos. Now using these 22115buttons puts xboard in ForceMoves mode; you can bring gnuchess back into the 22116game using the MachineWhite or MachineBlack buttons. 22117 22118Thu Jun 27 15:06:25 PDT 1991 22119 22120 * Remove comment popups during a reset. 22121 22122 * Bug in my forward move fix. Didn't work for playgamefile mode. 22123 22124Thu Jun 20 15:04:06 PDT 1991 22125 22126 * Can't do a backward move when it isn't your turn because gnuchess 22127 gets confused. Similar bug for forward move. Do a bunch of moves, 22128 back up move and go forward. These get filtered out now. 22129 22130 * Put easy back into the initString. This DISABLES easy mode which by 22131 default is ON. 22132 22133 * New-line wasn't always being added to forward move strings sent to gnuchess. 22134 22135 * Parsed comments as [ ..............text follows ] into d7d5 22136 22137 * Long game file comments cause core dumps on HP systems. 22138 22139 * Multiple uses of the get positition file button got confused 22140 on the second click. 22141 22142 Minor fixes to the 1.2 release 22143 22144Version 1.2 -- Tue Jun 11 17:14:12 PDT 1991 22145 22146 * For version 1.2, Jeff Kenton, Richard LLoyd, David Jensen, Martin D., 22147 Bill Schmidt, Scott Hemphill, Paul Vaughan and Bill Shauck all found 22148 a lot of bugs that we put into xboard just to see if they were paying 22149 attention. They were. 22150 22151 * Changed the protocol that xboard uses to work with the new version of 22152 gnuchessr. 22153 22154 * There was an off by one error with the clock resetting code. Also, 22155 the clock display highliting was wrong. Thanks to Bill Shauck for 22156 pointing these out. 22157 22158 * enumerations are not really integers on some C compilers. I added casting. 22159 The new version of gnuchess expects the "go" command for two machine 22160 and machine plays white cases. The whiteString resource is for 22161 compatibility with previous gnuchess versions which get confused by go. 22162 Thanks to Martin D. for catching these. 22163 22164 * Fixed a bug where the checkmate message wasn't being parsed and xboard 22165 kept playing. Also, the message was added to game file if saved. 22166 Thanks to Scott Hemhill for pointing this out. 22167 22168 * Fixed a bug where saving a long game, resetting and saving a short game 22169 resulted in appending the end of the long game to the short one. 22170 If a game is just being played out and there is no reason for gnuchessr 22171 to be used, ignore pipe signals. This allows people to use xboard 22172 as a chess board without need for gnuchess. Also, trivially bad moves 22173 such as e2e2 are not passed on to gnuchessr but instead ignored out of 22174 hand. This allows people using xboard as a chessboard with gnuchessr 22175 to pick a piece up, think and put it back down without making a move. 22176 Thanks to Jeff Kenton for pointing these out. 22177 22178 * Added the CHESSDIR environment variable. Game and position files are 22179 found in this directory. If this variable is not declared, then the 22180 current directory is used. File names starting with / are treated 22181 specially. 22182 22183 * The bitmap file names were changed so that none exceeded 14 characters. 22184 This is necessary for R5. 22185 22186 fcntl(from_prog[0], F_SETFL, O_NDELAY); 22187 22188 The xboard fix was to set non-blocking i/o on the read pipe for gnuchessr 22189 22190 printz ("Illegal move (no matching move generated)"); 22191 22192 * fixed a problem with the new version of gnuchessr where xboard wasn't 22193 getting gnuchessr error messages for illegal moves. The problem seems 22194 to be fixed *without* any gnuchess changes but this is likely to be 22195 highly system dependant. There should be a new line on line 246 of nondsp.c 22196 22197 * -iconic doesn't work at all now. The Iconify() does work. This was 22198 a tradeoff and it is really an Xt bug. 22199 22200 * Fixed a compiler warning for gcc and an error for the IBM RT compilers. 22201 This is the VOID_PROC macro in xboard.h. Thanks to David Jensen for this. 22202 22203 * If the DisplayWidth or DisplayHeight is less than 800, use small size mode. 22204 Also the size of the name widget was reduced from 500 pixels to 400 pixels 22205 because in small size mode there was a gap on the right. 22206 Changed the default font from fixed to helvetica_oblique14 to: 22207 **-helvetica-bold-r-normal--14-*-*-*-*-*-*-* 22208 helvetica_oblique14 is a font alias not on all R4 systems. 22209 Curiously enough, the 17 point is not available on 75dpi systems 22210 and the 18 point font is not available on 100dpi systems. 22211 Thanks to Richard K. Lloyd for pointing these out. 22212 22213 * Minor hacks to work with R5 alpha. Had to add an event handler to the 22214 boardWidget to get translations to work. This may go away with the real R5. 22215 Added <Message>WM_PROTOCOLS: QuitProc() for R5 ICCCM compatibility. 22216 22217 * If the first character of the file is not `1' then the first line 22218 of a game or position file is displayed as the name in a label widget. 22219 22220 * Added a PopUp dialog for getting file names. 22221 22222 * Modified the code to use the R4 routines rather than R3 compatibility. 22223 22224 * Changed the forwards/backwards/readgamefile code to allow a play to step 22225 back and forth in a game. If he steps all the way to the beginning 22226 he has to restart the game. If he gets into a mated position, same problem. 22227 22228 * Moved the man page from xboard.1 to xboard.man. This makes imake man page 22229 installs work correctly. Thanks to Richard K. Lloyd for pointing this out. 22230 22231 * Corrected the queening code. XBoard was sending the wrong syntax. 22232 It was sending for example h8(Q) when it should have been sending h8q. 22233 Thanks to Paul Vaughan and Mike McGann for pointing this out. 22234 22235 * Added a lex parser for algebraic games. It should be easy to use the parser 22236 for other interfaces such as the Microsoft Windows version. 22237 It parses comments of the form [anything] and ! to the end of a line. 22238 22239Version 1.1 -- Mon Jan 7 14:46:03 PST 1991 22240 22241 * Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht, 22242 Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during 22243 beta-testing. 22244 22245 * older non-ANSI versions of Sun compilers complain vociferously. 22246 22247 * the remoteShell resource was added for HP-UX systems 22248 and other systems where the remoteShell isn't rsh. 22249 22250 * -iconic doesn't work properly. If XBoard is opened iconic then 22251 iconifying it later with a keystroke doesn't work. I think 22252 this is an Xt bug. 22253 22254 * For systems with smaller screens, XBoard can use smaller pieces, 22255 and a smaller board. -bigSizeMode False uses a smaller set of pieces. 22256 These are scaled versions of the large pieces. They look ok but could 22257 be improved. 22258 22259 * getlogin() does not work in all cases. 22260 It was replaced by getpwuid(getuid())->pw_name). 22261 22262 * Warning messages get displayed in the message box. 22263 22264 * Any button restarts a paused game. 22265 22266 * Kayvan Sylvan contributed a patch for ESIX. 22267 It seems that select() on pipes is broken on his system. We declined 22268 to incorporate his patch though, because it was a work-around for 22269 something that was broken on one system, and selfishly, that system 22270 was not my own. Nevertheless, it is likely that other System V users 22271 on PC's may need to use this patch and it is is included as the file 22272 ESIX.patch. To use it, type 22273 22274 patch xboard.c ESIX.patch 22275 22276 * Fixed a bug where hint didn't work. The local version of gnuchessr 22277 had been hacked. The fix was to clone stderr and stdout for gnuchessr. 22278 22279 * Fixed a bug where a player could play after a game had been finished. 22280 22281 * The bitmaps have been pushed into the bitmaps directory. 22282 22283 * Substantially rewrote and simplified the Two Machine code. 22284 22285 * Added StrStr() because many systems don't have this ANSI function. 22286 22287 * Added keyboard equivalents. Added an iconify keystroke, C or c. 22288 22289 * Works with gcc now. gcc complained about casting float constants 22290 as XtPointers. 22291 22292 * Detect if the visual doesn't support color. If so, run in monoMode. 22293 An alternative would be to detect grayscale visual and use a collection 22294 of gray user interface colors. 22295 22296 XBoard.clockMode: False 22297 22298 * For people who don't like or use chess clocks a clockMode switch 22299 has been added. It is on by default. It can be turned off in the 22300 .Xdefaults file with 22301 22302 * Added a declaration, xtVersion, which will quickly break on R3 Intrinsics. 22303 22304 * Hal Peterson contributed a new Imakefile. 22305 22306 * Rewrote DisplayClocks(). 22307 22308 * Rewrote TwoMachinesPlay mode. 22309 22310 * Konstantinos Konstantinides added the -searchTime option. 22311 22312 * Substantially rewrote and simplified the clock code. If a game was paused 22313 and then resumed, the clocks were out of sync. 22314 22315 * Fixed a bug in HandleUserMove() where the user could make a move while the 22316 machine was thinking. The fix detects and ignores these moves. onMove 22317 was not being used and was removed. 22318